PowerDi

Vscode 的 c++插件提示问题

  •  
  •   PowerDi · Sep 3, 2024 · 3930 views
    This topic created in 797 days ago, the information mentioned may be changed or developed.
    代码在 IDE 里提示有错误时,已修复但还是提示修复前的错误提示。需要对项目进行编译后波浪线错误就会消失了,有时在编译前老以为自己写的还是不对。

    印象中只有某台电脑才这样,而且电脑 Linux 都重装过了,还是有这样的问题
    16 replies  •  2024-09-04 11:27:14 +08:00
    flax5a98aa2
    flax5a98aa2
    Sep 3, 2024
    1
    我这边一直都是这样👀
    proxytoworld
    proxytoworld
    Sep 3, 2024
    2
    我也是这样,改完之后还是有波浪线,要编译一下才没了
    Cnming
    Cnming
    Sep 3, 2024 via iPhone❤️1
    3
    用的是默认的 cpptools 么,试试 clangd 呢
    valord577
    valord577
    Sep 3, 2024
    4
    长期用 clangd 根据 json 补全 速度比 cpptools 快很多 暂时没遇到你说的问题 建议捣鼓试试
    wkla
    wkla
    Sep 3, 2024
    5
    哪怕在 Visual Studio 里都会有这样的问题,这可能是微软的 intelli sence 通病?
    exhades
    exhades
    Sep 3, 2024
    6
    用 clangd 并且为项目生成 compile_commands.json 就 ok
    nooneanyone
    nooneanyone
    Sep 3, 2024
    7
    用 clangd
    ashong
    ashong
    Sep 4, 2024 via iPhone
    8
    clangd 速度快,但是如果配合 cmake 只支持 makefile 和 ninja , 否则无法生成 compile_commands.json ,自己的类无法识别
    PowerDi
    PowerDi
    OP
    Sep 4, 2024
    9
    @flax5a98aa2 原来不是只有我是这样!
    PowerDi
    PowerDi
    OP
    Sep 4, 2024
    10
    @Cnming 是默认的 cpptools 。
    PowerDi
    PowerDi
    OP
    Sep 4, 2024
    11
    @valord577 根据 json 会用到 compile_commands.json 吗? cpp 工具也是可以支持这个的
    PowerDi
    PowerDi
    OP
    Sep 4, 2024
    12
    cpptools 我是一直启用了对 compile_commands.json 的支持,路径也配正确了。
    valord577
    valord577
    Sep 4, 2024
    13
    @PowerDi #11 对 就是 compile_commands.json 这个

    cmake meson 可以直接生成 compile_commands.json

    makefile autotools 可以搭配 bear 这个工具 bear -- make -j 也能生成 json
    valord577
    valord577
    Sep 4, 2024
    14
    @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
    PowerDi
    OP
    Sep 4, 2024
    15
    @valord577 #13 我喜欢用 Name: C/C++ Definition Autocompletion 这个插件的补全功能,有时候头文件写了很多 Setter 函数,在 cpp 里直接输入.就能提醒补全命名空间跟形参,跟头文件对应。用 cpptools 时这个插件能用,用 clangd 好像会被自带的.给功能覆盖了,所以用一段时间就不用了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2263 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 13:35 · PVG 21:35 · LAX 05:35 · JFK 08:35
    ♥ Do have faith in what you're doing.