Visual Studio Code (简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,可谓是微软的良心之作。

下载安装VS Code

点击下载链接,选择合适的安装程序

安装cpptools插件

打开VS Code,快捷键ctrl+shift+p呼出命令框,输入以下命令

ext install cpptools

稍等片刻会出现插件安装列表,如图:

点击箭头所指处的按钮安装插件,安装过程可能会有些慢耐心等待 ,安装完成后vscode会提示你重启vscode。

安装MINGW-W64

这里我建议安装mingw-w64,比较稳定。

在windows下安装完成后需要设置环境变量

c:\mingw-w64\bin\

配置调试环境

1.文件-->打开文件夹,设置项目路径

2.新建一个.vscode文件夹

3.创建一个launch.json启动配置文件

  1. {
  2. "version": "0.2.0",
  3. "configurations": [
  4. {
  5. "name": "C++ Launch (GDB)",
  6. "type": "cppdbg",
  7. "request": "launch",
  8. "targetArchitecture": "x86",
  9. "program": "${workspaceRoot}\\${fileBasename}.exe",
  10. "miDebuggerPath":"C:\\mingw-w64\\bin\\gdb.exe",
  11. "args": [],
  12. "stopAtEntry": false,
  13. "cwd": "${workspaceRoot}",
  14. "externalConsole": true,
  15. "preLaunchTask": "g++"  
  16. }
  17. ]
  18. }

4.创建一个tasks.json的配置文件

  1. {
  2. "version": "0.1.0",
  3. "command": "g++",
  4. "args": ["-g","-std=c++11","${file}","-o","${workspaceRoot}\\${fileBasename}.exe"],
  5. "problemMatcher": {
  6. "owner": "cpp",
  7. "fileLocation": ["relative", "${workspaceRoot}"],
  8. "pattern": {
  9. "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
  10. "file": 1,
  11. "line": 2,
  12. "column": 3,
  13. "severity": 4,
  14. "message": 5
  15. }
  16. }
  17. }

5.创建一个c_cpp_properties.json文件,注意不同的版本的MINGW路径可能有些许不同

  1. {
  2. "configurations": [
  3. {
  4. "name": "Win32",
  5. "includePath": [
  6. "${workspaceRoot}",
  7. "C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++",
  8. "C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++/x86_64-w64-mingw32",
  9. "C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++/backward",
  10. "C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include",
  11. "C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++/tr1",
  12. "C:/mingw-w64/x86_64-w64-mingw32/include"
  13. ],
  14. "defines": [
  15. "_DEBUG",
  16. "UNICODE",
  17. "__GNUC__=6",
  18. "__cdecl=__attribute__((__cdecl__))"
  19. ],
  20. "intelliSenseMode": "msvc-x64",
  21. "browse": {
  22. "path": [
  23. "${workspaceRoot}",
  24. "C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++",
  25. "C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++/x86_64-w64-mingw32",
  26. "C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++/backward",
  27. "C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include",
  28. "C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++/tr1",
  29. "C:/mingw-w64/x86_64-w64-mingw32/include"
  30. ]
  31. },
  32. "limitSymbolsToIncludedHeaders": true,
  33. "databaseFilename": ""
  34. }
  35. ],
  36. "version": 3
  37. }

6.新建一个test.cpp文件,并点击左侧的调试按钮


  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. cout<<"Hello World!"<<endl;
  6. return 0;
  7. }

运行结果

为了看到输出效果,我们可以在test.cpp的最后一行上设置一个断点。运行效果如下:

更新:

  1. 2017-12-20 MINGW-W64替代了之前的MINGW
  2. 2018-02-13 修复 了includePath,避免了提示cannot open source file "xxx.h"

参考资料

  1. C/C++ for VS Code
  2. c_cpp_properties.json template

