Visual Studio Code

Visual Studio Code 是一个轻量级的集成开发环境。它可用于在 Windows、Linux 和 macOS 上开发 C/C++(以及其他编程语言)项目。

本文档描述了如何安装 Visual Studio Code 以及应使用哪些插件来配合 SUMO 代码库进行工作。

安装#

下载#

Visual Studio Code 的专有二进制文件可以从 这里 下载。也有开源二进制文件可以从 这里 下载(MIT 许可证)。

插件#

Visual Studio Code 的标准安装仅提供用于 C/C++ 和 Python 源代码编辑的基本支持。为此,Visual Studio Code 可以通过插件进行扩展以提供额外的功能。我们(至少)推荐以下插件:

  • C/C++ (来自 Microsoft),用于简化代码浏览、启用代码补全和调试
  • CMake Tools (来自 Microsoft),用于利用 CMake 构建支持
  • Python (来自 Microsoft),用于在 Python 中利用代码浏览、代码补全和调试
  • CMake (来自 twxs),在编辑 CMakeLists.txt 文件时提供对 CMake 规范语言的支持

您不需要手动选择它们。通常,只需打开一些 .cpp 和 .py 文件,然后安装 Visual Studio Code 推荐的插件即可。

Visual Studio Code 推荐插件

成功安装这些插件后,您可能需要重新启动 Visual Studio Code 才能使用它们。

配置#

在 Visual Studio Code 中打开 SUMO 代码库之前,您应确保 CMake Tools 插件已正确配置。单击插件的齿轮图标可以打开扩展设置窗口。

Visual Studio Code CMake 设置

请注意,您可以为 用户 或当前的 工作区 设置这些选项,从而影响工作区中的所有 CMake 项目。

我们建议修改以下设置:

  • Cmake: Build Directory:设置为您的源外构建目录,例如 ${workspaceFolder}/build/vscode/${buildType}
  • Cmake: Parallel Jobs:如果您有多个 CPU 或多个 CPU 核心,请设置为 2 * N 的值,其中 N 表示您机器上的核心数,例如 2

使用 SUMO 仓库#

您现在可以通过 File -> Open ... 在 Visual Studio Code 中打开本地的 SUMO git 仓库,并将其指向仓库所在的目录。

CMake 配置#

CMake Tools 插件应自动识别 SUMO 顶级目录中的 CMakeLists.txt 文件,并触发 CMake 配置以查找编译器和可用库。您可以在底部的输出窗口中查看该过程的结果。

Visual Studio Code CMake 配置输出

您的机器上可能安装了不同的 C/C++ 编译器。在 CMake 中,这些不同的编译器安装被称为编译器套件 (compiler kits)。CMake Tools 插件允许您通过打开命令面板(在 macOS 上使用 Command + Shift + P)并输入 CMake: Select a Kit 来在不同的编译器套件之间切换。

SUMO 提供某些在编译期间可以启用或禁用的功能。CMake 将这些功能称为 变体 (variants)。这些变体在 SUMO 仓库顶级目录的 cmake-variants.yaml 文件中定义。该文件描述了 CMake 配置过程的某些功能或属性。在 Visual Studio Code 中,您可以使用命令面板并输入 CMake: Select Variant 轻松地在不同的预定义变体之间切换。您应使用此功能在 SUMO 的 releasedebug 构建之间快速切换。

CMake 构建#

可以通过使用命令面板 (CMake: Build) 或按 F7 来触发构建。可以通过命令面板 (CMake: Build Target) 或按 Shift + F7 来触发特定目标的构建过程。您可以在下半部分的输出窗口中跟踪构建结果。

运行和调试#

可以在 Run 菜单中启动生成的二进制文件(带或不带调试器),或者按 F5Ctrl + F5。在下一步中,您会很快注意到 Visual Studio Code 需要定义运行配置。这些配置在 .vscode/launch.json 配置文件中定义。要为 sumo 生成一个好的 launch.json,您可以运行脚本 tools/devel/generate_vscode_tasks.py(请注意它会覆盖任何现有的 launch.json)。您也可以单击底部的 Add Configuration... 按钮为 SUMO 添加新配置。

以下是在 macOS 上启动 sumo 的简单配置示例:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Start SUMO ",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/bin/sumo",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "lldb"
        }
    ]
}

Note

如果您尝试在 macOS 上使用运行配置启动 sumo-gui,启动将会失败,因为它找不到 XQuartz 服务器实例的正确 DISPLAY 变量。一种解决方法似乎是在上述配置中定义一个 preLaunchTask,为调试会话导出 DISPLAY 变量。但是,这需要更多测试。

一般说明#

键盘快捷键#

Visual Studio Code 设计为主要使用键盘操作,因此开始记忆一些最重要的快捷键是非常好的主意:

  • 在命令面板中显示所有命令:Shift + Command + P
  • 转到文件:Command + P
  • 开始构建:F7
  • 开始调试:F5

通用文档#

关于 Visual Studio Code 使用的通用文档可以在互联网上的各种地方找到,例如 Visual Studio Code Tutorial for Beginners - IntroductionVisual Studio Code Intro & Setup