首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用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》

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201211A0GZTU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券