为了成功完成教程,你只需要以下几步:
-
联网,以下几步都是需要有网才能操作的。
-
安装Visual Studio Code
链接: https://code.visualstudio.com/Download -
安装the C++ extension for VS Code
链接:https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools -
安装Mingw-w64, 注意将Mingw-w64安装到路径中没有空格的文件夹
链接:http://mingw-w64.org/doku.php/download/mingw-builds
点进去之后出现以下界面:
下载之后,进行安装,我这里选择的是左边这个,安装有一个界面显示,你需要选择:
posix :启用C ++ 11 / C11多线程功能。 使libgcc依赖于libwinpthreads,所以即使不直接调用pthreads API,也会分发winpthreads DLL。 分配一个更多的DLL与您的应用程序没有任何问题。
win32 :没有C ++ 11多线程功能
根据自己情况选择之后,接下来就是一顿next,安装完成。
- 将Mingw-w64 bin文件夹的路径添加到Windows path环境变量中:
打开cmd窗口,然后用setx指令将你安装的Mingw-w64的bin目录添加到系统环境变量中。如下:
以上完成好了之后,接下来创建工作空间:
也是在黑窗口,在一个新的Windows命令提示符中,创建一个名为projects的空文件夹,您可以在其中放置所有VS代码项目。然后创建一个名为helloworld的子文件夹,导航到其中,输入以下命令打开该文件夹中的VS代码:
示范:
执行.code会打开VScode.
接下来是配置编译环境:
按Ctrl+Shift+P打开命令面板。它是这样的:
这将打开C/ c++智能感知配置页面。当您在这里进行更改时,VS代码将它们写入一个名为c_cpp_properties的文件。.vscode文件夹中的json。
编译器路径设置是配置中最重要的设置。扩展使用它来推断c++标准库头文件的路径。当扩展知道在哪里可以找到这些文件时,它可以在您编写代码时为您提供许多有用的信息。该信息称为智能感知。
继续往下看,将 IntelliSense mode 设置成 gcc-x64
Visual Studio代码将这些设置放在.vscode/c_cpp_properties.json中。如果你直接打开这个文件,它应该是这样的(取决于你的特定的Mingw-w64路径):
接下来创建构建任务:
接下来,创建一个任务。json文件告诉VS代码如何构建(编译)程序。这个任务将调用g++编译器来创建一个基于源代码的可执行文件。
- 从主菜单中,选择查看>命令面板,然后键入“任务”,选择任务:配置默认构建任务。在下拉菜单中,选择Create tasks。从模板中选择json文件,然后选择其他。VS代码创建最小的任务。在编辑器中打开json文件。
- 继续并使用以下代码片段替换整个文件内容:
{
"version": "2.0.0",
"tasks": [
{
"label": "build hello world",
"type": "shell",
"command": "g++",
"args": ["-g", "-o", "helloworld", "helloworld.cpp"],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
label标签值是你将在VS代码命令面板中看到的;你可以随便给它取什么名字。
group对象中的isDefault": true值指定当您按Ctrl+Shift+B时将运行此任务。此属性仅为方便使用;如果将其设置为false,则必须从run Build Task下的命令面板菜单中运行它
配置调试设置
接下来,我们将配置VS代码,以便在按F5时启动GCC调试器(gdb.exe),
- 在命令面板中,键入“launch”,然后选择Debug: Open launch.json。接下来,选择GDB/LLDB环境。
- 对于程序,使用程序名称helloworld.exe(与您在tasks.json中指定的名称匹配)。您将需要调整您的miDebuggerPath值以匹配您的Mingw-w64安装的路径
- 默认情况下,c++扩展会在main的第一行中添加一个断点。stopAtEntry值设置为true,以使调试器在该断点上停止。如果您想忽略它,可以将其设置为false。
- 可选地,将externalConsole设置为true以在外部控制台中运行程序。
你完成配置之后。json文件应该是这样的:
VS代码现在配置为使用Mingw-w64。配置应用于当前工作区。要重用配置,只需将三个JSON文件复制到新工作区中的.vscode子文件夹中,并根据需要更改源文件和可执行文件的名称。
最后奉献我的三个文件配置:
c_cpp_properties.json:
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "D:\\requisite\\soft\\VSCODE\\MingW\\mingw64\\bin\\gcc.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
launch.json:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "D:\\requisite\\soft\\VSCODE\\MingW\\mingw64\\bin\\gdb.exe",
"preLaunchTask": "g++",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
tasks.json:
{
// 有关 tasks.json 格式的文档,请参见
// https://go.microsoft.com/fwlink/?LinkId=733558
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "g++",
"command": "D:\\requisite\\soft\\VSCODE\\MingW\\mingw64\\bin\\\\g++.exe",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "D:\\requisite\\soft\\VSCODE\\MingW\\mingw64\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build"
}
]
}
你只需要将mingw64的路劲替换成自己的路径,然后将这个三个放在.vscode里面,接着,将.vscode放到你的工作空间下最顶层目录里,那么,工作空间下新建c或者C++项目都不需要再配置这三个文件。