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

命令行界面 (CLI)

Visual Studio Code 内置了强大的命令行界面,可让你控制编辑器的启动方式。你可以通过命令行选项(开关)打开文件、安装扩展、更改显示语言以及输出诊断信息。

command line example

如果你想了解如何在 VS Code 内部运行命令行工具,请参阅集成终端

命令行帮助

要获取 VS Code 命令行界面的概览,请打开终端或命令提示符,然后输入 code --help。你将看到版本、用法示例以及命令行选项列表。

command line help

从命令行启动

你可以从命令行启动 VS Code,以快速打开文件、文件夹或项目。通常,你会在文件夹的上下文中打开 VS Code。为此,请从打开的终端或命令提示符中,导航到你的项目文件夹并输入 code .

launch VS Code

注意: macOS 用户必须先运行一个命令 (Shell 命令: 在 PATH 中安装 "code" 命令),才能将 VS Code 可执行文件添加到 PATH 环境变量中。请阅读 macOS 设置指南 以获取帮助。

Windows 和 Linux 安装程序应该会将 VS Code 二进制文件位置添加到你的系统路径中。如果未添加,你可以手动将该位置添加到 Path 环境变量(在 Linux 上是 $PATH)。例如,在 Windows 上,默认的 VS Code 二进制文件位置是 AppData\Local\Programs\Microsoft VS Code\bin。要查看特定平台的设置说明,请参阅设置

Insiders 版本: 如果你使用的是 VS Code Insiders 预览版,请使用 code-insiders 启动你的 Insiders 版本。

核心 CLI 选项

以下是你在通过 code 从命令行启动 VS Code 时可以使用的可选参数:

参数 描述
-h--help 打印用法
-v--version 打印 VS Code 版本(例如,1.22.2)、GitHub 提交 ID 和架构(例如,x64)。
-n--new-window 打开一个新的 VS Code 会话,而不是恢复上一个会话(默认行为)。
-r--reuse-window 强制在最后一个活动窗口中打开文件或文件夹。
-g--goto file:line{:character} 一起使用时,在文件的特定行和可选字符位置打开文件。提供此参数是因为某些操作系统允许在文件名中使用 :
-d--diff <file1> <file2> 打开文件比较编辑器。需要两个文件路径作为参数。
-m--merge <path1> <path2> <base> <result> 通过提供一个文件的两个修改版本的路径、两个修改版本的共同源文件路径以及用于保存合并结果的输出文件路径,来执行三向合并。
-w--wait 等待文件关闭后再返回。
--locale <locale> 为 VS Code 会话设置显示语言 (locale)。(例如,en-USzh-CN)

launch with locale

打开文件和文件夹

有时你会想要打开或创建一个文件。如果指定的文件不存在,VS Code 会为你创建它们以及任何新的中间文件夹。

code index.html style.css documentation\readme.md

对于文件和文件夹,你都可以使用绝对路径或相对路径。相对路径是相对于你运行 code 命令的命令提示符的当前目录。

如果你在命令行上指定了多个文件,VS Code 将只打开一个实例。

如果你在命令行上指定了多个文件夹,VS Code 将创建一个包含每个文件夹的多根工作区

参数 描述
file 要打开的文件名。如果文件不存在,它将被创建并标记为已编辑。你可以通过用空格分隔每个文件名来指定多个文件。
file:line[:character] -g 参数一起使用。要打开的文件的名称,将在指定的行和可选的字符位置打开。
folder 要打开的文件夹名称。你可以指定多个文件夹,此时会创建一个新的多根工作区

go to line and column

选择配置文件

你可以通过 --profile 命令行界面选项使用特定的配置文件启动 VS Code。你在 --profile 参数后传递配置文件的名称,并使用该配置文件打开一个文件夹或工作区。下面的命令行使用 "Web Development" 配置文件打开 web-sample 文件夹:

code ~/projects/web-sample --profile "Web Development"

如果指定的配置文件不存在,则会创建一个具有给定名称的新空配置文件。

使用扩展

你可以从命令行安装和管理 VS Code 扩展

参数 描述
--install-extension <extension-id> | <extension-vsix-path> 安装或更新扩展。提供完整的扩展名称 publisher.extension 或 VSIX 文件的路径作为参数。要安装特定版本,请附加 @{version}。例如:vscode.csharp@1.2.3。使用 --force 参数以避免提示。使用 --profile 参数为特定配置文件安装。
--uninstall-extension <extension-id> 卸载扩展。提供完整的扩展名称 publisher.extension 作为参数。使用 --profile 参数为特定配置文件卸载。
--disable-extensions 禁用所有已安装的扩展。扩展仍将在扩展视图的已禁用部分可见,但它们永远不会被激活。
--list-extensions 列出已安装的扩展。--profile 参数可用于列出特定配置文件的扩展。
--show-versions 在使用 --list-extensions 时,显示已安装扩展的版本。
--enable-proposed-api <ext> 为扩展启用提议的 API 功能。提供完整的扩展名称 publisher.extension 作为参数。
--update-extensions 更新已安装的扩展并退出。

