0. 前言

主要是在网上找的方法都没试成功过,在各种机缘巧合下终于成功了。

这篇文章基于个人经验,而且没有走寻常路。

1. 需要的软件和插件

软件:

  1. VSCode (https://code.visualstudio.com/)
  2. LLVM (http://releases.llvm.org/download.html#9.0.0 选择Pre-Built Binaries)

为了方便使用,将 llvm 安装路径中子文件夹 bin 加入 PATH 环境变量,或者配置插件的时候注意一下 clangd 的路径

VSCode 插件:

  1. vscode-clangd (LLVm Extensions)
  2. CMake Tools (Microsoft)

2. 配置

2.1 配置 clangd

Clangd: Path

填写clangd的绝对路径,如果照上文修改了 PATH 变量(有用这个工具链的觉悟或者不怕麻烦)可以保持不变。

2.2 修改 CMake Tools 配置

由于clangd的参数:

--compile-commands-dir=<string> - Specify a path to look for compile_commands.json. If path is invalid, clangd will look in the current directory and parent paths of each source file.

要么是绝对路径,要么从工作目录开始往上找 compile_commands.json,然而 CMake Tools 默认在项目目录的 build 子目录中进行 CMake 的配置,该文件也在子目录中,这里我选择修改 CMake Tools 的配置,使得该文件拷贝到项目目录中(应该也是工作目录)

CMake: Copy Compile Commands 填写: ${workspaceFolder}/compile_commands.json

3. 使用功能

首先使用 CMake Tools 配置项目,生成 compile_commands.json

然后clangd下次启动就应该能找到这个文件,提供语言功能

重启一下脚本宿主(未验证)或者重启一下VSCode

按 Ctrl + Shift + P 然后输入 restart 应该就能看到

最后,享受语言功能吧:

最新文章

  1. 每天记一些php函数,jQuery函数和linux命令(三)
  2. git组成结构
  3. 工具武装的前端开发工程师 Mac 软件清单
  4. 纯后台生成highcharts图片有哪些方法?
  5. PHP加解密相关函数
  6. IT 名企招聘信息
  7. flex调用webservice中的datatable结果写入datagrid
  8. How-To: add EPEL repository to Centos 6.x is Easy!
  9. ArrayList ConcurrentModificationException
  10. Spring框架学习笔记(5)——自动装配
  11. 关于collectionView和tableView的两种cell的出列方法的区别
  12. STL rope
  13. Redis集群架构
  14. Java虚拟机详解----JVM内存结构
  15. centos安装RabbitMQ 3.7.9 (使用RPM)
  16. 将本地项目上传到gitlab下
  17. 安装google 框架
  18. numpy 初识(二)
  19. python部分重点底层源码剖析
  20. [svc]ip地址划分

热门文章

  1. Sqlite教程(4) Activity
  2. 为什么java的接口的方法是public abstract修饰?为什么属性是public static final 修饰?
  3. 1088. Rational Arithmetic (20)
  4. Ajax - XMLHTTP实例
  5. python开发常见应用第一卷(OS遍历文件并存储文件路径到数据库)
  6. Nginx 反向代理,IP、端口,项目路径变化的问题
  7. Yii框架的学习指南(策码秀才篇)1-1 如何认识Yii framework
  8. Create Access Point on Archlinux
  9. [LC] 95. Unique Binary Search Trees II
  10. 构造函数中可以进行if判断