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

article/2025/10/21 0:54:09

目录

一、 安装软件

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】编译运行程序。


http://chatgpt.dhexx.cn/article/CkHGiLlT.shtml

相关文章

Windows系统中vscode+MSVC的C++配置

Windows系统中vscodeMSVC的C配置 在Windows上编译C程序不能直接使用gcc和g命令&#xff0c;一般来说如果非要使用的话可以用wsl或者MinGW。过去的很长一段时间我也确实是这么做的&#xff0c;但是最近在学习C20&#xff0c;无奈MSVC是三大主流编译器里面相关特性支持最完善的&…

MSVC Debug 与 Release 库

CMake Debug后缀 set_target_properties(liba PROPERTIES DEBUG_POSTFIX "d") 或者 set(CMAKE_DEBUG_POSTFIX "d") 这样生成的库或者exe程序名会多一个d字符。如下链接 vc 运行时库 通过/MD、/MT 可以改变MSVC运行库&#xff0c; /MD代表使用动态运行时…

C++ —— 使用msvc编译boost

下载源码 1、选择1.72.0版本进行编译&#xff0c;如图点击Download 2、接着选择zip进行下载 编译源码 1、将下载的boost_1_72_0.zip进行解压。 2、如图&#xff0c;打开vs本地命令工具。并在该终端进入boost_1_72_0.zip进行解压目录中。 3、在终端输入如下指令 // 生成&…

Qt 添加MSVC2017编译器(2022年保姆级教程,不安装完整VS)

目录 0. 前言1. 前期准备2. 安装2.1 安装Qt2.2 安装MSVC编译器和Windows 10 SDK 3. 配置3.1 添加MSVC编译器并选择bat文件3.2 传入脚本文件参数 4. 测试5. 总结 0. 前言 只要是Qt使用者&#xff0c;基本都遇到过安装MSVC编译器的问题。 这个问题似乎有很方便的解决办法&#…

如何用MSVC命令行编译 SQLite ?

作者&#xff1a;cuicui 这个问题的关键是如何配置MSVC 工具&#xff1a;VS2017 要编译的sqlite3源代码从https://www.sqlite.org/download.html下载 官方说明中的方法是 cl shell.c sqlite3.c -Fesqlite3.exe如果没有配置MSVC是无法编译的。经过自己实验&#xff0c;用下面…

在windows下使用MSVC编译ffmpeg

FFmpeg 在windows上面用msvc编译 首先你得准备好msys2环境&#xff0c;安装好对应的工具链&#xff0c;msys2他本身提供了三个环境&#xff0c;但是这次我们是用msvc去编译用哪个环境都无所谓&#xff0c;但是你在哪个环境装的工具链就进入到哪个环境&#xff0c;msys2是环境隔…

Qt Creator配置MSVC编译器

Qt Creator配置MSVC编译器 配置&#xff1a; WINDOWS 7系统4.9.0 Qt CreatorMSVC 2017VS 2017 步骤&#xff1a; VS官网下载Visual Studio Community 2017&#xff0c;在线安装Visual Studio Community2017版本。下载并安装Windows10 SDK, 直接下载.exe版本&#xff0c;然后…

MSVC命令行环境配置

MSVC是微软Windows平台Visual Studio自带的C/C编译器&#xff0c;但是这个IDE比较庞大&#xff0c;有时候我们写一个小程序没有必要去启动IDE&#xff0c;所以可以配置一下MSVC编译器&#xff0c;这样我们就可以通过命令行的方式或者其他一些轻量的工具接入MSVC编译器。 笔者演…

QtCreator配置MSVC

文章目录 1.配置编译器Compiler2.配置调试器(Debugger)3.配置构建套件(Kit) 配置Qt kits需要配置编译器和调试器 1.配置编译器Compiler 配置MSVC需要先下载vs,通过vs安装编译器 具体资料地址 https://www.zhihu.com/question/358058090/answer/1188440282 2.配置调试器(Deb…

Qt离线安装MSVC方法

