VSCode+MSVC编写C/C++程序

本文详细介绍如何使用VSCode搭建C/C++开发环境,包括安装VSCode及其插件、配置MSVC工具集、编写代码、配置编译运行及调试任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、 安装软件

1.1 安装VSCode+中文插件

 1.2 安装C/C++插件

 1.3 安装MSVC工具集

1.3.1 下载

 1.3.2 安装

1.3.3 检查MSVC编译器

二、 编写代码

三、 编译运行

3.1 配置tasks.json

3.2 编译运行

 四、 调试

 五、 配置C/C++

六、 直接打开VSCode运行程序

七、 小结


按照微软官方链接操作,官方链接:Configure Visual Studio Code for Microsoft C++

需要安装的软件:VSCode、VSCode的中文扩展、VSCode的C/C++插件、Visual Studio 2019的构建工具。


一、 安装软件

1.1 安装VSCode+中文插件

VSCode下载链接:Download Visual Studio Code - Mac, Linux, Windows

VSCode及中文插件安装链接参考:VSCode详细安装教程 - 知乎.

我下载的是System Installer 64bit。根据自己电脑系统选择对应文件。


 1.2 安装C/C++插件

与安装VSCode的中文插件类似。打开VSCode,然后按Ctrl+Shift+X或者按下图操作,在搜索栏中填写【C/C++】,点击搜索到的第一个插件,点击,在右侧会出现该插件的详细信息,可以看到【安装】按钮,点击即可。 如果已经安装会显示【禁用】和【卸载】。


 1.3 安装MSVC工具集

1.3.1 下载

如果已经安装了VS2017及以上版本的VS IDE,转到1.3.3节。

如果没有安装VS2017及以上版本的VS IDE,但是准备安装,安装完成后转到1.3.3节。

如果没有安装VS2017及以上版本的VS IDE,又不想安装完整的IDE,可以只安装VS2019的构建工具(Build Tools for Visual Studio 2019)。

下载链接:Downloads - Visual Studio Subscriptions Portal

可以看到有很多版本的Build Tools for Visual Studio 2019,选择其中一个版本下载。

该页面需要登录后进入,如果显示以下界面,登录即可。

 1.3.2 安装

下载完成后双击打开(建议管理员模式),会出现如下提示,

 点击【继续】等待直到出现如下界面,选中【C++生成工具】,右侧默认,注意设置【安装位置】,这个位置后面有用,点击安装,要等一段时间(看网速)。安装完成后会提示重启计算机,重启电脑。 

1.3.3 检查MSVC编译器

在搜索栏输入【developer】,找到如下,建议以管理员模式打开【Developer Command Prompt for VS 2019】(适用于VS2019的开发人员命令提示符)。

 打开之后输入【cl】检查MSVC是否安装成功,出现如下界面表示安装成功。

软件及插件的安装就到这里,打开的【Developer Command Prompt for VS 2019】不要关闭,后面还会用到。


二、 编写代码

通常情况下代码会放在一个指定的目录下,例如放在【E:\VSCode】,那么就要进入该文件夹,命令如下

 代码最终存放路径为【E:\VSCode\projects\helloworld】,可以输入如下命令,命令【code .】打开VSCode。

mkdir projects
cd projects
mkdir helloworld
cd helloworld
code .

 可能会出现如下提示,点击【是.....】。 

可以看到在左侧出现了当前文件夹的名字,点击右边的【新建文件】,输入文件名,双击打开这个文件,就可以编写代码了。

编写如下代码,并保存;也可以设置自动保存,点击【文件】,选择【自动保存】。

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main()
{
    vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};

    for (const string& word : msg)
    {
        cout << word << " ";
    }
    cout << endl;
}

三、 编译运行

3.1 配置tasks.json

【tasks.json】文件告诉VSCode如何编译程序。

点击菜单栏的的【终端】--【配置默认生成任务】,弹出如下界面,选择【使用模板创建tasks.json】,选择【MSBuild 执行生成目标】,自动转到tasks.json编辑页面

 

编辑tasks.json

