编辑
2024-07-09
study
00
请注意,本文编写于 134 天前,最后修改于 99 天前,其中某些信息可能已经过时。

目录

前言
准备工作
配置
结语

vscode不能写cpp?cpu占用高?提示缓慢?那都是过去式了!快快抛弃垃圾微软开发的shit插件,拥抱LLVM的怀抱吧!

前言

N年前,vscode只有一个微软自家写的shit插件——C/C++,名字起的高大上,但实际上就是一坨shit,占用高,提示缓慢,项目一大就变成sb,垃圾的一,好在现在我们有了开源社区的救世主,LLVM!其中的clangd简直犹如人间太岁神,直接解决了上面微软插件的问题,并附带了相当多的好用功能比如clang-formatclang-tidy,可以说有了这个插件vscode能给人IDE一般的体验。

准备工作

首先你需要准备以下环境:

  • cmake
  • llvm(其中包含了clnagd等工具)
  • ninja(注意配置环境变量)

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. 终于有时间逐渐把陈年老文章发出来了......

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:xmmmmmovo

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 许可协议。转载请注明出处!