前言

  • 一款好的idea会让编码者身心愉悦,本次想为VisualCode编辑器添加c/C++和python编译调试的功能。

VisualCode C\c++环境安装

安装VisualCode

  • vscode 作为一款逐渐火热的编辑器。它的特点免费、开源、多平台,以及集成git,代码调试,插件丰富等有点,被大家逐渐熟知和认可。


安装MinGw

  1. MinGw,是Minimalist GNUfor Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合。
  2. 点击这里下载MinGw下载管理器
  3. 安装成功后,开始选择安装MinGW的必要插件,此处选择了GCC、G++和GDB
  4. 请注意若未使用本方法中的MinGW可能会存在的问题版本过低的问题

设置MinGW的环境变量

  • 为MinGw设置环境变量,使G++、GCC、GDB等成为有效命令


配置VisualCode的tasks.json

  • 新建任意名字的文件夹
  • 在环境选项打开设置搜索tasks.json(在文件夹中打开)
  • 配置改文件时可能会出现MinGW版本过低的问题(命令执行错误)

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

配置VisualCode的launch.json

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

参考链接

感谢以下链接对我的帮助!O(∩_∩)O~~
https://blog.csdn.net/bat67/article/details/76095813

留言

⬆︎TOP