安装好Qt后&#xff0c;有时候需要用到MSVC编译环境&#xff0c;如果电脑连接了互联网&#xff0c;直接下载安装器在线安装即可&#xff0c;那么需要为没有联网的电脑安装MSVC时&#xff0c;就需要采用下载离线安装包&#xff0c;离线安装的方法&#xff0c;MSVC安装器下载地址…

qt配置msvc

因为mingw是自带的&#xff0c;所以说不用配置直接勾选。但是mingw有一个不足就是有些库用mingw不方便比如opencv。而且web功能&#xff0c;mingw并不支持&#xff0c;今天谈怎么配置msvc。 1.下载vs:重点相关的c和sdk下载 2.下载qt5.14.2之后要自己编译&#xff0c;使用中科…

Qt MSVC开发

环境搭建 安装Virsual Studio&#xff0c;版本可以选择最新版本&#xff0c;我安装的时vs2022&#xff0c;安装时需要勾选 C 桌面开发 安装QT, 下载地址&#xff1a;https://download.qt.io/official_releases/online_installers/&#xff0c;安装时需要选择MSVC 2019 64-bit。…

MSVC编译器介绍

MSVC简介&#xff1a; 与Linux系列操作系统不同&#xff0c;Windows原生环境不提供类似gcc&#xff0c;Clang的C/C语言源程序编译运行工具链。运行在Windows上的IDE&#xff08;集成开发环境&#xff09;&#xff0c;比如CodeBlocks之类&#xff0c;一般都使用MinGW&#xff0…

PAC的编码

PAC的编码 今晚的沙龙讲到了PAC&#xff0c;在此搬运一下比较简单易懂的部分。 PAC的编码是基于类似于两个D触发器的思路&#xff0c;也就是和时序有关。 PAC编码的思路导图&#xff0c;如下所示&#xff1a;

windows 开启pac,完成规则代理

特别鸣谢 10分钟搭建linux代理服务器_三雷科技的博客-CSDN博客 Windows7/10/11 Pac代理脚本及配置_pac脚本_ylf尘风的博客-CSDN博客 1. 代理服务器搭建 yum install tinyproxy代理服务器&#xff0c;配置 编辑配置/etc/tinyproxy/tinyproxy.conf&#xff1a; &#xff08;1&…

解析PAK文件

工具好不好主要看用的人 ----Mantra 众所周知&#xff0c;UE4打包之后生成的资源文件被压缩成.pak格式&#xff0c;那么如何找到合适的工具提取其中的资源呢&#xff1f;&#xff08;既然UE4是开源的&#xff0c;那么UE4的打包工具也应该是开源的&#xff0c;所以大佬们逆流而…

代理自动配置文件PAC的使用方法

注意&#xff1a; 1、微软从Internet Explorer&#xff08;IE&#xff09;11版本开始&#xff0c;已经弃用本地PAC文件的方式&#xff08;也就是我们说的“file://”方式&#xff09;配置自动代理了&#xff0c;只能通过http或者https方式加载代理自动配置的PAC文件 2、 Chrome…

pacp格式文件分析

1 介绍 1.1. 五元组 网络通信过程中会发送大量的请求&#xff0c;每一个请求都需要通过IP数据包进行交互&#xff0c;但是IP数据包的头部信息过于复杂&#xff0c;如果通过IP数据包头进行数据包之间的区分就太复杂了&#xff0c;所以就产生了元组。 五元组是元组中的一种&am…

【pac文件】win10自动配置代理

目的 手动代理&#xff1a;所有地址经过代理&#xff0c;指定ip不经过代理 现在需求&#xff1a;实现指定ip范围才使用该代理 可以通过“自动设置代理”的方式实现 准备 已有代理地址&#xff0c;如&#xff1a;192.168.18.101:808有python环境 自动代理配置 编写sxProxy.…

实战PyQt5: 120-像素图QPixmap和QBitmap

Qt提供了四个用于处理图像数据的类&#xff1a;QImage&#xff0c;QPixmap&#xff0c;QBitmap和QPicture。QImage是为I/O设计的&#xff0c;并且针对直接的像素访问和操作做了优化&#xff0c;QPixmap是为在屏幕上显示图像而设计和优化的。QBitmap为继承自QPixmap的便利类。如…