V S c o d e 如 何 同 时 配 置 p y t h o n 和 C + + {\color{Red}VS code如何同时配置python和C++} VScode如何同时配置python和C++
目录
一、安装mingw-w64
MinGW 是一个编译环境,全称是Minimalist GNU For Windows,相当于 linux 下的 GCC
下载地址为:https://sourceforge.net/projects/mingw-w64/files/
打开以后进入如下网页:
不要直接点下载,往下找,找到最新的MinGW-W64 安装包,目前最新的是MinGW-W64 GCC-8.1.0,如下:
点击即可下载,下载完以后是一个7Z的压缩包,直接解压即可。建议建议解压到C盘,例如:C:\Program Files\mingw-w64
无论是Win10还是Win11直接在搜索框下键入高级系统设置,即可打开高级系统设置,在环境变量里添加mingw-w64下面的bin的绝对路径(建议解压到C盘)
添加环境变量:
点击 环境变量(N)–>单击系统变量(S) 中的Path–>单击下面的编辑–>新建–>在空格内输入上面安装MinGW后得到的bin文件的路径(例如:C:\Program Files\mingw-w64\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\mingw64\bin)–>确定–>确定–>确定。如下图所示。
二、cmd端查看是否安装成功gcc、gdb
2.1 查看gcc
Win+R,输入cmd
在终端中输入
gcc --version
得到:
2.2 查看gdb
在终端中输入
gdb --version
得到:
到这就表明安装成功。
三、安装 VSCode配置C++的必要插件
3.1 安装 C/C++
3.2 安装Code Runner、C/C++ Compile Run
3.3 安装 CodeLLDB(同时安装python3.x)
如果已经安装了anaconda,自带python3,就不用再安装python3了。
四、配置task.json
以编译运行单个1.cpp为例,配置如下:
1.cpp:
#include <iostream>
using namespace std;
int main(){
cout<< "Helloworld"<< endl;
return 0;
}
选择 终端> 配置默认生成任务。如下图
再选择C/C++:g++.exe build active file
进入task.json:
为了方便大家复制修改,贴出源码:
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "C/C++: g++.exe build active file", // 需与lauch.json中"preLaunchTask"项命名一致
"command": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\\mingw64\\bin\\gcc.exe", //需要修改成自己的gcc.exe所在路径,这个可执行文件在mingw-w64下面的bin里面,就是刚才添加到系统环境变量里的bin
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe" // 输出exe名,要与launch中调用的program项命名一致
],
"options": {
"cwd": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\\mingw64\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
这个基本不用怎么修改,直接进入得到的便是vscode为我们配置好的task.json
五、 配置launch.json
首先给个模板和作者自己的launch.json:
{
// 这是模板
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
// 转载自https://www.zhihu.com/question/456362523/answer/2144616793
"version": "0.2.0",
"configurations": [
{
"name": "gdbdebug",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}\\main.exe", // 调用的exe名,要与tasks生成的exe名一致
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true, // 决定输出是单独外部黑窗口显示,还是在IDE里终端黑窗口显示
"MIMode": "gdb",
"miDebuggerPath": "D:\\xx\\mingw\\bin\\gdb.exe",
"preLaunchTask": "Build", // 此项命名需要与tasks.json中的label项命名一致,作用是每次调用launch时会先调用tasks.json,从而不用自己每次都ctrl+shift+b手动生成最新任务后,才能调用launch
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
这是作者修改过后的launch.json:
{
// 这是我的launch.json,读者不需要看python.主要看C++(gdb启动)的部分
"version": "0.2.0",
"configurations": [
{
"name": "Python: Terminal (external)",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "externalTerminal"
},
{
"name": "(gdb) 启动",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\\mingw64\bin\\gdb.exe",
"preLaunchTask": "C/C++: g++.exe build active file",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
可以看到:重点在于指定 gdb 的位置。
修改 miDebuggerPath 部分。改为gdb.exe 绝对路径。读者请参考自己安装 MinGW 路径,我的为 C:\Program Files\mingw-w64\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\mingw64\bin\gdb.exe。
注意在launch.json中斜杠要写成双斜杠或者反斜杠也行
编译运行1.cpp将在下一篇博客中介绍。