安装vscode

VScode 下载

安装cpptools插件

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

  1. ext install cpptools

vscode在短暂的联网查找后会列出插件列表,如图:
image.png
点击箭头所指处的按钮安装插件,安装过程可能会有些慢耐心等待

image.png
安装完成后vscode会提示你重启vscode,此时重启即可

安装编译

windows支持Cygwin MinGW两种调试环境。

MinGW配置过程

下载

安装MinGW下载
点击install准备安装
image.png

配置MinGw

image.png
选中几个需要的项右键Make for Installation进行标记,其中gcc和g++为c和c++编译器
选择完全部想要安装的项后点击左上角Installation菜单下的Apply Changes应用修改,过程需联网,中间出现error可先继续,若最后失败则需翻墙更新,建议翻墙。

配置系统环境变量path

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

修改vscode调试配置文件

新建CPP文件

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

进入调试

image.png
image.png

修改launch.json文件

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

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

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

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

修改tasks.json

点击F5,报错,点击Configure Task,选择g++.exe
**
image.png

替换该代码:(两个版本)

  1. {
  2. "version": "2.0.0",
  3. "command": "g++",
  4. "args": \["-g","${file}","-o","${fileBasenameNoExtension}.exe"\], // 编译命令参数
  5. "problemMatcher": {
  6. "owner": "cpp",
  7. "fileLocation": \["relative", "${workspaceFolder}"\],
  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. }
  1. {
  2. // See https://go.microsoft.com/fwlink/?LinkId=733558
  3. // for the documentation about the tasks.json format
  4. "version": "2.0.0",
  5. "tasks": \[
  6. {
  7. "type": "shell",
  8. "label": "g++", //这里注意一下,见下文
  9. "command": "C:\\\\Program Files (x86)\\\\CodeBlocks\\\\MinGW\\\\bin\\\\g++.exe",
  10. "args": \[
  11. "-g",
  12. "${file}",
  13. "-o",
  14. "${fileDirname}\\\\${fileBasenameNoExtension}.exe"
  15. \],
  16. "options": {
  17. "cwd": "C:\\\\Program Files (x86)\\\\CodeBlocks\\\\MinGW\\\\bin"
  18. },
  19. "problemMatcher": \[
  20. "$gcc"
  21. \]
  22. }
  23. \]
  24. }