install extension

高级 CLI 选项

有几个 CLI 选项有助于重现错误和进行高级设置。

参数 描述
--extensions-dir <dir> 设置扩展的根路径。
便携模式下被 data 文件夹覆盖。
--user-data-dir <dir> 指定保存用户数据的目录,在以 root 身份运行时很有用。
便携模式下被 data 文件夹覆盖。
-s, --status 打印进程使用情况和诊断信息。
-p, --performance 启动时启用开发人员:启动性能命令。
--disable-gpu 禁用 GPU 硬件加速。
--verbose 打印详细输出(意味着 --wait)。
--prof-startup 在启动期间运行 CPU 分析器。
--upload-logs 将当前会话的日志上传到一个安全端点。
多根
--add <dir> 将文件夹添加到最后一个活动窗口以用于多根工作区。
--remove <dir> 从最后一个活动窗口中移除文件夹以用于多根工作区。

创建远程隧道

VS Code 与其他远程环境集成,使其功能更强大、更灵活。我们的目标是提供一种统一的体验,让你能从一个统一的 CLI 管理本地和远程机器。

Visual Studio Code 的 Remote - Tunnels 扩展让你能够通过安全隧道连接到远程机器,如台式电脑或虚拟机。隧道技术可以安全地将数据从一个网络传输到另一个网络。然后,你就可以从任何地方安全地连接到那台机器,而无需 SSH。

我们在 code CLI 中内置了功能,可以在远程机器上启动隧道。你可以运行

code tunnel

在你的远程机器上创建一个隧道。你可以通过 Web 或桌面版 VS Code 客户端连接到这台机器。

你可以通过运行 code tunnel -help 来查看其他隧道命令。

Output of tunnel help CLI command

由于你可能需要在无法安装 VS Code 桌面的远程机器上运行 CLI,因此 CLI 也可以在 VS Code 下载页面上进行独立安装。

有关远程隧道的更多信息,你可以查阅远程隧道文档

使用 URL 打开 VS Code

你也可以使用平台的 URL 处理机制打开项目和文件。使用以下 URL 格式来:

打开一个项目

vscode://file/{full path to project}/

vscode://file/c:/myProject/

打开一个文件

vscode://file/{full path to file}

vscode://file/c:/myProject/package.json

打开一个文件到指定的行和列

vscode://file/{full path to file}:line:column

vscode://file/c:/myProject/package.json:5:10

打开设置编辑器

vscode://settings/setting.name

vscode://settings/editor.wordWrap

你可以在能够解析和重定向 URL 的应用程序(如浏览器或文件浏览器)中使用该 URL。例如,在 Windows 上,你可以将 vscode:// URL 直接传递给 Windows 资源管理器或在命令行中作为 start vscode://{文件的完整路径} 传递。

vscode url in Windows Explorer

注意:如果你使用的是 VS Code Insiders 版本,URL 前缀是 vscode-insiders://

后续步骤

继续阅读以了解:

  • 集成终端 - 在 VS Code 内部运行命令行工具。
  • 基本编辑 - 学习 VS Code 编辑器的基础知识。
  • 代码导航 - VS Code 让你快速理解和在源代码中移动。

常见问题

“code”不是内部或外部命令

你的操作系统在其路径中找不到 VS Code 二进制文件 code。VS Code 的 Windows 和 Linux 安装程序应该已经将 VS Code 添加到你的路径中。请尝试卸载并重新安装 VS Code。如果仍然找不到 code,请查阅 WindowsLinux 的特定平台设置主题。

在 macOS 上,你需要手动运行 Shell 命令: 在 PATH 中安装 'code' 命令 (可通过命令面板 ⇧⌘P (Windows, Linux Ctrl+Shift+P)) 访问。请查阅 macOS 特定的设置主题以了解详情。

我如何从 VS Code 内部访问命令行(终端)?

VS Code 有一个集成终端,你可以在 VS Code 内部运行命令行工具。

我能否为 VS Code 指定设置位置,以便拥有一个便携版本?

不能直接通过命令行实现,但 VS Code 有一个便携模式,它允许你将设置和数据保存在与安装位置相同的地方,例如在 U 盘上。

我如何检测 shell 是由 VS Code 启动的?

当 VS Code 启动时,它可能会启动一个 shell 来获取“shell 环境”以帮助设置工具。这将启动一个交互式登录 shell 并获取其环境。根据你的 shell 配置,这可能会导致问题。例如,将 shell 作为交互式会话启动可能是意料之外的,而 VS Code 需要这样做来尝试将 $PATH 与用户创建的终端中的确切值对齐。

每当 VS Code 启动这个初始 shell 时,VS Code 会将变量 VSCODE_RESOLVING_ENVIRONMENT 设置为 1。如果你的 shell 或用户脚本需要知道它们是否在此 shell 的上下文中运行,你可以检查 VSCODE_RESOLVING_ENVIRONMENT 的值。