3.3 安装Visual Studio Code

Microsoft Visual Studio Code 是一个可扩展的代码编辑器,其带有在线插件市场。

它是使用 CPython 的绝佳选择,因为它通过集成的 Git 界面来支持 C 和 Python。

安装

Visual Studio Code(有时称为 VS Code)的简单安装程序可在 code.visualstudio.com 上获得。

开箱即用的 VS Code 具有必要的代码编辑功能,但一旦安装了扩展,它就会变得更加强大。

你可以通过从顶部菜单中选择 View/Extensions 来访问 Extensions 面板:

截图不译。

在 Extensions 面板中,你可以按名称或按其唯一标识符(例如ms-vscode.cpptools)搜索扩展。在某些情况下,有许多名称相似的插件,因此请使用唯一标识符以确保安装的是正确的插件。

本书的推荐扩展

有几个对 CPython 有用的扩展:

  • C/C++(ms-vscode.cpptools) 提供对 C/C++ 的支持,包括 IntelliSense、调试和代码高亮显示。

  • Python (ms-python.python) 为编辑、调试和阅读 Python 代码提供了丰富的 Python 支持。

  • reStructuredText(lextudio.restructuredtext) 为 reStructuredText 提供了丰富的支持,reStructuredText 是 CPython 文档中使用的格式。

  • Task Explorer(spmeesseman.vscode-taskexplorer) 在 Explorer 选项卡中添加了一个 Task Explorer 面板,使启动 make 任务变得更加容易。

安装这些扩展后,你需要重新加载编辑器。

本书中的许多任务都需要命令行。你可以通过选择 Terminal/New Terminal 将集成终端添加到 VS Code 中。终端将出现在代码编辑器下方:

截图不译。

使用高级代码导航和扩展

安装插件后,你可以执行一些高级代码导航。

例如,如果右键单击 C 文件中的函数调用并选择 Go to References,VS Code 将在代码库中找到对该函数的其他引用:

截图不译。

Go to References 对于发现函数的正确调用形式非常有用。

如果单击或将鼠标悬停在 C 宏上,则编辑器会将该宏扩展为已编译代码:

截图不译。

要跳转到函数的定义,请将鼠标悬停在对它的任何调用上,然后在 macOS 上按 Cmd + Click 或在 Linux 和 Windows 上按 Ctrl + Click

配置任务和启动文件

VS Code 使用工作区目录中的 .vscode 文件夹。如果此文件夹不存在,请立即创建。你可以在此文件夹中创建以下文件:

  • tasks.json 用于执行项目的命令的快捷方式;

  • launch.json 配置调试器(参见“调试”一章);

  • 其他插件特定的文件。

如果尚不存在 tasks.json 文件,请在 .vscode 目录中创建一个 。这个 tasks.json 文件将帮助你开始:

cpython-book-samples/11/tasks.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "windows": {
                "command": "PCBuild/build.bat",
                "args": ["-p", "x64", "-c", "Debug"]
            },
            "linux": {
                "command": "make -j2 -s"
            },
            "osx": {
                "command": "make -j2 -s"
            }
        }
    ]
}

使用 Task Explorer 插件,你将在 vscode 组中看到已配置任务的列表:

截图不译。

在下一章中,你将了解更多关于编译 CPython 的构建过程。

Last updated