Windows10环境下VS Code配置c/c++环境


文章是对 https://code.visualstudio.com/docs/cpp/config-mingw的翻译。一来供自己快速查看,二来给各位看官省去看原文的烦恼。不过,英文水平好的同学直接按照官方教程操作更佳。

1、安装VS和Mingw-w64(建议路径不要出现中文和空格)

1、Install Visual Studio Code.
2、Install the C/C++ extension for VS Code. You can install the C/C++ extension by searching for ‘c++’ in the Extensions view (Ctrl+Shift+X).
在这里插入图片描述
3、Install Mingw-w64 via the SourceForge website. Click Mingw-w64 to download the Windows Mingw-w64 installer.

  • Run the installer.
  • For Architecture select x86_64(关键) and then select Next.
  • Next again to use the default installation folder and install MinGW.

4、Add the path to your Mingw-w64 bin folder to the Windows PATH environment variable by using the following steps:
环境变量添加此处不再赘述(可见英文)。

后面几乎没有英文,请放心食用。

2、检查MinGW安装

终端下输入命令:

g++ -v
gdb -v

出现以下即为成功
在这里插入图片描述
在这里插入图片描述

3、创建工程

1、在某个目录下创建你的工程文件夹HELLOWORLD,用VS打开
在这里插入图片描述
2、添加c++文件helloworld.cpp, Ctrl+S保存
在这里插入图片描述
代码:

#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main()
{
    vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
    for (const string& word : msg)
    {
        cout << word << " ";
    }
    cout << endl;
}

4、编译helloworld.cpp

1、创建tasks.json(告诉VS代码如何构建(编译)程序),它会调用g++编译器根据源代码创建可执行文件。

  • choose 终端>配置默认生成任务(Terminal > Configure Default Build Task).
  • Choose g++.exe build active file(将构建当前在编辑器中显示(活动)的文件)
    在这里插入图片描述
    这将在.vscode文件夹中创建一个task.json文件,并在编辑器中将其打开。

tasks.json

{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "label": "C/C++: g++.exe build active file",
      "command": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\g++.exe",
      "args": ["-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe"],
      "options": {
        "cwd": "${workspaceFolder}"
      },
      "problemMatcher": ["$gcc"],
      "group": {
        "kind": "build",
        "isDefault": true
      }
    }
  ]
}

参考有关变量解释

  • command:指定要运行的程序;在这个例子中就是g++。
  • args:指定将传递给g++的命令行参数。这些参数必须按照编译器所期望的顺序指定。
    这个任务告诉g++获取活动文件(${file}),编译它,并在当前目录(${fileDirname})中创建一个与活动文件同名但扩展名为.exe的可执行文件(${fileBasenameNoExtension}.exe),在我们的示例中生成helloworld.exe。
  • label:是你将在任务列表中看到的内容;你可以给它起任何你喜欢的名字。
  • isDefault:组对象中的true值指定当您按Ctrl + Shift + B时​​将运行此任务。此属性仅出于方便起见;如果将其设置为false,仍然可以从“Terminal ”菜单中使用“Tasks: Run Build Task.”来运行它。

5、运行编译

1、返回helloworld.cpp。您的任务将构建活动文件,并且您希望编译helloworld.cpp。
2、要运行task.json中定义的构建任务,请按Ctrl + Shift + B或从**终端(Terminal)**主菜单中选择“运行生成任务(Run Build Task)”。
3、对于成功的g ++构建,输出看起来像这样:
在这里插入图片描述
或者
在这里插入图片描述
4、使用+按钮创建一个新的终端,输入hello(or .\helloworld.exeif you use a PowerShell terminal
在这里插入图片描述

6、修改task.json

1、 using an argument like "${workspaceFolder}\\*.cpp"instead of ${file}.:这将在当前文件夹中生成所有.cpp文件。
2、您也可以通过替换来修改输出文件名"${fileDirname}\\${fileBasenameNoExtension}.exe"用带有硬编码的文件名(例如 "${workspaceFolder}\\myProgram.exe").

7、调试helloworld.cpp

1、创建一个launch.json文件来配置VS Code,按F5调试程序时启动GDB调试器。

  • 从主菜单,选择运行 >添加配置…Run > Add Configuration…)然后选择c++ (GDB/LLDB)
  • 然后,您将看到各种预定义调试配置的下拉列表(列表应该是自动弹出,若未弹出,删除文件重新操作)。选择 g++.exe构建并调试活动文件( g++.exe build and debug active file)。
    在这里插入图片描述
    launch.json
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "g++.exe - Build and debug active file",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "miDebuggerPath": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\gdb.exe",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ],
      "preLaunchTask": "C/C++: g++.exe build active file"
    }
  ]
}
  • program:指定要调试的程序。在这里它被设置为活动文件夹${fileDirname}和扩展名为.exe的活动文件名${fileBasenameNoExtension}。如果helloworld.cpp是活动文件,它将是helloworld.exe
  • stopAtEntry:默认情况下,C ++扩展不会在源代码中添加任何断点,并且stopAtEntry值设置为false。将stopAtEntry值更改为true,以使调试器在启动调试时在main方法上停止。
  • preLaunchTask:用于指定启动前要执行的任务。确保它与task.json文件标签设置一致。

8、开始调试

1、返回helloworld.cpp,因此它是活动文件。
2、按F5或者运行>开始调试(Run > Start Debugging)。集成终端出现在源代码编辑器的底部。在“调试输出”选项卡中,您将看到指示调试器已启动并正在运行的输出。编辑器突出显示main方法中的第一条语句。这是C ++扩展自动为您设置的断点:
在这里插入图片描述
左侧的“运行”视图显示调试信息。在代码编辑器的顶部,将显示一个调试控制面板。您可以通过抓住左侧的点在屏幕上移动它。
具体调试指令在此就不再赘述。

9、C/C++ configurations

如有需要参考原文
如果希望对C/ c++扩展进行更多控制,可以创建一个c_cpp_properties.json文件,这将允许您更改设置诸如编译器的路径,包括路径,c++标准(默认是C + + 17),等等。
You can view the C/C++ configuration UI by running the command C/C++: Edit Configurations (UI) from the Command Palette (Ctrl+Shift+P).
在这里插入图片描述
这将打开“ C / C ++配置”页面。当您在此处进行更改时,VS Code会将它们写入.vscode文件夹中名为c_cpp_properties.json的文件中。
在这里,我们将配置名更改为GCC,将编译器路径下拉菜单设置为g++编译器,并将IntelliSense模式匹配编译器(GCC -x64)
在这里插入图片描述
c_cpp_properties.json

{
  "configurations": [
    {
      "name": "GCC",
      "includePath": ["${workspaceFolder}/**"],
      "defines": ["_DEBUG", "UNICODE", "_UNICODE"],
      "windowsSdkVersion": "10.0.18362.0",
      "compilerPath": "C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/g++.exe",
      "cStandard": "c11",
      "intelliSenseMode": "gcc-x64"
    }
  ],
  "version": 4
}

只有当您的程序包含的头文件不在工作区中或在标准库路径中时,您才需要添加到Include path数组设置中。

如若你的VS安装时,不支持鼠标右击打开文件夹。可参考:https://www.jianshu.com/p/e8c29211fba9 在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

irober

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值