VSCode官方文档-中文翻译-配置C/C++语言编程环境

官方文档

以下是官方文档的连接:
官方文档
翻译如有错误,恳请指正。

C++

在Windows上使用GCC(GCC on Windows)

使用MinGW的GCC

在本教程中,你将配置Visual Studio Code来使用mingw-w64中的GCC C++编译器(g++)和GDB调试器,以创建在Windows上运行的程序。在配置完VS Code后,你将编译、运行和调试一个简单的Hello World程序。

本教程不会教你关于GCC、GDB、MinGW-w64或者C++语言的知识。对于这些主题,在网上有很多好的资源可供学习。

如果你遇到任何问题,可以随时在VS Code文档存储库中提出问题。

先决条件(Prerequisites)

要成功完成这个教程,你必须完成以下步骤:

  1. 安装 Visual Studio Code
  2. 安装 VS Code 的 C/C++ 扩展。你可以通过在扩展视图中搜索"C++" (Ctrl+Shift+X) 来安装 C/C++ 扩展。
    请添加图片描述

安装MinGW-w64工具链(Installing the MinGW-w64 toolchain)

通过MSYS2获取最新版的MinGW-w64,MSYS2提供了最新的GCC、MinGW-w64和其他有用的C++工具和库的本地构建版本。这将为你提供必要的工具来编译、调试和配置你的代码,以便与IntelliSense配合使用。

  1. 你可以从MSYS2页面下载最新的安装程序,或者使用这个直接链接进行下载

  2. 运行安装程序,并按照安装向导的步骤进行操作。请注意,MSYS2需要64位的Windows 8.1或更新版本。

  3. 在向导中,选择你希望的安装目录。将这个目录记录下来,稍后会用到。大多数情况下,推荐的目录是可以接受的。在设置开始菜单快捷方式的步骤时,也是一样。安装完成后,确保选中“Run MSYS2 now”复选框,然后选择“Finish”。这将为你打开一个MSYS2终端窗口。

  4. 在这个终端中,通过运行以下命令来安装MinGW-w64工具链:

pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain
  1. 通过按Enter键接受默认的工具链组中的软件包数量。
    请添加图片描述

  2. 在提示是否继续安装时,输入 Y

  3. 通过以下步骤将 MinGW-w64 bin 文件夹的路径添加到 Windows 的 PATH 环境变量中:

    1. 在 Windows 搜索栏中,输入设置以打开 Windows 设置。
    2. 搜索编辑帐户的环境变量
    3. 在你的用户变量中,选择Path变量,然后选择编辑
    4. 选择新建,将安装过程中记录的 MinGW-w64 目标文件夹添加到列表中。如果你使用了上述默认设置,则路径为:C:\msys64\ucrt64\bin
    5. 选择确定以保存更新后的 PATH。你需要重新打开任何控制台窗口,才能使用新的 PATH 位置。
检查你的 MinGW 安装

为了检查你的 MinGW-w64 工具是否安装正确并可用,打开一个新的命令提示符窗口,输入:

gcc --version
g++ --version
gdb --version

你应该会看到输出,显示你安装的GCC、g++和GDB的版本。如果不是这样的话:

  1. 确保你的PATH变量中的条目与MinGW-w64安装的工具链的二进制位置匹配。如果编译器不存在于该PATH条目中,请确保你按照先前的说明进行操作。
  2. 如果gcc有正确的输出,但gdb没有,那么你需要从MinGW-w64工具集中安装你缺少的包。
    • 如果在编译过程中出现“The value of miDebuggerPath is invalid.”(miDebuggerPath的值无效)的错误消息,其中一个原因可能是你缺少mingw-w64-gdb包。

创建一个Hello World应用程序(Create a Hello World app)

首先,让我们设置一个项目。

  1. 打开Windows命令提示符(在Windows搜索栏中输入命令提示符),然后
  2. 运行以下命令。这些命令将创建一个名为projects的空文件夹,你可以在其中放置所有你的VS Code项目。接下来,使用下面的命令创建并进入一个名为helloworld的子文件夹。从那里,你将直接在VS Code中打开helloworld
mkdir projects
cd projects
mkdir helloworld
cd helloworld
code .

“code .”命令将在当前工作文件夹中打开VS Code,该文件夹将成为你的“工作区”。由于这是你创建的文件夹,你可以选择是,我信任此作者以接受工作区信任对话框。

在教程中进行操作时,你将在工作区的.vscode文件夹中看到三个文件被创建:

  • tasks.json(构建说明)
  • launch.json(调试器设置)
  • c_cpp_properties.json(编译器路径和智能感知设置)
添加一个源代码文件

在文件资源管理器标题栏中,选择新建文件按钮,并将文件命名为helloworld.cpp