{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "label": "cl.exe build active file",
      "command": "cl.exe",
      "args": [
        "/Zi",
        "/EHsc",
        "/Fe:",
        "${fileDirname}\\${fileBasenameNoExtension}.exe",
        "${file}"
      ],
      "problemMatcher": ["$msCompile"],
      "group": {
        "kind": "build",
        "isDefault": true
      }
    }
  ]
}

 变量和值的含义参考:Visual Studio Code Variables Reference

3.2 编译运行

重新转到【helloworld.cpp】编辑页面,按【Ctrl+Shift+B】或者在菜单栏点击【终端】--【运行生成任务】,在界面下方弹出信息,当如下信息显示后表示编译成功

 点击右侧的【+】,新建终端,在新的终端输入【ls】查看当前目录下的文件,输入【./helloworld.exe】运行,输出程序结果


四、 调试

【Launch.json】中编辑与调试相关的信息。


Ⅰ 按【F5】或者点击菜单栏【运行】--【添加配置】,选择【C++(Windows)】,自动跳转到【Launch.json】编辑页面;

 编辑内容如下:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "cl.exe build and debug active file",
      "type": "cppvsdbg",
      "request": "launch",
      "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": false,
      "preLaunchTask": "cl.exe build active file"
    }
  ]
}

需要注意的是

1. 【stopAtEntry】的值,true表示调试时自动在main()函数处暂停运行,false表示不暂停运行,除非你在某处设置了断点。

2. 可能会弹出如下界面,可以把【externalConsole】改为【Console】(不改也可以,但每次调试都会弹出如下提示) 


Ⅱ  回到【helloworld.cpp】文件,按【F5】会出现如下界面,左上可以观察所有变量,左下可以观察指定变量,右上是用来调试的,可以看到现在运行到main()函数处。此时就可以调试了。

监视指定变量点击+号,输入变量名后回车即可。


 五、 配置C/C++

按【Ctrl+Shift+P】,输入【C/C++】,有两种方式编辑:UI和编辑JSON,最终都是通过JSON文件实现的,点击【编辑配置(JSON)】

转到【c_cpp_properties.json】编辑页面,编辑代码如下

{
  "configurations": [
    {
      "name": "Win32",
      "includePath": ["${workspaceFolder}/**"],
      "defines": ["_DEBUG", "UNICODE", "_UNICODE"],
      "windowsSdkVersion": "10.0.18362.0",
      "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe",
      "cStandard": "c11",
      "cppStandard": "c++17",
      "intelliSenseMode": "msvc-x64"
    }
  ],
  "version": 4
}

 其中【compilerPath】路径就是前面【Build Tools for Visual Studio 2019】安装的位置下的cl.exe的路径。

以上步骤就可以实现编译运行一个C/C++程序。如果要在新的文件夹中编译运行,只需要把.vscode复制即可。需要注意的是以上操作过程中不要关闭【Developer Command Prompt for VS 2019】。接下来配置tasks.json实现不打开【Developer Command Prompt for VS 2019】也可以正常实现编译、运行、调试等操作。


六、 直接打开VSCode运行程序

打开tasks.json,按照如下编写,【VsDevCmd.bat】文件在安装【Build Tools for Visual Studio 2019】的路径下。

更改之后可以关闭【Developer Command Prompt for VS 2019】,编译运行程序都没有问题。

{
  "version": "2.0.0",
  "windows": {
    "options": {
      "shell": {
        "executable": "cmd.exe",
        "args": [
          "/C",
          // The path to VsDevCmd.bat depends on the version of Visual Studio you have installed.
          "\"C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/Tools/VsDevCmd.bat\"",
          "&&"
        ]
      }
    }
  },
  "tasks": [
    {
      "type": "shell",
      "label": "cl.exe build active file",
      "command": "cl.exe",
      "args": [
        "/Zi",
        "/EHsc",
        "/Fe:",
        "${fileDirname}\\${fileBasenameNoExtension}.exe",
        "${file}"
      ],
      "problemMatcher": ["$msCompile"],
      "group": {
        "kind": "build",
        "isDefault": true
      }
    }
  ]
}

官方链接中还提供了错误出现的原因及解决方法,我安装配置过程中没有出现过,所以就不赘述了,如果有问题的可以在官方说明中找到相关的内容。


