vscode+msvc+cmake环境配置


title: vscode+msvc+cmake
top: 41
date: 2024-02-28 13:48:43
tags:

  • vscode
  • msvc
  • cmake
  • windows

categories:

  • c++

vscode

软件安装

  • 当前最新版本蓝奏云地址 vscode安装包 。其他版本及更新版本可浏览器搜索后下载。

插件推荐

  • C/C++

C++开发必选插件

  • cmake

cmake开发插件

  • Include Autocomplete

自动头文件包含

嗯,我这边include头文件,一直有红线提示找不到,修改launch.json后也没用,加了这个插件后就正常了

  • C/C++ Snippets

c++代码模版提示

  • Material Icon Theme

美化工具,文件列表显示带图标主题

  • GitHub Theme

美化工具,主题美化

vscode变量

变量功能
${workspaceFolder}项目所在目录的绝对路径,即vscode中当前工程的根目录
${workspaceFolderBasename}项目所在目录的目录名
${file}当前打开文件的绝对路径
${fileDirname}当前打开文件所在目录的绝对路径
${relativeFileDirname}当前打开文件的文件名
${cwd}任务运行器启动时的当前工作目录
${fileExtname}当前打开文件的扩展名
${lineNumber}活动文件中当前选定的行号
${selectedText}活动文件中当前选定的文本
${execPath}运行VS Code可执行文件的路径
${defaultBuildTask}默认构建任务的名称
${pathSeparator}操作系统用来分隔文件路径中的组件的字符

MSVC

  • 下载visual studio,配置C++相关环境

cmake

软件安装

  • camke-3.26.5蓝奏云地址 cmake安装包 。其他版本及更新版本可浏览器搜索后下载。
  • 配置系统环境变量*\bin

vscode + cmake + MSVC

vscode工程目录结构

demo
├── .vscode
│    ├── c_cpp_properties.json
│    ├── launch.json
│    ├── setting.json
│    └── tasks.json
├── main.cpp
└── CMakeLists.txt
  • main.cpp

    // main.cpp
    #include <iostream>
    
    void main()
    {
        std::cout << "Hello World" << std::endl;
    }
    
  • CMakeLists.txt

    # CMakeLists.txt
    cmake_minimum_required(VERSION 3.23)
    project(demo)
    set(CMAKE_CXX_COMPILER cl)
    set(CMAKE_CXX_STANDARD 17)
    set(CMAKE_GENERATOR_PLATFORM x64)
    
    add_executable(demo main.cpp)
    
  • .vscode/c_cpp_properties.json

    {
        "configurations": [
            {
                "name": "Win32",
                "includePath": [
                    "${workspaceFolder}/**",
                    "D:/install/major/vs2019/VC/Tools/MSVC/14.29.30133/include",
                    "D:/Windows Kits/10/Include/10.0.19041.0/ucrt"
                ],
                "defines": [
                    "_DEBUG",
                    "UNICODE",
                    "_UNICODE"
                ],
                "windowsSdkVersion": "10.0.19041.0",
                "compilerPath": "cl.exe",
                "cStandard": "c17",
                "cppStandard": "c++17",
                "intelliSenseMode": "windows-msvc-x64",
                "configurationProvider": "ms-vscode.cmake-tools"
            }
        ],
        "version": 4
    }
    
  • .vscode/launch.json

    {
        // Use IntelliSense to learn about possible attributes.
        // Hover to view descriptions of existing attributes.
        // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "name": "(Windows) Launch",
                "type": "cppvsdbg",
                "request": "launch",
                "program": "${workspaceFolder}/cmake-build/Debug/demo.exe",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${fileDirname}",
                "environment": [],
                "console": "integratedTerminal",
                "preLaunchTask": "cbuild"
            }
    
        ]
    }
    //1. program 为main.cpp编译成的二进制可执行文件,vscode F5后,会执行该二进制文件
    //2. args 为二进制可执行文件可接受的命令行参数
    //3. preLaunchTask 为预加载任务,在运行 program 前会在tasks.json中查找 label 为 cbuild 的任务
    //4. console 值为externalTerminal时会在二进制可执行文件运行时弹出windows bash窗口,值integratedTerminal则会用vscode窗口替代
    
    
  • .vscode/tasks.json

    {
        // See https://go.microsoft.com/fwlink/?LinkId=733558
        // for the documentation about the tasks.json format
        "version": "2.0.0",
        "options": {
            "cwd": "${workspaceFolder}"
        },
        "tasks": [
            {
                "label": "cbuild",
                "type": "shell",
                "command": "cmake",
                "args": [
                    "--build", "${workspaceFolder}/cmake-build",
                    "--target", "${workspaceFolderBasename}",
                    "-j", "4"
                ],
                "dependsOn":[
                    "build"
                ]
            },
            {
                "label": "build",
                "type": "shell",
                "command": "cmake",
                "args": [
                    "-DCMAKE_BUILD_TYPE=Debug",
                    "-S", "${workspaceFolder}",
                    "-B", "${workspaceFolder}/cmake-build"
                ]
            }
        ]
    }
    //1. options/cwd 为tasks的执行路径
    //2. label 为任务标签
    //3. command 为命令名称
    //4. args 为任务命令可接受参数,这个值也可以拼接在command后。如,
    // 		"command": "cmake -DCMAKE_BUILD_TYPE=Debug -S ${workspaceFolder} -B ${workspaceFolder}/cmake-build",
    // 		"args": [],
    //5. dependsOn 当前任务所依赖任务列表,也即在执行当前任务前会有限执行dependsOn列表内的任务,注意:列表内的任务默认时多个并发执行的
    

