在CMake配置编辑器中,它直接将VS的配置项映射至CMake工程的环境变量,例如CMake中的配置类型CMAKE_BUILD_TYPE。另外,还可以配置诸如vcpkg, rsync之类的工具。
Linux项目:头文件性能提升当我们在VS中针对一个远程Linux系统构建项目时,VS会自动从远程系统中拷贝头文件到Windows上,并通过IntelliSense功能,让我们感觉就像是在远程机器上开发一样。
在VS2019 v16.3 Preview 2中,远程头文件拷贝已经得到了优化并且可以以并行的方式进行。这个优化措施对于大型代码工程非常有作用,你无需再等上很长时间更新头文件了。具体例子,我们如果要构建MySQL Server这个开源库,初次头文件更新将比优化之前的版本快将近30%。
值得注意的是,这个改进同时适用于CMake Linux工程和MSBuild Linux工程。开发团队还打起了包票:后面关于Linux工程的IntelliSense改进已经在路上了,请大家Stay tuned。
对WSL的原生支持的改进在VS2019 v16.1中,开发团队官宣native support for C++ with WSL。这个特性可以在不添加远程连接或配置SSH的情况下直接对本机的WSL工程进行构建和调试。
新版本VS2019 v16.3 Preview 2中,开发团队增加了对MSBulid工程的并行构建支持。我们可以在VS中配置并行编译的最大数量,如下图所示:
同时,开发团队还添加了对WSL构建事件通知的新特性。通过使用这些事件,我们可以在编译前,链接前或者编译后添加自定义的命令行,从而对这些重要的构建时间节点进行自定义的处理。如下图所示:
其他已解决的问题
各位朋友在使用过程中如果发现任何问题或者有任何建议,都可以通过Developer Community联系到开发团队成员。
下面是在VS2019 v16.3中已经修正了关于C++跨平台开发的一些问题,供各位参考:
VS2019 wipes CMake build directory each time I touch CMakeLists.txt
CTest’s add_test passes incorrect number of arguments to command
CMake cache generation always deletes build directory if toolchain path has backslashes
CMake Targets View – Targets have no CMakeLists.txt if add_executable(/library) is called from a function defined in an included file
CMake MSVC_TOOLSET_VERSION is incorrect in Visual Studio 2019
VS API issue on CMake solutions in VS 16.2 Preview
总结