VS2019: 使用CMake工具链配置IntelliSense
一句话主题
从VS2019 v16.9 Preview 2版开始新增了一项改进:开发者可以根据CMake工具链文件设置的变量值在CMake工程中配置IntelliSense。
当使用CMake工具链文件进行配置和构建时,这项改进可以实现IntelliSense的自动化配置。
例如,Visual Studio现在可以使用Android工具链文件为CMake工程提供IntelliSense。
这些更改还将改善使用Visual Studio的IoT(交叉编译器)配置的嵌入式开发人员的IntelliSense体验。此支持建立在Visual Studio对CMake的本机支持的基础上,并且在Visual Studio 2019版本16.9 Preview 2中可用。
当使用GCC或Clang作为编译器时,Visual StudioVisual Studio做了如下的更改以处理CMake工具链文件。这些更改适用于本地Windows配置以及针对远程Linux系统或WSL的配置。Visual Studio将智能分析以下变量,以获取其他IntelliSense信息。
1. 如果CMake工具链文件定义了CMAKE_CXX_COMPILER和CMAKE_C_COMPILER并将其值写入CMake缓存,则Visual Studio将向这些编译器查询预定义的DEFINES列表和包含搜索位置的列表。
2. 如果CMake工具链文件定义了CMAKE_SYSROOT并将该值写入CMake缓存,则Visual Studio将在确定编译器定义和头文件时传递值(-sysroot = )。如果在CMake缓存中找不到此变量,则Visual Studio接下来检查是否定义了sysroot环境变量,并改用它。
3. 如果CMake工具链文件定义了CMAKE_C_COMPILER_TARGET和CMAKE_CXX_COMPILER_TARGET并将值写入CMake缓存,则Visual Studio还将把这些值传递给编译器(-target = <值>)。
请注意,通过将CACHE 附加到set命令,CMake脚本可以将变量写入CMake缓存。
此外,以下选项已添加到CMakeSettings.json以启用进一步的IntelliSense配置。可以根据配置设置这些选项。
其他参数
AdditionalCompilerArgs
可用于显式添加在Visual Studio中,用来向编译器查询IntelliSense时要使用的参数。
useCompilerDefaults
可用于禁用将GCC/Clang编译器用于IntelliSense配置(默认为true)。这些选项适用于Windows,Linux和WSL配置。
总结
根据配置文件对Intellisense进行自动化配置,再一次解放开发者的双手。
也算一小进步。
最后
Microsoft Visual C++团队的博客是我非常喜欢的博客之一,里面有很多关于Visual C++的知识和最新开发进展。大浪淘沙,如果你对Visual C++这门古老的技术还是那么感兴趣,则可以经常去他们那(或者我这)逛逛。
本文来自:《Configure IntelliSense with CMake Toolchain Files in Visual Studio 2019 16.9 Preview 2》
- 下一篇: 说说程序开发者和用户之间的”军备竞赛”
- 上一篇: Visual Studio Code新增ARM支持
相关推荐
- 一年一度的CppCon,它又来啦
- Posted on 09月07日
- DNE LightWeight Filter导致的虚拟机ping不通的问题
- Posted on 09月26日
- 为什么图标的宽度总是8的倍数?
- Posted on 02月28日
- /3GB开关并不能映射一个3GB大小的内存
- Posted on 09月15日
评论已关闭。