Vscode 的 c++插件提示问题

110 天前
 PowerDi
代码在 IDE 里提示有错误时,已修复但还是提示修复前的错误提示。需要对项目进行编译后波浪线错误就会消失了,有时在编译前老以为自己写的还是不对。

印象中只有某台电脑才这样,而且电脑 Linux 都重装过了,还是有这样的问题
1776 次点击
所在节点    Visual Studio Code
16 条回复
flax5a98aa2
110 天前
我这边一直都是这样👀
proxytoworld
110 天前
我也是这样,改完之后还是有波浪线,要编译一下才没了
Cnming
110 天前
用的是默认的 cpptools 么,试试 clangd 呢
valord577
109 天前
长期用 clangd 根据 json 补全 速度比 cpptools 快很多 暂时没遇到你说的问题 建议捣鼓试试
wkla
109 天前
哪怕在 Visual Studio 里都会有这样的问题,这可能是微软的 intelli sence 通病?
exhades
109 天前
用 clangd 并且为项目生成 compile_commands.json 就 ok
nooneanyone
109 天前
用 clangd
ashong
109 天前
clangd 速度快,但是如果配合 cmake 只支持 makefile 和 ninja , 否则无法生成 compile_commands.json ,自己的类无法识别
PowerDi
109 天前
@flax5a98aa2 原来不是只有我是这样!
PowerDi
109 天前
@Cnming 是默认的 cpptools 。
PowerDi
109 天前
@valord577 根据 json 会用到 compile_commands.json 吗? cpp 工具也是可以支持这个的
PowerDi
109 天前
cpptools 我是一直启用了对 compile_commands.json 的支持,路径也配正确了。
valord577
109 天前
@PowerDi #11 对 就是 compile_commands.json 这个

cmake meson 可以直接生成 compile_commands.json

makefile autotools 可以搭配 bear 这个工具 bear -- make -j 也能生成 json
valord577
109 天前
@PowerDi #13 补充

如果是 linux apt 系列的发行版 可以直接添加 llvm-apt 源 apt install clangd-{version} 然后在 vscode 插件配置`clangd.path: /usr/bin/clangd-{version}`

如果 mac 的话 考虑 brew / windows vs installer 可以安装 llvm 工具链 (独立组件)

如果是 windows/mac 可以考虑这个脚本 进行静态编译 https://github.com/clangd/clangd/issues/514#issuecomment-2327754089
PowerDi
109 天前
@valord577 #13 我喜欢用 Name: C/C++ Definition Autocompletion 这个插件的补全功能,有时候头文件写了很多 Setter 函数,在 cpp 里直接输入.就能提醒补全命名空间跟形参,跟头文件对应。用 cpptools 时这个插件能用,用 clangd 好像会被自带的.给功能覆盖了,所以用一段时间就不用了
valord577
109 天前

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1069868

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX