我正在为cmake项目使用新安装的Visual Studio 2019。用于代码完成的智能感知(即函数和常量名称)可以正常工作。但是,文本编辑器中缺少红色的下划线语法错误(例如,缺少分号,错误的参数类型,未定义的变量)。
我在windows-msvc-x64
中将IntelliSense模式设置为CMakeSettings.json
,并使用Ninja作为默认cmake生成器。
如何在cmake项目中启用实时语法错误检测?这有可能吗?
答案 0 :(得分:1)
如何在cmake项目中启用实时语法错误检测? 这有可能吗?
请检查您是否获得了No Configurations
的{{1}}提示,该提示不支持Intellisense。
对于VS中的Cmake项目,当您向当前项目创建或添加新的xx.cpp
文件时,需要在xx.cpp
中定义源文件,然后重新生成CMakeLists.txt
, Intellisense可以支持Cmake cache
文件的所有功能。
解决方法:
因此,对于您的问题,假设您先在项目中创建了一个新的xx.cpp
文件,然后 first ,则应确保在第一个{{ 1}}文件,然后switch to the target view检查Test.cpp
文件是否在Test.cpp
级别之下。如果找不到像这样的CMakeLists.txt
级别的Test.cpp
:
右键单击项目=>生成高速缓存,如果成功,您将在ProjectName(executable)
下找到Test.cpp。而且只有当您在ProjectName(可执行文件)下找到Test.cpp
时,ProjectName(executable)
中的所有代码才能获得Intellisense的完全支持(即,缺少分号)。