现已发布!阅读 10 月份的新功能和修复。

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++ 工具集(编译器、调试器、项目系统、代码整理器)的指导。

一些平台上预安装的常用编译器有:GNU 编译器集合 (GCC) 在 Linux 上,Clang 工具以及 Xcode 在 macOS 上。

要检查是否已经安装了它们,请

  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 build and debug active file**。

    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++ 扩展支持远程开发,允许您通过 SSH 在远程机器或 VM 上工作,在 Docker 容器内工作,或在Windows Subsystem for Linux (WSL) 中工作。

要安装对远程开发的支持

  1. 安装 VS Code Remote Development Extension Pack
  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 上提交问题和建议。如果您尚未提供反馈,您可以参加此快速调查