目录

一、 安装软件

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

VSCode+MSVC编写C/C++程序相关推荐

  1. VScode CMake 编写 Boost Asio 程序----记录4

    项目场景: 调试 boost::thread 问题描述 boost::thread链接库出问题 参考: 1. Cmake 引用boost库时报错 Could NOT find Boost (missi ...

  2. 在VsCode里编写和运行不同语言的程序

    文章目录 一.VsCode支持的编程语言 二.在VsCode里编写和运行不同语言的程序 (一)编写和运行C程序 1.编写源程序hello.c 2.运行程序,查看结果 (二)编写和运行Java程序 1. ...

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

    Windows系统中vscode+MSVC的C++配置 在Windows上编译C++程序不能直接使用gcc和g++命令,一般来说如果非要使用的话可以用wsl或者MinGW.过去的很长一段时间我也确实是 ...

  4. 在VSCode中编写Kotlin/Java

    在VSCode中编写Kotlin/Java 前言 不希望每次运行一下代码就要去启动Android Studio这个庞然大物,正好vscode可以做一个轻量级的IDE,所以配置了vscode用来编写Ko ...

  5. .NET Core 3.1 编写混合 C++ 程序

    前言 随着 .NET Core 3.1 的第二个预览版本发布,微软正式将 C++/CLI 移植到 .NET Core 上,从此可以使用 C++ 编写 .NET Core 的程序了. 由于目前仅有 MS ...

  6. VSCode + xUnit 编写 C# 单元测试

    概述 什么是单元测试?为什么要写单元测试?如何写一个单元测试?实话实说,写单元测试是一件挺麻烦的事情,却又是你在软件开发的成长路上难以回避的一个问题.我个人在以前也并不喜欢单元测试,不过现在我的态度有 ...

  7. vscode使用lldb调试C++程序

    vscode使用lldb调试C++程序 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 文章目录 vscode使用lldb调试C++程 ...

  8. Linux环境下编写一个shell程序,此程序的功能:随机生成一个1-100的数(答案)让用户猜

    题目:编写一个shell程序,此程序的功能:随机生成一个1-100的数(答案)让用户猜,如果用户猜的数大于答案,则提示大了,如果用户猜的数小于答案,则提示小了.当用户猜对时提示:猜对了. #! /bi ...

  9. 试编写一个汇编语言程序,要求从键盘接收一个四位的十六进制数,并在终端上显示与它等值的二进制数

    试编写一个汇编语言程序,要求从键盘接收一个四位的十六进制数,并在终端上显示与它等值的二进制数 data segment data ends stack segment stack dw 30h dup ...

最新文章

  1. 神经网络 online problem class反馈
  2. 优酷开放SDK之setOnCompletionListener
  3. spring mvc学习(26):处理数据模型--从表单到controller传输数据
  4. 如何在Debian 9 / Debian 8上安装MariaDB 10.3
  5. EF中关于TransactionScope的使用
  6. idea自动生成unit test插件
  7. GD32F205在IAR上移植FreeRTOS
  8. catia锥齿轮画法_CATIA自动生成锥齿轮模型的宏程序应用方法
  9. 语音文件格式转换:.amr 转 .MP3, .wav格式
  10. 嵌入式linux机械臂,一款基于ARM嵌入式的机械臂的设计与实现
  11. IE6 Peekaboo(躲躲猫) Bug
  12. 基尔霍夫定律的验证与multisim仿真(附工程文件)
  13. excel多窗口显示设置
  14. java 文件头_常用文件的文件头(附JAVA测试类)
  15. 无所遁形的未来:人肉搜索还不够,AI带来了人脸搜索
  16. Swiper的API及自定义分页器等问题-淘宝触屏版首页制作
  17. 前端 CSS:锚伪类选择器:hover,:active,:visited;等用法总结
  18. 手机能连上Wifi,而Win10笔记本却连不上,解决方案(有图)
  19. 【Matlab/CV系列】基于K-means/分水岭分割的多光谱遥感图像分割的Matlab实现
  20. testWhileIdle和testOnBorrow

热门文章

  1. ARM 之九 Cortex-M/R 内核 Keil(ARMCC) 程序启动流程
  2. codevs 2102
  3. 计算机考了二级可以直接考四级吗,计算机国家四级好考吗?报考有要求吗?一定要过了二级才能考吗?...
  4. 知乎登录cookie验证
  5. QT充当客户端模拟浏览器等第三方客户端对https进行双向验证
  6. opencv大坑之BGR
  7. 支付宝扫码跳转小程序并传参
  8. 华为凶险的智能穿戴战役
  9. 7-3 自动售货机 (30分)
  10. Spring Boot项目配置ssl证书及自定义ssl端口号