vscode的配置
准备
- VScode
- MinGW - w64
- C/C++
安装MinGW - w64
去官网找即可,相信你的聪明才智。
实际上可以去github上面,这里贴一个最新更新的地址。(通过官网的build下链接也可以进入)
https://github.com/niXman/mingw-builds-binaries/releases
VS Code
由于vscode的工作是依赖于工作区的,所以需要文件配置以及插件辅助,这里会列出一些所需要的插件,并进行文件配置指导。
插件列表:
- codesnap(代码截图工具)
(C/C++ part)
- C/C++(编译器)
- Chinese(中文包)
- code runner(轻量级使用)
- competitive programming helper(辅助用的)
- error lens(用于报错)
(python part)
- jupyter
- jupyter nodebook rendereis
- python
Code Runner环境配置
参考Windows VS Code 配置 C/C++ 开发环境
Ctrl+Shift+P
打开命令面板,运行C/Cpp: Edit configurations
,插件会在当前目录下创建.vscode/c_cpp_properties.jso
配置文件,只针对本次的项目。
{
"configurations": [
{
"name": "MinGW",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "{your_mingw-w64_bin_gcc.exe_path}",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
上面的{your_mingw-w64_bin_gcc.exe_path}
替换称所需要的编译器路径,例如:
- gcc:\(D:\program\MinGW\mingw64\bin\gcc.exe\)
- g++:\(D:\program\MinGW\mingw64\bin\g++.exe\)
- \(\text{\\}\),\(//\)都是可行的
编译与调试
tasks.json
Ctrl+Shift+P
打开命令面板,运行Tasks: Configure Task
,选择使用模板创建tasks.json文件
,选择others 运行任意外部命令的示例
,编辑器会自动生成.vscode/tasks.json
文件。编辑文件,例如:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
// 任务标签名
"label": "compile",
// 任务类型
"type": "shell",
// 编译器选择
"command": "gcc",
// 编译预执行的命令集
"args": [
"-g",
"\"${file}\"",
"-o",
"\"${fileDirname}\\${fileBasenameNoExtension}\""
],
// 任务输出配置
"presentation": {
"reveal": "always",
"panel": "shared",
"focus": false,
"echo": true
},
// 任务所属组名
"group": {
"kind": "build",
"isDefault": true
},
// 编译问题输出匹配配置
"problemMatcher": {
"owner": "cpp",
"fileLocation": "absolute",
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}
]
}
以上为gcc编译器配置,编译C++讲command
改为g++
即可。
但是目前只能编译不能进行调试。
launch.json
Ctrl+Shift+P
打开命令面板,输入Debug: Open launch.json
,选择C++(GDB/LLDB)
,会创建配置文件.vscode/launch.json
,需要基于mingw-w64进行配置:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
// 调试名
"name": "debug",
// 调试器类型
"type": "cppdbg",
// 请求类型
"request": "launch",
// 调试的可执行文件(tasks.json 中配置的编译输出的文件)
"program": "${fileDirname}/${fileBasenameNoExtension}.exe",
// 调试参数
"args": [],
"stopAtEntry": false,
// 当前工作区
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "{your_mingw-w64_bin_gdb.exe_path}",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
// 调试前启动的任务
// 要与 tasks.json 中配置的 label 一致
// 总是要先编译再调试的嘛
"preLaunchTask": "compile",
}
]
}
将上述{your_mingw-w64_bin_gdb.exe_path}
进行替换。
例如:\("D:\program\MinGW\mingw64\bin\gdb.exe"\)
具体的json内容请根据Tasks in Visual Studio Code和Debugging in Visual Studio Code进行修改。
事实上是tasks能直接配置,改一下地址就行,launch是设置的gdb启动然后改地址。