ccls
报错找不到标准库的header
vscode的ccls插件需要配置ccls.misc.compilationDatabaseDirectory
才能让它正常识别自定义header,需要根据cmake插件的build目录来设定,不过一般都是${workspaceRoot}/build
。
wrapper
根据wiki添加include,做个wrapper。
clang++ -xc++ -fsyntax-only -v /dev/null"
1 | % clang++ -xc++ -fsyntax-only -v /dev/null |
提取出关键路径(注意,最后一个不包含括号的内容):
1 | /usr/local/include |
写成wrapper放到PATH包含的路径里:
1 | !/bin/sh |
vscode-ccls插件配置
vscode的相关配置:https://github.com/MaskRay/ccls/wiki/Visual-Studio-Code。
-
ccls.launch.command
,可以直接设置成wrapper的路径。 -
高亮:将以下内容直接粘贴到settings.json里:
1
2
3"ccls.highlight.function.face": ["enabled"],
"ccls.highlight.type.face": ["enabled"],
"ccls.highlight.variable.face": ["enabled"] -
与微软官方的C++插件同时使用,也是粘贴到settings.json里:
1
2
3
4"C_Cpp.autocomplete": "Disabled",
"C_Cpp.formatting": "Disabled",
"C_Cpp.errorSquiggles": "Disabled",
"C_Cpp.intelliSenseEngine": "Disabled"
lint
brew安装cpplint和cppcheck。
vscode安装cppcheck插件,检查类型cpp-check-lint.cppcheck.--enable=
改成all
,同时设置cpp-check-lint.cppcheck.--suppressions-list=
为missingInclude(真找不到header的话ccls会报错,不需要static linter们报错)。
debug
用cmake来debug,要么在GUI中点击新建launch.js,要么自己在项目根目录新增文件夹.vscode,里面新建launch.json,然后就可以自定义什么运行参数之类的了。
1 | { |