目的
想要在 VScode 上使用 clang 编译 + LLDB 调试 + clangd 自动补全这一套工具链。
理由是上述工具链是比 gcc+gdb更新的工具链,在各方面都更好,如 clang 比 gcc 报错更友好等。而且 VScode 自带补全很捞,很难用,因此想用 clangd 代替。
可惜 LLDB 在今天(2021年12月)在 Windows 平台上并没有很好的支持,再考虑到很多代码都是 Linux 上跑的,不如直接配一个 Linux 环境,因此使用 WSL(Windows Subsystem for Linux)。
WSL 环境
WSL 安装可以自行百度,还是比较简单的。
在这里使用 WSL 的 Ubuntu 系统,本来想用自己移植的 openEuler 的,但是 openEuler 很多软件比较旧,因此用 Ubuntu。
环境:WSL of Ubuntu
操作系统版本:20.04.3 LTS (Focal Fossa)
安装工具链
当前工具链版本最新为 13,但是 20.04 版本的 Ubuntu 最新为 12,默认为 10。
安装版本 10
sudo apt install clang clangd llvm liblldb-dev
安装版本 12
我用的是最新 12 版本的
使用 update-alternative 来设置 clang 默认使用 12 版本
sudo apt install clang-12 clangd-12 llvm-12 liblldb-12-dev
可选:
如果你想后续均使用 12 版本,可以使用以下命令,默认将 clang 指向 12 版本。
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-12 100
sudo update-alternatives --install /usr/bin/clangd clangd /usr/bin/clangd-12 100
sudo update-alternatives --install /usr/bin/llvm-dis llvm-dis /usr/bin/llvm-dis-12 100
VScode 插件
必装:
- clangd
- CodeLLDB
选装:
- CMake
- CMake Tools
- Clang-Format
- Clang-Tidy
- Code Runner
CodeLLDB
这里安装后需要下载一个包,一般会超时。
- 查看自己架构,一般是 X86_64
uname -m
# x86_64
- 自己下载对应架构的包,下载链接
比如这里是 x86_64 ,直接在 WSL 里面运行以下命令下载
wget https://github.com/vadimcn/vscode-lldb/releases/download/v1.6.10/codelldb-x86_64-linux.vsix
- 手动安装,选择刚刚下载到的安装包。图片参考博客
配置 VScode
settings.json
按下 Ctrl+Shift+P,输入 setting,找到 WSL 的选项
粘贴以下配置:
{
// code runner
"code-runner.runInTerminal": true,
"code-runner.saveFileBeforeRun&