七、 小结

1. VSCode使用MSVC编译工具时可以不安装完整的VS IDE,只安装构建工具即可;

2. tasks.json保存与编译环境相关的内容,Launch.json保存与调试相关的内容;

3.可以编辑tasks.json的内容实现不打开【Developer Command Prompt for VS 2019】编译运行程序。

<think>嗯,用户想在Windows上配置VSCode来编译和调试C/C++程序。首先,我需要回忆一下配置的基本步骤。安装VSCode是第一步,然后可能需要安装C/C++扩展,比如Microsoft的那个扩展。然后,用户需要安装编译器,比如MinGW或者MSVC。MinGW在Windows上比较常用,所以可能需要指导用户如何安装和配置MinGW的环境变量。 接下来,配置tasks.json和launch.json文件。这两个文件分别用于编译和调试任务。记得tasks.json里要指定编译器路径和参数,比如g++的命令,生成可执行文件。launch.json则要设置调试器路径,比如gdb,并指定program参数指向生成的可执行文件。 可能还需要检查环境变量是否正确设置,尤其是PATH是否包含MinGW的bin目录。用户可能会遇到环境变量未设置的问题,导致编译命令找不到。另外,可能需要指导用户如何通过终端验证g++和gdb是否可用。 用户提供的引用中有提到MinGW和WinCE的编译选项,但可能和当前问题关联不大。不过引用3提到设置环境变量,这很重要,特别是在每次打开终端时需要设置。所以可能需要提醒用户设置环境变量,或者将其添加到系统变量中,避免每次重启终端都要重新设置。 另外,用户的问题是关于配置VSCode,可能需要涉及到配置c_cpp_properties.json文件,指定包含路径和编译器路径,确保IntelliSense正常工作。这部分可能也需要涵盖进去。 最后,生成相关问题时,需要考虑用户可能的后续疑问,比如如何处理多个源文件,如何配置不同的构建工具如CMake,或者如何调试更复杂的项目。此外,可能的问题还包括常见错误排查,比如找不到头文件或者链接错误,以及如何优化编译设置等。</think>### 如何在Windows上配置VSCode进行C/C++编译和调试 #### 1. **安装必要工具** - **VSCode**: 从[官网](https://code.visualstudio.com/)下载安装。 - **C/C++扩展**: 在VSCode扩展商店搜索安装`C/C++`(Microsoft官方扩展)。 - **编译器**: 安装MinGW(推荐)或MSVC: - MinGW安装步骤: 1. 下载[MinGW-w64](https://www.mingw-w64.org/)(选择`x86_64-posix-seh`版本)。 2. 解压后将其`bin`目录(例如`C:\mingw64\bin`)添加到系统环境变量`PATH`中[^3]。 3. 验证:终端输入`g++ --version`,显示版本信息即成功。 #### 2. **配置编译任务** 1. 创建或打开C/C++项目文件夹。 2. 按`Ctrl+Shift+P`,输入`Tasks: Configure Task`,选择`Create tasks.json`。 3. 替换内容为: ```json { "version": "2.0.0", "tasks": [{ "label": "Build C++", "type": "shell", "command": "g++", "args": ["-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe"], "group": {"kind": "build", "isDefault": true} }] } ``` 此配置使用`g++`编译当前文件并生成调试信息(`-g`选项)。 #### 3. **配置调试环境** 1. 切换到调试选项卡,点击`create a launch.json file`。 2. 选择`C++ (GDB/LLDB)`,替换内容为: ```json { "version": "0.2.0", "configurations": [{ "name": "C++ Debug", "type": "cppdbg", "request": "launch", "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "miDebuggerPath": "gdb.exe", "setupCommands": [{"description": "启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true}], "preLaunchTask": "Build C++" }] } ``` 此配置将自动关联编译任务,并通过`gdb`调试生成的可执行文件。 #### 4. **验证配置** 1. 编写测试代码(例如`main.cpp`): ```cpp #include <iostream> using namespace std; int main() { cout << "Hello VSCode C++!" << endl; return 0; } ``` 2. 按`F5`启动调试,终端输出结果即表示配置成功。 ---
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值