基于VS Code和clangd+CMake搭建C/C++开发环境

非学无以广才,非志无以成学。

目录

  • 一、目的
  • 二、WSL环境
  • 三、VS Code插件配置
  • 三、单文件项目编译与调试
  • 四、CMake环境配置
  • 五、代码整理:Clang-Format
  • 总结

一、目的

本文主要介绍在windows平台上使用WSL环境,基于LLVM工具链结合clangd代码分析,配置C/C++开发环境,在 VScode 上使用 clang 编译 、LLDB 调试和clangd自动补全可以提高编程效率。本文记录了笔者使用VS Code开发的配置环境,供大家参考。

二、WSL环境

在windows下建议安装WSL环境,可以自行google,安装比较简单的。 笔者使用WSL的ArchLinux系统。如何安装WSL+ArchLinux这里不赘述,可参考链接。
Win10平台安装WSL方法
ArchWSL下载与配置

三、VS Code插件配置

  1. 在本地安装Remote - WSL插件连接ArchLinux系统
    基于VS Code和clangd+CMake搭建C/C++开发环境_第1张图片

  2. vscode连接ARCH后,在WSL:ARCH环境安装clangd、CodeLLDB、CMake、CMake Tools、Doxygen Documentation Generator插件。
    基于VS Code和clangd+CMake搭建C/C++开发环境_第2张图片

  3. 注意在安装CodeLLDB的时候会报错,vscode会跳出链接,手动下载codelldb-x86_64-linux.vsix。在vscode调出命令窗口安装codelldb,windows平台快捷键ctrl+shift+p,选择Extensions: install from VSIX,选择刚刚下载的codelldb-x86_64-linux.vsix进行安装。

三、单文件项目编译与调试

  1. 首先创建launch.json文件,在工程目录下会出现.vscode文件夹,脚本内容如下,具体代码变量含义可以参考Variables Reference
{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug",
            "program": "${workspaceFolder}/build/${fileBasenameNoExtension}",
            "args": [],
            "cwd": "${workspaceFolder}",
            "preLaunchTask": "Build C++",
            "internalConsoleOptions": "neverOpen",
            "console": "integratedTerminal"
        }
    ]
}
  1. Ctrl+shift+p调出命令窗口选择Tasks: Configure Task,.vscode文件夹生产task.json文件,输入如下内容。
{
    "version": "2.0.0",
    "tasks": [
      {
        "type": "shell",
        "label": "Build C++",
        "command": "clang",
        "args": [
          "--std=c++20",
          "-g",
          "-Wall",
          "-o",
          "${workspaceFolder}/build/${fileBasenameNoExtension}",
          "${file}"
        ],
        "group": {
          "kind": "build",
          "isDefault": true
        },
        "detail": "Task generated by Debugger."
      }
    ]
}
  1. 注意在工程目录下创建一个build目录,之后便可以运行debug。

基于VS Code和clangd+CMake搭建C/C++开发环境_第3张图片

四、CMake环境配置

  1. ARCH系统安装CMake、Ninja(或make)
sudo pacman -S cmake
sudo pacman -S ninja
  1. CMakelists.txt配置,这里给出一个简单的示例
project(test)
cmake_minimum_required(VERSION 3.15.0)

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_EXTENSIONS OFF)

add_executable(${CMAKE_PROJECT_NAME} test.cpp)
  1. 调出控制命令,输入CMake: Configure,笔者使用的是Clang-13工具链,配置好后build
  2. CMake配置后不需要tasks.json文件,修改launch.json的“program”,删除““preLaunchTask”: “Build C++”, ”,参考CMake-Tools
  3. 点击vscode下面状态栏的all,选择当前要debug的项目,快捷键F5启动debug

五、代码整理:Clang-Format

  1. 在工程目录下创建一个.clang-format文件,具体配置可以参考clang-format
  2. 这里提供一个示例
BasedOnStyle: Microsoft
UseTab: Never
IndentWidth: 4
DerivePointerAlignment: false
PointerAlignment: true
AlwaysBreakAfterReturnType: None
AlwaysBreakTemplateDeclarations: true
AlwaysBreakBeforeMultilineStrings: true
AlignOperands: true
AlignAfterOpenBracket: true
AlignConsecutiveBitFields: true
AlignConsecutiveMacros: true
ConstructorInitializerAllOnOneLineOrOnePerLine: true
AllowAllConstructorInitializersOnNextLine: false
BinPackArguments: false
BinPackParameters: false
IncludeBlocks: Regroup

总结

以上就是今天要讲的内容,本文仅仅简单介绍了VS Code结合clangd+CMake的使用,欢迎留言讨论。

你可能感兴趣的:(工具使用,c++,编辑器)