参考链接

[1] (vs code中的类似${workspaceFolder}的变量的解释-CSDN博客)

[2] vscode配置C/C++常用插件,亲测好用_vscode c/c++插件-CSDN博客

[3] 关于VSCode–1.36.1版本如何隐藏调试时出现的终端窗口_vs弹出很多终端-CSDN博客

[4] VSCode配置C++环境(Windows篇)

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!要在VS Code中配置MSVC的C/C++环境,可以按照以下步骤进行操作: 1. 首先,确保您已经安装了Microsoft Visual Studio(包括MSVC)并且已经设置好了相关的环境变量。 2. 打开VS Code,并安装C/C++插件,它由Microsoft提供。 3. 在VS Code中打开您的C/C++项目文件夹。 4. 在左侧的资源管理器中,单击打开一个C或C++源文件。 5. 在顶部菜单中选择“查看”(View),然后选择“命令面板”(Command Palette),或者使用快捷键Ctrl + Shift + P。 6. 在命令面板中,输入“C/C++: Edit Configurations(JSON)”并选择该选项。 7. 这将打开一个名为`.vscode/c_cpp_properties.json`的文件。在该文件中,您可以配置C/C++的编译器路径和其他相关设置。 8. 修改`c_cpp_properties.json`文件以包含以下内容: ```json { "configurations": [ { "name": "MSVC", "intelliSenseMode": "msvc-x64", "compilerPath": "C:/Path/To/MSVC/Compiler", "includePath": [ "${workspaceFolder}/**" ], "defines": [], "windowsSdkVersion": "", "configurationProvider": "ms-vscode.cmake-tools" } ], "version": 4 } ``` 请确保将 `"compilerPath"` 的值修改为您安装的MSVC编译器的正确路径。 9. 保存并关闭`c_cpp_properties.json`文件。 10. 在VS Code的顶部菜单中选择“终端”(Terminal),然后选择“新终端”(New Terminal),或者使用快捷键Ctrl + `。 11. 在终端中运行`msbuild`命令,如果一切配置正确,您应该能够成功编译和运行C/C++代码。 希望这些步骤能帮助您配置VS Code与MSVC的C/C++环境!如有任何疑问,请随时向我提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值