现已推出!了解 11 月的新功能和修复。

Visual Studio Code 的 C/C++

Visual Studio Code 的 C/C++ 支持由 Microsoft C/C++ 扩展提供,以在 Windows、Linux 和 macOS 上实现跨平台 C 和 C++ 开发。 当您创建 *.cpp 文件时,该扩展会添加语法突出显示(着色)、智能补全和悬停(IntelliSense)以及错误检查等功能。

C++ language features

安装扩展

  1. 打开 VS Code。
  2. 在“活动栏”上选择“扩展”视图图标,或使用键盘快捷键 (⇧⌘X (Windows, Linux Ctrl+Shift+X))。
  3. 搜索 'C++'
  4. 选择 安装

C/C++ extension

设置 C++ 环境

C++ 是一种编译语言,这意味着必须先翻译(编译)程序的源代码,然后才能在计算机上运行。 C/C++ 扩展不包括 C++ 编译器或调试器,因为 VS Code 作为编辑器依赖于命令行工具进行开发工作流。 您需要安装这些工具或使用计算机上已安装的工具。

检查是否已安装编译器

注意:您的学术或工作开发环境可能已提供 C++ 编译器和调试器。 请咨询您的讲师或同事,以获取有关安装推荐的 C++ 工具集(编译器、调试器、项目系统、代码检查工具)的指导。

某些平台上已预安装的常用编译器是 Linux 上的 GNU 编译器集合 (GCC) 以及 macOS 上带有 XcodeClang 工具。

要检查您是否已安装它们

  1. 使用 (⌃⇧` (Windows, Linux Ctrl+Shift+`)) 打开一个新的 VS Code 终端窗口

  2. 使用以下命令检查 GCC 编译器 g++

    g++ --version
    

    或者使用此命令检查 Clang 编译器 clang

    clang --version
    

输出应显示编译器版本和详细信息。 如果找不到任何一个,请确保您的编译器可执行文件位于您的平台路径(Windows 上的 %PATH,Linux 和 macOS 上的 $PATH)中,以便 C/C++ 扩展可以找到它。 否则,请使用以下部分中的说明来安装编译器。

安装编译器

如果您没有安装编译器,可以按照我们的安装教程之一进行操作

Windows:

转到 MSVC 教程

转到 MinGW 教程

Linux:

转到 GCC 教程

macOS:

转到 Clang 教程

注意:如果您更喜欢使用完整的集成开发环境 (IDE),其中包含内置的编译、调试和项目模板(“文件”>“新建项目”),则有许多选项可用,例如 Visual Studio Community 版本。

示例:在 Windows 上安装 MinGW-x64

为了了解这个过程,让我们通过 MSYS2 安装 Mingw-w64。 Mingw-w64 是 Windows 上一个流行的免费工具集。 它提供 GCC、Mingw-w64 和其他有用的 C++ 工具和库的最新原生版本。

  1. 使用 此指向 MinGW 安装程序的直接链接进行下载。

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

  3. 在向导中,选择您所需的“安装文件夹”。 记录此目录以供以后使用。 在大多数情况下,建议的目录是可以接受的。 当您进入设置开始菜单快捷方式步骤时,也适用相同的规则。 完成后,请确保选中 立即运行 MSYS2 复选框,然后选择 完成。 然后,将自动打开一个 MSYS2 终端窗口。

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

    pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain
    
  5. Enter 键接受 toolchain 组中的默认程序包数。

    MYSS2 Installer

  6. 当提示是否继续安装时,输入 Y

  7. 使用以下步骤将 MinGW-w64 bin 文件夹的路径添加到 Windows PATH 环境变量

    1. 在 Windows 搜索栏中,键入 设置 以打开 Windows 设置。
    2. 搜索 编辑帐户的环境变量
    3. 用户变量 中,选择 Path 变量,然后选择 编辑
    4. 选择 新建,然后将您在安装过程中记录的 MinGW-w64 目标文件夹添加到列表中。 如果您选择了默认安装步骤,则路径为:C:\msys64\ucrt64\bin
    5. 选择 确定,然后在 环境变量 窗口中再次选择 确定,以更新 PATH 环境变量。 您必须重新打开任何控制台窗口,才能使更新后的 PATH 环境变量可用。
  8. 检查您的 MinGW-w64 工具是否已正确安装且可用,请打开一个命令提示符,然后键入

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

