我其实真的特别喜欢这个编辑器,有那麽多的主题可以选择,十分炫酷有木有啊哈哈哈,打代码时心情都回变好啊有木有啊。唯一一个不好的地方就是,说到底它不是给集成开发平台,如果你想调试的话,需要自己去配置一些东西。它的哥哥vs倒是一应俱全,但是我嫌他太笨重了,我就是写个作业而已,你让我用个vs?有点杀鸡用牛刀了。问题就是,配置的过程十分复杂,这里我看到了一片博文,我就直接把它粘过来了,我也是按照上面的方法做的,后面我回提示一些我个人觉得需要注意的事项。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/bat67/article/details/76095813
————————————————
版权声明:本文为CSDN博主「bat67」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/bat67/article/details/76095813

现在是2019.7.21,由于这阵一直在忙,今天我用最新的VSCode(Version 1.36.1) 和最新的Cpp插件(version 0.24.0)按照本文的安装步骤从零开始试了一下,由于vscode版本和cpp插件版本更新确实变化了很多,2019年7月21日更新的我会用这个颜色(粉色?)标示出来,供大家参考进行配置。也可以参考官方文档:https://code.visualstudio.com/docs/cpp/config-mingw

弄了半天,总算弄好了,结合网上的教程,整理分享一下~

发现总有童鞋问相同的问题,开始我还以为是没有配置好,今天我自己按照我原来写的尝试了以下,确实出现了问题,可能是VScode或者cpp的插件版本问题,2018.12.29更新,我会用绿色的字体表示。

另外要是本文的更新内容仍然不能解决您的问题,可以看看这篇文章,这篇文章是之后写的,比这篇有条理些,配置过程也简单些。要是始终有问题,欢迎留言,我会抽时间尽我所能解答(非大神有好多解答不了。。。)

总体流程:

下载安装vscode
安装cpptools插件
安装编译、调试环境
配置系统环境变量path
修改vscode调试配置文件
其他
Linux版本配置(简要)

1、下载安装vscode

https://code.visualstudio.com/Download

2、安装cpptools插件

打开vscode,按ctrl+p打开快速命令框,输入以下命令后等待

ext install cpptools

vscode在短暂的联网查找后会列出插件列表,如图:

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

更新:因为我装这个插件已经是几年之前了,不确定现在界面还是不是这样,但是意思不变,装完后点重新加载就行了

3、安装编译、调试环境

(若是电脑上原来装着codeblocks,Dev C++等可以跳过这步,

直接跳到 【4、配置系统环境变量path】 这步即可)

目前windows下调试仅支持 Cygwin 和 MinGW。
这里使用的是MinGW.
下面是MinGW的安装配置过程: http://mingw.org/
进入官网点击右侧 Download Installer下载安装器
打开安装器点击install准备安装:
。。。。

这个东西我记得我上一篇文章讲过,,,还要放吗

更新:单独装MinGW ,我最早是这么搞的,要是发现不可以(无法下载或者很怀疑自己MinGW没安装好等),可以试试codeblocks或者Dev-cpp等等,这些IDE自带编译器,去它们的安装目录找到编译器也是一样的。还是看这篇文章 里面有使用codeblocks自带的MinGW的细节,当然要是可以就继续。

配置系统环境变量path

然后配置系统环境变量path,这一步为必须
在 我的电脑 上右键 属性:
然后按照下面步骤做即可,注意最后新建的项要与之前MinGW安装位置相对应

Windows7注意,要加入,不是覆盖!

再次打开vscode,注意配置系统环境变量path后重启一下vscode 注意vscode调试需要在打开的文件夹中进行(注意!是用VSC打开文件夹!!,单独打开一个单独的cpp是没有下面的几个配置文件出现的!!也就是说,这个cpp要在一个文件夹里!不像DevCpp和C-Free可以直接调试一个单独的cpp!!)

5、修改vscode调试配置文件

打开文件夹后,新建test.cpp(随便建,或者main.cpp)进行输入代码测试:

如图示进入调试界面选择C++:

然后会在工作目录下的生成一个launch.json的启动配置文件:

使用下面代码替换该文件:(只是在vsc自己产生的json文件加了一些行)

launch.json中有很多属性可以设置, 通过智能提示查看有那些属性可以设置, 如果要查看属性的具体含义, 可以把鼠标悬停在属性上面, 会属性的使用说明.

