Article

配置 VScode C/C++ 环境:CMake + Clangd + CodeLLDB

安装CMake的VScode插件:

alt text

安装clangd的插件:

alt text

创建项目:

mkdir project
cd project

配置CMakeLists.txt:

cmake_minimum_required(VERSION 3.10)
project(CC)

# 生成 compile_commands.json
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

# 设置 C++ 标准
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# 开启警告可以帮助 clangd 提供更好的静态检查建议
if(MSVC)
    add_compile_options(/W4)
else()
    add_compile_options(-Wall -Wextra -Wpedantic)
endif()

add_executable(${PROJECT_NAME} main.cpp)

# 开启调试模式,不推荐长期固定,但是方便
set(CMAKE_BUILD_TYPE Debug)

cmake build

cd build
cmake .. 

CodeLLDB:

alt text

alt text

以下是我的C/C++调试配置,可以做个参考:

launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug CC Project",
            "type": "lldb",
            "request": "launch",
            "program": "${workspaceFolder}/build/CC",
            "args": [],
            "cwd": "${workspaceFolder}",
            "stdio": [
                null,
                null,
                null
            ],
            "preLaunchTask": "CmakeBuild"
        }
    ]
}

tasks.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "CmakeBuild",
            "type": "shell",
            "command": "cmake",
            "args": [
                "--build",
                "${workspaceFolder}/build"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": "$gcc"
        }
    ]
}

之后在C++程序上打断点,就可以调试和监控变量了:

alt text

我们在上面的CMake文件中设置了调试模式,所以可以直接按下 F5 开始build和调试:

alt text

到此,初步的编程环境配置结束。