您应该会看到输出,其中指出您安装的 GCC、g++ 和 GDB 版本。 如果不是这种情况,请确保您的 PATH 条目与编译器工具所在的 Mingw-w64 二进制文件位置匹配,或参考故障排除部分

创建 Hello World 应用程序

为了确保正确安装和配置编译器,让我们创建一个 Hello World C++ 程序。

创建 C++ 文件

  1. 在 Windows 上,启动 Windows 命令提示符(在 Windows 搜索栏中输入 Windows 命令提示符)。 在 macOS 和 Linux 上,您可以在终端中输入这些命令。
  2. 运行以下命令。它们会创建一个名为 projects 的空文件夹,你可以在其中放置所有的 VS Code 项目。接下来的命令会创建并导航到一个名为 helloworld 的子文件夹。然后,你使用 code 命令直接在 VS Code 中打开 helloworld
mkdir projects
cd projects
mkdir helloworld
cd helloworld
code .

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

现在,使用文件资源管理器中的新建文件按钮或文件 > 新建文件命令创建一个名为 helloworld.cpp 的新文件。

File Explorer New File button

添加 Hello World 源代码

粘贴以下源代码

#include <iostream>

int main()
{
    std::cout << "Hello World" << std::endl;
}

现在按 ⌘S (Windows, Linux Ctrl+S) 保存文件。你也可以通过在主文件菜单中选中自动保存来启用自动保存功能,从而自动保存你的文件更改。

运行 helloworld.cpp

  1. 确保你已打开 helloworld.cpp,使其成为编辑器中的活动文件。

  2. 按编辑器右上角的播放按钮。

    Screenshot of helloworld.cpp and play button

  3. 从系统上检测到的编译器列表中选择 C/C++: g++.exe 生成并调试活动文件

    C++ debug configuration dropdown

你只会在第一次运行 helloworld.cpp 时被提示选择编译器。此编译器将成为你的 tasks.json 文件中设置的“默认”编译器。

  1. 生成成功后,你应该会在集成的 终端 中看到“Hello World”。

    screenshot of program output

恭喜你!你刚刚在 VS Code 中运行了你的第一个 C++ 程序!下一步是了解有关 Microsoft C/C++ 扩展的语言功能(例如 IntelliSense、代码导航、生成配置以及使用下一节中的教程之一进行调试)的更多信息。

教程

开始使用 C++ 和 VS Code,并学习适合你环境的教程

文档

你可以在 VS Code 网站的 C++ 部分下找到有关使用 Microsoft C/C++ 扩展的更多文档,你可以在其中找到有关以下主题的文章:

C++ TOC on code.visualstudio.com

远程开发

VS Code 和 C++ 扩展支持远程开发,允许你在远程计算机或 VM 上通过 SSH 工作、在 Docker 容器内或在 适用于 Linux 的 Windows 子系统 (WSL) 中工作。

安装远程开发支持

  1. 安装 VS Code 远程开发扩展包
  2. 如果远程源文件托管在 WSL 中,请使用 WSL 扩展。
  3. 如果你通过 SSH 连接到远程计算机,请使用 Remote - SSH 扩展。
  4. 如果远程源文件托管在容器中(例如,Docker),请使用 Dev Containers 扩展。

使用 AI 增强补全功能

GitHub Copilot 是一款 AI 驱动的代码完成工具,可帮助你更快、更智能地编写代码。你可以在 VS Code 中使用 GitHub Copilot 扩展来生成代码,或从它生成的代码中学习。

GitHub Copilot extension in the VS Code Marketplace

GitHub Copilot 为多种语言和各种框架提供建议,并且对于 Python、JavaScript、TypeScript、Ruby、Go、C# 和 C++ 特别有效。

你可以在 Copilot 文档中了解有关如何开始使用 Copilot 的更多信息。

反馈

如果你遇到任何问题或对 Microsoft C/C++ 扩展有任何建议,请在 GitHub 上提交问题和建议。如果你尚未提供反馈,你可以填写这份快速调查