vscode不能写cpp?cpu占用高?提示缓慢?那都是过去式了!快快抛弃垃圾微软开发的shit插件,拥抱LLVM的怀抱吧!
N年前,vscode只有一个微软自家写的shit插件——C/C++
,名字起的高大上,但实际上就是一坨shit,占用高,提示缓慢,项目一大就变成sb,垃圾的一,好在现在我们有了开源社区的救世主,LLVM!其中的clangd简直犹如人间太岁神,直接解决了上面微软插件的问题,并附带了相当多的好用功能比如clang-format
和clang-tidy
,可以说有了这个插件vscode能给人IDE一般的体验。
首先你需要准备以下环境:
vscode方面则需要安装以下插件:
然后就可以开始愉快配置了~
在vscode中,先想好是全局配置还是针对每一个项目进行配置。如果是针对全局配置,需要在settings
里面单独配置。而针对单个项目则需要在.vscode
文件夹(没有就自己新建一个)里面新建settings.json
文件,在其中对于需要的设置进行改写。
下面针对单独settings.json
文件给出实例和注释:
json "C_Cpp.errorSquiggles": "disabled",
"C_Cpp.intelliSenseEngineFallback": "disabled",
"C_Cpp.intelliSenseEngine": "disabled",
"cmake.generator": "Ninja Multi-Confg",
"cmake.configureSettings": {
"CMAKE_EXPORT_COMPILE_COMMANDS": 1,
}
// Clangd 运行参数(在终端/命令行输入 clangd --help-list-hidden 可查看更多)
"clangd.arguments": [
// 全局补全(输入时弹出的建议将会提供 CMakeLists.txt 里配置的所有文件中可能的符号,会自动补充头文件)
"--all-scopes-completion",
// 建议风格:打包(重载函数只会给出一个建议)
// 相反可以设置为detailed
"--completion-style=bundled",
// 跨文件重命名变量
"--cross-file-rename",
// 允许补充头文件
"--header-insertion=never",
// 输入建议中,已包含头文件的项与还未包含头文件的项会以圆点加以区分
"--header-insertion-decorators",
// 在后台自动分析文件(基于 complie_commands,我们用CMake生成)
"--background-index",
// 启用 Clang-Tidy 以提供「静态检查」
"--clang-tidy",
// Clang-Tidy 静态检查的参数,指出按照哪些规则进行静态检查,详情见「与按照官方文档配置好的 VSCode 相比拥有的优势」
// 同时开启的任务数量
"-j=16",
// pch优化的位置(memory 或 disk,选择memory会增加内存开销,但会提升性能) 推荐在板子上使用disk
"--pch-storage=memory",
// 启用这项时,补全函数时,将会给参数提供占位符,键入后按 Tab 可以切换到下一占位符,乃至函数末
// 我选择禁用
"--function-arg-placeholders=false",
// compelie_commands.json 文件的目录位置(相对于工作区,由于 CMake 生成的该文件默认在 build 文件夹中,故设置为 build)
"--compile-commands-dir=build"
],
从此以后,你就能感受到LLVM的强大了,提示和跳转几乎是秒跳,只能说伟大,无需多言。
P.S. 终于有时间逐渐把陈年老文章发出来了......
本文作者:xmmmmmovo
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 许可协议。转载请注明出处!