{
“version”: “0.2.0”,
“configurations”: [
{
“name”: “(gdb) Launch”, // 配置名称,将会在启动配置的下拉菜单中显示
“type”: “cppdbg”, // 配置类型,这里只能为cppdbg
“request”: “launch”, // 请求配置类型,可以为launch(启动)或attach(附加)
“program”: “${workspaceFolder}/${fileBasenameNoExtension}.exe”,// 将要进行调试的程序的路径
“args”: [], // 程序调试时传递给程序的命令行参数,一般设为空即可
“stopAtEntry”: false, // 设为true时程序将暂停在程序入口处,一般设置为false
“cwd”: “${workspaceFolder}”, // 调试程序时的工作目录,一般为${workspaceFolder}即代码所在目录
“environment”: [],
“externalConsole”: true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
“MIMode”: “gdb”,
“miDebuggerPath”: “C:\\Program Files (x86)\\CodeBlocks\\MinGW\\bin\\gdb32.exe”, // miDebugger的路径,注意这里要与MinGw的路径对应
“preLaunchTask”: “g++”, // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
“setupCommands”: [
{
“description”: “Enable pretty-printing for gdb”,
“text”: “-enable-pretty-printing”,
“ignoreFailures”: true
}
]
}
]
}

更新:注意:如评论区所说,workspaceRoot已被弃用,现改为workspaceFolder,上面的代码我已经改好了

更新:vscode默认的”externalConsole”: false,,而我这里改为了true,改为true即在控制台内部运行,不显示黑框,但是要是不显示黑框似乎没法输入(cin或者scanf)了(没怎么试过,读者可以试试)

注意miDebuggerPath要与MinGw的路径对应 ,我用的codeblocks的gdb,见上面的json文件。

注意miDebuggerPath是\\,与直接粘贴过来的路径不一样,需要加一个”\”(冒号后面的两个反斜杠“\\”),或者使用一个“/”

替换后保存,然后切换至test.cpp,按F5进行调试,此时会弹出一个信息框要求你配置任务运行程序,点击它~

请点击第二个“配置任务”,然后出现这个:点就行了~

之后出现:

在这里随便选一个:(我选的others)【随便选,反正最后tasks.json文件要被覆盖】

然后用下面代码替换:【更新:原来的”version”: “0.2.0”似乎会有下划线报错,那就按照vscode说的改为2.0.0好了,下面的是最新的复制即可。】

{
“version”: “2.0.0”,
“command”: “g++”,
“args”: [“-g”,${file},“-o”,${fileBasenameNoExtension}.exe”], // 编译命令参数
“problemMatcher”: {
“owner”: “cpp”,
“fileLocation”: [“relative”, ${workspaceFolder}],
“pattern”: {
“regexp”: “^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$”,
“file”: 1,
“line”: 2,
“column”: 3,
“severity”: 4,
“message”: 5
}
}
}

注意:“label”那一行,要和前面的`launch.json`中的”preLaunchTask”: “g++”这里写的一样,因为前面`launch.json`中的”preLaunchTask”里我改为了g++,所以这里我也改为g++,vscode默认的是`g++.exe build active file`【`launch.json`(”preLaunchTask”: “g++.exe build active file”)和`tasks.json`(”label”: “g++.exe build active file”),都是默认的这个,当然无论是什么,只要保持一致就行】

保存一下,然后切换至test.cpp,再次按F5启动调试~

6、其他

一劳永逸:因为VS需要为每一个文件夹做单独配置,所以建议把.vscode文件夹放到你常用的文件夹的顶层,这样就不用重复配置了。
不用每个新cpp文件就要一套配置。这些配置在你配置好的文件夹内的所有子文件夹和文件都能使用。

最后补一句:

vscode似乎还仅仅支持英文文件名的调试,中文调试的话就会出现“找不到文件XXXXX.cpp”(大意,原文记不清了,因为距离这个问题我已经解决很长时间了,今天看到想补一下,别让新人踩坑了。。。),然后问是否要创建,不知道是BUG还是啥,这纠结了我N久,因为我有些cpp文件是中文命名的,我去Github上找相应的issue也没有找到我想要的这个问题解答,最后偶然间发现英文命名的文件调试时不会出现这个问题,才解决了!!真的很坑!!!新人注意!!!这里浪费了我很长很长时间!!

 

好了,Linux的我就不粘了先,等我用到了在跟大家分享吧,下面说一下需要注意的;

ctrl+shift +p可以直接调出来上面的任务栏

尽量不要使用带有中文的工作区路径,不然容易崩了

需要设置断点,不然它会一闪而过,方法是在行数的左边的小红点上点一下就行了。或者加一个getchar()也是可以的。如果设置断点后结束运行要点击浮窗上的停止按钮,而不是直接叉掉。

那个.vscode文件需要放在和cpp文件同级的目录里,里面的配置文件可以直接粘上面的代码。


1 条评论

匿名 · 2020年2月2日 下午11:27

233333

发表回复

Avatar placeholder

您的邮箱地址不会被公开。 必填项已用 * 标注