配置VSCode的C/C++语言功能

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 应该就能看到

 

 最后,享受语言功能吧:

 参考

 

 

https://github.com/microsoft/vscode-cmake-tools/issues/654#issuecomment-592983916

posted @ 2020-03-04 17:10  literalkernel  阅读(2827)  评论(0编辑  收藏  举报