当前位置: 首页 > article >正文

vscode+wsl2+bear+clangd配置教程

要在Windows下使用VS Code连接WSL 2中的Linux源码并实现Clangd功能,可按以下步骤操作:

1. 确保WSL 2和Linux发行版已安装并运行

  • wsl2安装教程参考网上资料,比较容易就能装好。

你可以通过Windows应用商店安装所需的Linux发行版,比如Ubuntu。安装完成后,在PowerShell中运行以下命令来确保WSL 2为默认版本:

wsl --set-default-version 2

2. 在WSL 2的Linux发行版中安装必要的工具

打开WSL 2中的Linux终端,安装Clangd和其他必要的开发工具:

  • 安装clangd: (如果此方法安装失败,参考“linux下clangd在线安装失败时解决办法”)
sudo apt update
sudo apt install clangd
如果以上命令执行时提示:E: Unable to locate package clangd
解决办法:
添加 LLVM 密钥:wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
添加 LLVM 软件源(Ubuntu 18.04(代号为 bionic)):sudo add-apt-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic main"
执行:sudo apt update
执行:sudo apt-get install clangd 
  • 安装bear
sudo apt install bear

3. 安装VS Code和WSL扩展

  • 在Windows上安装VS Code,之后在VS Code的扩展市场里安装“WSL”扩展

4. 通过VS Code连接到WSL 2

  • 打开VS Code。
  • 点击左下角的蓝色图标,在弹出的菜单里选择“连接到WSL”。
  • 这会开启一个新的VS Code窗口,该窗口已连接到WSL 2中的Linux环境。

5. 在WSL 2中打开项目文件夹

  • 在新的VS Code窗口中,使用“File” -> “Open Folder”打开WSL 2中的项目文件夹。

6. 安装Clangd扩展

在连接到WSL 2的VS Code窗口里,打开扩展市场,安装“Clangd”扩展。

7. 配置Clangd

在VS Code中,打开设置(可以通过“File” -> “Preferences” -> “Settings”,或者使用快捷键Ctrl + ,),点击vscode的右上角类似文件图标”打开设置json“.然后在弹出的settings.json大括号中添加如下内容

//---------------------------------clangd相关配置-------------------------------//
    // 指定 clangd 可执行文件的路径(如果在系统路径中可直接使用 "clangd""clangd.path": "/usr/bin/clangd",

    // 作为编译失败的备选标志,指定了包含文件夹的路径
    "clangd.fallbackFlags": [
        "-I${workspaceFolder}/include"
    ],

    // 配置 clangd 启动参数
    "clangd.arguments": [
        "--background-index",        // 启用后台索引
        "--compile-commands-dir=${workspaceFolder}",  // 设置编译命令文件夹
        "--all-scopes-completion",   // 允许在所有作用域中进行代码补全
        "--completion-style=detailed",  // 详细模式的代码补全
        "--clang-tidy",              // 启用 Clang-Tidy 静态代码分析
        "--log=verbose",             // 输出详细的日志信息
        "--pretty"                   // 漂亮的输出格式
    ],

    // 配置 CMake 构建目录
    "cmake.buildDirectory": "${workspaceFolder}/build",

    // 配置 CMake 构建环境变量,使其生成编译命令数据库
    "cmake.buildEnvironment": {
        "CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
    }
    //---------------------------------------------------------------------------//
  • 上面配置内容重点关注
    • "clangd.path :linux中clangd的安装路径
    • –compile-commands-dir :compile_commands.json文件的路径,此时位于${workspaceFolder}下

8. 生成编译数据库

Clangd需要一个编译数据库(通常是compile_commands.json文件)来理解项目的编译设置。你可以使用bear生成这个文件,在项目根目录下执行以下命令:

bear make  #此时生成的compile_commands.json文件就在项目根目录,vscode打开的文件夹目录

完成以上步骤后,重启VS Code就能连接到WSL 2中的 源码,并利用Clangd提供代码分析、自动补全、跳转定义等功能。


http://www.kler.cn/a/592902.html

相关文章:

  • 【Spark】查询优化中分区(Partitioning)和分桶(Bucketing)是什么关系?什么时候应当分区,什么时候应当分桶?
  • 【sgAutocomplete_v2】自定义组件:基于elementUI的el-input组件开发的搜索输入框(支持本地保存历史搜索关键词、后台获取匹配项)
  • flutter 专题 九十 四 Flutter开发之基础知识
  • xss注入实验(xss-lab)
  • 4.1-1 IS-NET-Pro视频转图片的插件
  • 在ASP.NET Core中使用NLog:配置与性能优化指南
  • vscode查看文件历史git commit记录
  • windows安装配置FFmpeg教程
  • 【C#】Winform调用NModbus实现Modbus TCP 主站通讯
  • LeetCode--2181. 链表--合并零之间的节点
  • 【AI测试必学】DeepSeek API 快速入门:获取 API Key 与调用 API 步骤详解
  • 麒麟服务器操作系统Go环境部署手册
  • 织梦DedeCMS后台发布文章增加“顶”和“踩”默认随机值,并可后台修改
  • Spring Boot 整合 Elasticsearch 实践:从入门到上手
  • 有效防止SSL证书被劫持的策略
  • 路灯安全用电解决方案
  • 力士乐XM42系统Profinet与安川机器人Ethernet/IP通讯转换配置
  • 从零实现B站视频下载器:Python自动化实战教程
  • [力扣]1631. 最小体力消耗路径(bool类型dfs+二分答案/记忆化剪枝/并查集Kruskal思想)
  • 如何用Python和Selenium实现表单的自动填充与提交?