Intellisense在Visual Studio 2019中未显示cmake项目的语法错误

时间:2019-09-21 05:40:29

标签: c++ cmake intellisense visual-studio-2019

我正在为cmake项目使用新安装的Visual Studio 2019。用于代码完成的智能感知(即函数和常量名称)可以正常工作。但是,文本编辑器中缺少红色的下划线语法错误(例如,缺少分号,错误的参数类型,未定义的变量)。

我在windows-msvc-x64中将IntelliSense模式设置为CMakeSettings.json,并使用Ninja作为默认cmake生成器。

如何在cmake项目中启用实时语法错误检测?这有可能吗?

1 个答案:

答案 0 :(得分:1)

  

如何在cmake项目中启用实时语法错误检测?   这有可能吗?

请检查您是否获得了No Configurations的{​​{1}}提示,该提示不支持Intellisense。

enter image description here

对于VS中的Cmake项目,当您向当前项目创建或添加新的xx.cpp文件时,需要在xx.cpp中定义源文件,然后重新生成CMakeLists.txt, Intellisense可以支持Cmake cache文件的所有功能。

enter image description here

解决方法:

因此,对于您的问题,假设您先在项目中创建了一个新的xx.cpp文件,然后 first ,则应确保在第一个{{ 1}}文件,然后switch to the target view检查Test.cpp文件是否在Test.cpp级别之下。如果找不到像这样的CMakeLists.txt级别的Test.cpp

enter image description here

右键单击项目=>生成高速缓存,如果成功,您将在ProjectName(executable)下找到Test.cpp。而且只有当您在ProjectName(可执行文件)下找到Test.cpp时,ProjectName(executable)中的所有代码才能获得Intellisense的完全支持(即,缺少分号)。

enter image description here