直接用 vscode clangd 插件的 fallback flag 设置,会让所有没 complie_commands.json
的文件都用这个 flag,然后 clangd 就会在打开 C 文件时哀嚎不支持这么玩
StackOverflow 的解决方案提到使用 clangd 的用户配置文件使用 If
判断文件名来 ComplieFlags Add
,又会覆盖 complie_commands.json
里指定的,然后遇到标准不符的 C++ 文件又会乱叫,麻了
直接 fallback flag 里设置 C++ 的 std 标准,然后在用户配置文件里用 If
判断文件名是否是 \*.c
然后 Remove CompileFlags 里的 -std=c++*
就行
clangd fallback flags:
1 |
|
clangd config.yaml:
1 |
|