尝试以扩展 VS Code 中的代理模式!

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

一些平台预安装的常见编译器包括 Linux 上的 GNU 编译器集合 (GCC) 以及 macOS 上随 Xcode 提供的 Clang 工具。

检查是否已安装它们

  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. 将显示可用软件包列表

    MYSS2 Installer

  6. Enter 键接受 toolchain 组中默认数量的软件包。

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

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

    1. 在 Windows 搜索栏中,键入设置以打开 Windows 设置。
    2. 搜索编辑帐户的环境变量
    3. 用户变量中,选择 Path 变量,然后选择编辑
    4. 选择新建,然后将你在安装过程中记录的 MinGW-w64 目标文件夹添加到列表中。如果你选择了默认安装步骤,路径为:C:\msys64\ucrt64\bin
    5. 选择确定,然后在环境变量窗口中再次选择确定以更新 PATH 环境变量。你需要重新打开所有控制台窗口,以使更新后的 PATH 环境变量生效。
  9. 检查你的 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,该文件夹成为你的“工作区”。由于这是你创建的文件夹,请通过选择是,我信任作者来接受工作区信任对话框。

  3. 现在,使用文件资源管理器中的新建文件按钮或文件 > 新建文件命令创建一个名为 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 文件中设置的“默认”编译器。

  4. 构建成功后,你应在集成的终端中看到“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 在远程机器或虚拟机上、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 上提交问题和建议。如果你尚未提供反馈,可以参与此快速调查