vscode+cmake高阶使用

文章目录

    • 一、cmake的基本设置
    • 二、使用预设文件对cmake的命令进行控制

关于vscode安装cmake的扩展以及构建一个简单的C++工程,网络上已经有很多教程了。这里不再叙述。本篇博客旨在记录一些高级的使用方法。

一、cmake的基本设置

打开vscode中camke Tools的相关设置vscode+cmake高阶使用_第1张图片

  • 勾选Cmake: Allow Comments In Presets File 和Cmake: Allow Unsupported Presets Versions,是cmake支持通过配置CMakePrestes.json来配置编译选项。这个功能不一定会用,但是可以提前打开。
  • 可以将这里设置为visible,从而让vscode的地步状态栏显示更多cmake配置相关的内容vscode+cmake高阶使用_第2张图片

二、使用预设文件对cmake的命令进行控制

普通的vscode+cmake的使用方法,在使用vscode状态栏的按钮进行cmake构建的时候,使用的是默认的命令,能够更改的参数也只有编译器,target等等。如果想要添加额外的参数,需要在task.json里和settings.json里进行配置,这种方式跨平台性很差,而且此时无法再使用vscode状态栏的按钮,因为在task.json里和settings.json里进行配置是vscode的特性,而不是cmake Tools插件的特性,此时状态栏的按钮仍然为默认的cmake指令。接下来是具体的配置方式

  1. 勾选Cmake: Allow Comments In Presets File 和Cmake: Allow Unsupported Presets Versions以后,重启vscode,下方状态栏会变成这样子在这里插入图片描述
  2. 配置settings.json
{
    "C_Cpp.default.configurationProvider": "ms-vscode.cmake-tools", //如果没有这一行, IntelliSense总是会默认使用debug,无视CMakePresets.json
    "cmake.useCMakePresets": "always", // 强制使用CMakePresets.json
    "cmake.buildDirectory": "${workspaceFolder}/build", // 默认构建目录(会被预设覆盖)
    "cmake.configureOnOpen": true
}
  1. 配置CMakePrests.json
{
    "version": 8,
    "configurePresets": [
        {
            "name": "linux-debug",
            "displayName": "Linux Debug",
            "binaryDir": "${sourceDir}/build",
            "generator": "Ninja",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
                "CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
            }
        }
    ],
    "buildPresets": [
        {
            "name": "linux-debug",
            "configurePreset": "linux-debug",
            "configuration": "Debug"
        }
    ]
}

配置完CMakePrests.json以后,可以通过下方的状态栏控制cmake执行什么样的命令。
关于CMakePrests.json的便利之处与其他高级功能,可以参考https://cloud.tencent.com/developer/article/2348379。

你可能感兴趣的:(vscode-cmake开发,vscode,ide,编辑器)