安装vscode
安装cpptools插件
打开vscode,按ctrl+p打开快速命令框,输入以下命令后等待
ext install cpptools
vscode在短暂的联网查找后会列出插件列表,如图:
点击箭头所指处的按钮安装插件,安装过程可能会有些慢耐心等待
安装完成后vscode会提示你重启vscode,此时重启即可
安装编译
windows支持Cygwin 和 MinGW两种调试环境。
MinGW配置过程
下载
安装MinGW下载
点击install准备安装
配置MinGw
选中几个需要的项右键Make for Installation进行标记,其中gcc和g++为c和c++编译器
选择完全部想要安装的项后点击左上角Installation菜单下的Apply Changes应用修改,过程需联网,中间出现error可先继续,若最后失败则需翻墙更新,建议翻墙。
配置系统环境变量path
然后配置系统环境变量path,这一步为必须
在 我的电脑 上右键属性: 然后按照下面步骤做即可,注意最后新建的项要与之前MinGW安装位置相对应 。
修改vscode调试配置文件
新建CPP文件
#include <iostream>
using namespace std;
int main()
{
cout << "hello" << endl;
return 0;
}
进入调试
修改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
}
]
}
]
}
vscode默认的”externalConsole”: false,,
而我这里改为了true,
改为true即在控制台内部运行,不显示黑框,但是要是不显示黑框似乎没法输入(cin或者scanf)了。
:::info 注意:miDebuggerPath要与MinGw的路径对应 ,我用的codeblocks的gdb,见上面的json文件。 :::
注意miDebuggerPath是\,与直接粘贴过来的路径不一样,需要加一个”\”(冒号后面的两个反斜杠“\”),或者使用一个“/”
修改tasks.json
点击F5,报错,点击Configure Task,选择g++.exe
**
替换该代码:(两个版本)
{
"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
}
}
}
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": \[
{
"type": "shell",
"label": "g++", //这里注意一下,见下文
"command": "C:\\\\Program Files (x86)\\\\CodeBlocks\\\\MinGW\\\\bin\\\\g++.exe",
"args": \[
"-g",
"${file}",
"-o",
"${fileDirname}\\\\${fileBasenameNoExtension}.exe"
\],
"options": {
"cwd": "C:\\\\Program Files (x86)\\\\CodeBlocks\\\\MinGW\\\\bin"
},
"problemMatcher": \[
"$gcc"
\]
}
\]
}