Visual Studio Code (vscode)编译C++的更多相关文章

  1. ubuntu下使用visual studio code来编译和调试C++

    最近想在linux上编译c++代码,自己却一直习惯window上的IDE.以前公司要我写Linux代码的时候,我一般都是用eclipse + CDT,而eclipse这东西吧,我个人感觉因为加载组件太 ...

  2. 再整理:Visual Studio Code(vscode)下的通用C语言环境搭建

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://www.cnblogs.com/czlhxm/p/11794743.ht ...

  3. Visual Studio Code (vscode) 配置 C / C++ 环境

    Visual Studio Code (vscode) 配置 C / C++ 环境 昨天突发奇想,想使用vscode配置C++环境,因为不想下载 Dev OR codeblock,然后借助了很多网上教 ...

  4. Visual Studio Code (VSCode) 配置 C/C++ 开发编译环境

    前言 工作多年,突然发现很多C++的基础都忘记了,加之C++不断更新换代后的各种新特性,于是想重拾C++的基础学习.虽然现在工作都是Linux平台,但考虑到个人方便,自己也仅仅想重温语法,家里家外都可 ...

  5. Visual studio code (vscode)

    调东西 : 左上角 File -> Preferences -> Workspace Settings ( User Settings 也可以, 它是 for 所有的 project, W ...

  6. 再整理:Visual Studio Code(vscode)下的基于C++的OpenCV的最新搭建攻略解析

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://www.cnblogs.com/czlhxm/p/13848278.ht ...

  7. IntelliJ idea webstrom Visual Studio Code vscode 设置cmder为默认终端 Terminal

    1.系统环境win10 2.确保环境变量中存在CMDER_ROOT,没有的话新增一个.地址为*:\***\cmder . idea.webstrom:设置中搜索terminal,shell path  ...

  8. visual studio code(vscode) 配置在terminal进行运行代码并且支持c++11特性

    1.点击设置 点击CodeRunner的小齿轮,点击configure extension settings 2.点击映射 点击executor map中的Edit in settings.json ...

  9. 剖析并利用Visual Studio Code在Mac上编译、调试c#程序

    0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很 ...

随机推荐

  1. Spring中线程池的应用

    多线程并发处理起来通常比较麻烦,如果你使用spring容器来管理业务bean,事情就好办了多了.spring封装了Java的多线程的实现,你只需要关注于并发事物的流程以及一些并发负载量等特性,具体来说 ...

  2. mysql8安装配置备忘

    Mysql8安装配置 1. 初始化 进入mysql安装目录中的bin目录,在cmd中输入: mysqld --initialize --console 加上--console参数可以看到初始化之后的默 ...

  3. 第七章、Linux 文件与目录管理

    第七章.Linux 文件与目录管理   1. 目录与路径 1.1 相对路径与绝对路径 1.2 目录的相关操作: cd, pwd, mkdir, rmdir 1.3 关於运行档路径的变量: $PATH ...

  4. Datenstruktur und Algorithmus

    In der Informatik und Softwaretechnik ist eine Datenstruktur ein Objekt zur Speicherung und Organisa ...

  5. springmvc与html之间的Json交互

    1.配置pom.xml 错误信息:The container 'Maven Dependencies' references non existing library 解决方案:下图的checkbox ...

  6. 微信小程序随笔。笔记本忘家里了

    所有ui组件都有的共有属性id.class.style.hidden.data-*.bind* / catch*.

  7. Golang报错mixture of field:value and value initializers

    Golang 在使用匿名成员初始化时,如果出现 mixture of field:value and value initializers 是因为初始化的方式不对,见代码: package main ...

  8. golang 的 sync.WaitGroup

    WaitGroup的用途:它能够一直等到所有的goroutine执行完成,并且阻塞主线程的执行,直到所有的goroutine执行完成. 官方对它的说明如下: A WaitGroup waits for ...

  9. Spring与MyBatis整合上_Mapper动态代理方式

         将MyBatis与Spring进行整合,主要解决的问题就是将SqlSessionFactory对象交由Spring来管理..所以该整合,只需将SQLSessionFactory的对象生成器S ...

  10. 再谈javascript函数节流

    之前写过但是不记得在哪了,今天同事要一个滑到页面底部加载更多内容的效果,又想起了这玩意儿,确实挺实用和常用的,谨此记之. 函数节流从字面上的意思就是节约函数的执行次数,其实现的主要思想是通过定时器阻断 ...