请添加图片描述

添加helloworld的源代码。

现在将以下源代码粘贴进去:

#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;
}

现在按下Ctrl+S保存文件。注意在VS Code侧边栏的文件资源管理器视图(Ctrl+Shift+E)中,你刚刚添加的文件是如何显示出来的。
请添加图片描述
你还可以选择启用自动保存以自动保存文件更改,方法是选择文件 > 自动保存。你可以在VS Code用户界面文档中了解更多关于其他视图的信息。

注意:当你保存或打开一个C++文件时,你可能会收到来自C/C++扩展的通知,通知你有一个Insiders版本可用,该版本可以让你测试新功能和修复。你可以通过选择X清除通知)来忽略此通知。

探索IntelliSense(Explore IntelliSense)

IntelliSense是一个工具,通过添加代码编辑功能,如代码补全、参数信息、快速信息和成员列表,帮助你更快、更高效地编写代码。

要看到IntelliSense的效果,在vectorstring上悬停以查看它们的类型信息。如果你在第10行输入msg.,你可以看到一个推荐的函数调用补全列表,所有这些都是由IntelliSense生成的:
请添加图片描述
你可以按下Tab键来插入选定的成员。如果随后添加了开括号,IntelliSense将显示需要的参数信息。

如果尚未配置IntelliSense,请打开命令面板(Ctrl+Shift+P),然后输入选择IntelliSense配置。从编译器的下拉列表中,选择使用gcc.exe进行配置。

运行helloworld.cpp(Run helloworld.cpp)

记住,C++扩展使用你在计算机上安装的C++编译器来构建你的程序。在尝试在VS Code中运行和调试helloworld.cpp之前,请确保你已完成“安装MinGW-w64工具链”的步骤。

  1. 打开helloworld.cpp,使其成为活动文件。

  2. 点击编辑器右上角的运行按钮。
    请添加图片描述

  3. 从系统检测到的编译器列表中选择C/C++: g++.exe生成和调试活动文件。
    请添加图片描述

你只会在第一次运行helloworld.cpp时被要求选择一个编译器。这个编译器将被设置为tasks.json文件中的"默认"编译器。

  1. 在构建成功之后,你的程序输出将显示在集成终端中。
    请添加图片描述
    恭喜你!你刚在VS Code中运行了你的第一个C++程序!
了解tasks.json

当你第一次运行你的程序时,C++扩展会创建一个tasks.json文件,你可以在项目的.vscode文件夹中找到它。tasks.json存储了你的构建配置。

你的新tasks.json文件应该类似于下面的JSON:

{
    
    
  "tasks": [
    {
    
    
      "type": "cppbuild",
      "label": "C/C++: g++.exe build active file",
      "command": "C:\\msys64\\ucrt64\\bin\\g++.exe",
      "args": [
        "-fdiagnostics-color=always",
        "-g",
        "${file}",
        "-o",
        "${fileDirname}\\${fileBasenameNoExtension}.exe"
      ],
      "options": {
    
    
        "cwd": "${fileDirname}"
      },
      "problemMatcher": ["$gcc"],
      "group": {
    
    
        "kind": "build",
        "isDefault": true
      },
      "detail": "Task generated by Debugger."
    }
  ],
  "version": "2.0.0"
}

注意:你可以在变量参考中了解更多关于tasks.json变量的信息。

command设置指定要运行的程序;在这个例子下是g++。args数组指定将传递给g++的命令行参数。这些参数以编译器所期望的特定顺序在此文件中列出。

这个任务告诉g++获取当前打开的文件(${file}),编译它,并在当前目录(${fileDirname})创建一个与当前打开的文件同名但扩展名为.exe的可执行文件(${fileBasenameNoExtension}.exe)。对于我们来说,这将产生helloworld.exe

label值是你将在任务列表中看到的名称;你可以根据需要给它命名。

detail值是你将在任务列表中看到的任务描述。强烈建议将该值重命名,以便与类似的任务区分开。

从现在开始,运行按钮将从tasks.json中读取信息,以确定如何构建和运行你的程序。你可以在tasks.json中定义多个构建任务,其中被标记为默认的任务将成为点击运行按钮时使用的任务。如果你需要更改默认的构建任务,可以在命令面板中运行 Tasks: Configure Default Build Task 命令。或者,你可以修改tasks.json文件并通过替换以下部分来移除默认设置:

    "group": {
    
    
        "kind": "build",
        "isDefault": true
    },

替换为:

    "group": "build",

7/14/2023

每周更新

很好,接下来你可以尝试看看:官方文档

猜你喜欢

转载自blog.csdn.net/weixin_44499065/article/details/133810731