VSCode & CMake & vcpkg 整合

VSCode 整合 CMake

调试 CMake 工程

json 复制代码
// launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            // Resolved by CMake Tools:
            "program": "${command:cmake.launchTargetPath}",
            "args": [],
            "stopAtEntry": true,
            "cwd": "${workspaceFolder}",
            "environment": [
                {
                    // add the directory where our target was built to the PATHs
                    // it gets resolved by CMake Tools:
                    "name": "PATH",
                    "value": "${env:PATH}:${command:cmake.getLaunchTargetDirectory}"
                }
            ],
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

传递 CMake Configure 参数

json 复制代码
// settings.json
{
    "cmake.configureArgs": [
        "-DHELLOCMAKE=ON"
    ]
}

设置 CMake 生成目录

json 复制代码
// settings.json
{
    "cmake.buildDirectory": "${workspaceFolder}/build_${buildKit}/${buildType}"
}

CMake 整合 vcpkg

  • VSCode 中配置 CMake 使用的工具链为 vcpkg :

    json 复制代码
    // settings.json
    {
        "cmake.configureSettings": {
            "CMAKE_TOOLCHAIN_FILE": "[vcpkg root]/scripts/buildsystems/vcpkg.cmake"
        }
    }
  • CMakeLists.txt 同目录下增加 vcpkg.json:

    json 复制代码
    // vcpkg.json
    {
        "dependencies": [
            "fmt"
        ]
    }
相关推荐
lixzest1 小时前
Vim 快捷键速查表
linux·编辑器·vim
TonyLee01720 小时前
Vscode+Cline插件使用(AI编程)
vscode·ai编程
熬夜不洗澡20 小时前
如何在pycharm中使用Yolo
ide·yolo·pycharm
全干工程师—21 小时前
在liunx下使用VScode检测到 #include 错误。请更新 includePath问题的解决方法
ide·vscode·编辑器
G018_star sky♬21 小时前
在vscode的终端上运行vue -V,会出现 : 无法加载文件 C:\Users\31772\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本。
vue.js·vscode·npm
2501_941664961 天前
面向微服务分布式限流与动态降级的互联网系统高可用设计与多语言工程实践分享
ide·emacs·visual studio
不染尘.1 天前
vscode远程连接centos
linux·vscode·centos·ssh
神码编程1 天前
【Unity】 HTFramework框架(六十九)Log在编辑器日志中自定义点击事件
unity·编辑器·游戏引擎
我送炭你添花1 天前
Pelco KBD300A 模拟器:第7篇. 宏脚本编辑器设计与解释器实现
python·ui·自动化·编辑器·运维开发