提问人:sancho.s ReinstateMonicaCellio 提问时间:10/13/2023 最后编辑:sancho.s ReinstateMonicaCellio 更新时间:11/1/2023 访问量:164
使用 C++ 在 Visual Studio Code 中禁用“代码分析”
Disable "Code analysis" in Visual Studio Code with C++
问:
(注意:这个编辑版本是原始 OP 的截断部分(保留在底部),在此正确注释之后。 还发布了两个单独的问题 1 和 2。所有这些都改善了SO。
我正在使用 C/C++ 扩展包从 Eclipse CDT 慢慢迁移到 VSCode。 我在 Ubuntu 22 下使用 g++。
在 Eclipse 中工作时,我习惯于在 VSC 中通过 g++ 进行编译/链接,并获取编译错误列表。
Eclipse CDT 有自己的代码分析工具。 这个工具对 C++ “了解得相当多”(尽管比编译器“少得多”),并在没有编译的情况下产生进一步的错误和警告,这些错误和警告会添加到上面的列表中。 但它有时会报告误报,其中没有什么可以修复的(至少在使用 g++ 编译时)。
为了避免这些错误污染列表,我可以关闭 CodeAn(我不知道 VSC 术语是否有名称)。 请注意,这仍然允许快速导航(错误列表)->(代码),它只删除 Eclipse 代码分析的错误报告,只保留实际的编译错误。
下面我将添加 Eclipse 中配置菜单的两个图像。向下滚动,CodeAn可以检测到许多其他情况。
我可以用 VSCode 执行此操作吗?请注意,我指的是 VSCode。禁用 VS 的 CodeAn 可能会有所不同。
原始问题(可能很快就会删除以减少混乱)
我有一个大型 C++ 包,带有自己的 CMake 文件。
请注意,在命令提示符下工作时,我使用 CMake 生成 s,然后使用 .
我不使用 ,例如
在 Eclipse 中工作时,我习惯于:makefile
make <flags> <target>
cmake --build
- 设置make目标,所以我双击编译/链接。
- 每当出现编译错误时,我都可以双击错误列表中的错误,直接转到产生错误的行。
Eclipse CDT 有自己的代码分析工具。 这个工具对 C++ “了解得相当多”(尽管比编译器“少得多”),并生成错误和警告列表,而无需编译。 但它有时会报告误报,其中没有什么可以修复的(至少在使用 g++ 编译时)。
- 为了避免这些错误污染列表,我可以关闭 CodeAn。请注意,这仍然允许导航代码,它只删除了 Eclipse 代码分析的错误报告。这是 Eclipse 中配置菜单的两个图像。向下滚动,CodeAn可以检测到许多其他情况。
[图片]
我可以用 VSCode 执行 #2 吗? 我用 json 文件为 #1(这可能是 #2 的先决条件)尝试了一些东西,但我无法让它工作。编辑:这个问题被分成了这里。我很快就会改编这个 OP。
答:
在带有 CMake Tools 扩展的 CMake 的情况下,(至少根据我的经验)行为已经是这样的。你可能会发现我的答案如何为 VS Code 中的 CMake 项目设置 C/C++ IntelliSense?很有帮助。
否则,只需禁用 Cpptools IntelliSense(settings.json 中),并将生成任务与问题匹配器(如提供的问题匹配器)一起使用。即使没有问题匹配器,VS Code 中的集成终端也支持几种常见的 file+line 模式,并将这些模式转换为链接,在按住链接修饰符(通常为 或 )时可以单击这些链接。"C_Cpp.intelliSenseEngine": "disabled",
$gcc
ctrl/cmdalt/opt
评论
makefile
make <flags> <target>
cmake --build
cmake --build
cmake --build
评论
filename:line