vscode是微软的最新产品,轻量易用,最初是前端用的多,尤其是typescript,因为vscode的作者也是typescipt作者。一般c++的IDE很多,比如visual studio等,但是都不太好用,所以,这里,使用vscode,下面讲解主要步骤。

  • 安装vscode。
  • 安装必要c++插件。
  • 安装编译、调试环境。
  • 修改vscode配置文件。
  • 运行
  • 调试

一、安装vscode

  vscode是免费的,所以直接下载安装就好。

二、安装必要c++插件

  在vscode左侧找到插件库,安装 c/c++ 插件(必须)、C++ Intellisense(非必须)、Include Autocomplete(非必须)。

三、安装编译、调试环境

  网上找到mingw,直接安装,只要和本机匹配即可。

  安装之后,配置环境变量,配置好环境变量,通过g++ xx.cpp -o xx来检测是否可以用命令行来编译c++文件,如果可以,说明安装成功。

四、修改vscode配置文件

  即在vscode中打开文件夹->创建新的文件夹->选中,这样就直接加入到vscode中了;或者直接把一个文件拖入vscode中;假设我们新建的文件夹名称为Foo。

  接着,在这个Foo下创建一个.vscode文件夹,这是必须的(一般来说,每个文件夹中都会有这么一个.vscode配置文件)。注意:将此文件夹放在常用文件夹顶层,就不需要重复配置了。

  在.vscode文件夹中,新建三个(只需三个)配置文件,即c_cpp_properties.json、launch.json、tasks.json。然后内容如下:

  c_cpp_properties.json (注意:每台电脑装mingw的位置可能不一样,根据everything确定!),这个配置文件指定mingw所在位置,方便vscode自动调用:

{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceRoot}",
"C:/mingw/lib/gcc/mingw32/5.3.0/include/c++",
"C:/mingw/lib/gcc/mingw32/5.3.0/include/c++/mingw32",
"C:/mingw/lib/gcc/mingw32/5.3.0/include/c++/backward",
"C:/mingw/lib/gcc/mingw32/5.3.0/include",
"C:/mingw/lib/gcc/mingw32/5.3.0/include/c++/tr1",
"C:/mingw/mingw32/include"
],
"defines": [
"_DEBUG",
"UNICODE",
"__GNUC__=6",
"__cdecl=__attribute__((__cdecl__))"
],
"intelliSenseMode": "msvc-x64",
"browse": {
"path": [
"${workspaceRoot}",
"C:/mingw/lib/gcc/mingw32/5.3.0/include/c++",
"C:/mingw/lib/gcc/mingw32/5.3.0/include/c++/mingw32",
"C:/mingw/lib/gcc/mingw32/5.3.0/include/c++/backward",
"C:/mingw/lib/gcc/mingw32/5.3.0/include",
"C:/mingw/lib/gcc/mingw32/5.3.0/include/c++/tr1",
"C:/mingw/mingw32/include"
]
},
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
],
"version":
}

  

  launch.json文件(注意:其中的miDebuggerPath可能也是不一样的,需要注意):

{
"version": "0.2.0",
"configurations": [
{
"name": "C++ Launch (GDB)", // 配置名称,将会在启动配置的下拉菜单中显示
"type": "cppdbg", // 配置类型,这里只能为cppdbg
"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
"targetArchitecture": "x86", // 生成目标架构,一般为x86或x64,可以为x86, arm, arm64, mips, x64, amd64, x86_64
"program": "${file}.exe", // 将要进行调试的程序的路径
"miDebuggerPath": "c:\\MinGW\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应
"args": [
"blackkitty",
"",
"# #"
], // 程序调试时传递给程序的命令行参数,一般设为空即可
"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
"cwd": "${workspaceRoot}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
"externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
"preLaunchTask": "g++" // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
}
]
}

  tasks.json(这个所有都一样,无需个性化修改):

{
"version": "0.1.0",
"command": "g++",
"args": [
"-g",
"${file}",
"-o",
"${file}.exe"
], // 编译命令参数
"problemMatcher": {
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": ,
"line": ,
"column": ,
"severity": ,
"message":
}
}
}

  

  

五、运行

  接下来,就需要创建cpp文件了,如下,在Foo下创建一个a.cpp:

#include <iostream>
#include <windows.h>
#include <vector>
using namespace std; int main() {
cout << "hedy, I love you!" << endl;
vector<int> a;
a.push_back();
cout << a[] << endl;
system("pause");
return ;
}

  然后,我们点击左侧的debugger按钮,在这个状态下,就可以按下F5编译运行了,得到如下结果:

  这就说明我们已经可以自动运行了。

  

六、调试

  调试也非常简单,直接打断点即可,如下:

  即直接在我们需要判断的行处打断点,然后继续F5执行,就可以在DEBUG栏看到相应的内容了。

最新文章

  1. 【腾讯Bugly干货分享】Android性能优化典范——第6季
  2. CSS Icon 项目地址 小图标-用css写成的
  3. 《zw版&#183;Halcon-delphi系列原创教程》 只有2行代码的超市收款单ocr脚本
  4. 纸上谈兵:堆(heap)
  5. (二分)Block Towers(cf626)
  6. 浅谈一下缓存策略以及memcached 、redis区别
  7. bjfu1253 最大上升子序列和
  8. 宏HASH_GET_FIRST
  9. 关于“学习Linux用什么系统”的解答
  10. WinAPI——UnhookWindowsHookEx - 卸掉钩子
  11. arm linux kernel启动之start_kernel
  12. Java中PreparedStatement和Statement的用法区别(转)
  13. Silverlight学习(五)图形标绘
  14. ZSTU OJ 3999 零基础学算法---邻接表
  15. 文章之间的基本总结:Activity生命周期
  16. centos-7 yum装docker-ce后启动失败
  17. mac下Fiddler的安装-启动
  18. Index.get_indexer 方法的含义
  19. 优秀的 Go 存储开源项目和库
  20. The Super Powers UVA - 11752(合数幂)

热门文章

  1. 记账本微信小程序开发四
  2. 【 记忆网络 1 】 Memory Network
  3. jQuery实现淘宝轮播图
  4. LeetCode in action
  5. Sql语句中IN和exists的区别及应用
  6. CentOS磁盘用完的解决办法,以及Tomcat的server.xml里无引用,但是项目仍启动的问题
  7. U3D外包公司:Ruby的未来
  8. 二叉树分派硬币 Distribute Coins in Binary Tree
  9. zookeeper: zkServer.sh status没有到主机的路由
  10. Luffy之课程详情页