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

如果你想了解如何在 VS Code 内部运行命令行工具,请参阅集成终端。
命令行帮助
要了解 VS Code 命令行界面的概况,请打开终端或命令提示符并输入 code --help。你将看到版本、用法示例以及命令行选项列表。

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

macOS 用户必须先运行一条命令(Shell Command: Install 'code' command in PATH),将 VS Code 可执行文件添加到 PATH 环境变量中。阅读macOS 设置指南以获取帮助。
Windows and Linux installations should add the VS Code binaries location to your system path. If this isn't the case, you can manually add the location to the Path environment variable ($PATH on Linux). For example, on Windows, the default VS Code binaries location is AppData\Local\Programs\Microsoft VS Code\bin. To review platform-specific setup instructions, see Setup.
如果你使用的是 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 |
强制在最后活动的窗口中打开文件或文件夹。 |
- |
从 stdin 读取并在 VS Code 中打开它(例如 'echo Hello World |
-g 或 --goto |
当与 file:line{:character} 一起使用时,在指定行和可选的字符位置打开文件。提供此参数是因为某些操作系统允许在文件名中使用 :。 |
-d 或 --diff <file1> <file2> |
打开文件差异编辑器。需要两个文件路径作为参数。 |
-m 或 --merge <path1> <path2> <base> <result> |
通过提供文件两个修改版本的路径、两个修改版本的共同源头以及用于保存合并结果的输出文件来执行三方合并。 |
-w 或 --wait |
等待文件关闭后再返回。 |
--locale <locale> |
设置 VS Code 会话的显示语言(区域设置)。(例如 en-US 或 zh-TW) |

打开文件和文件夹
有时你可能想要打开或创建一个文件。如果指定的文件不存在,VS Code 会为你创建它们以及任何新的中间文件夹
code index.html style.css documentation\readme.md
对于文件和文件夹,你都可以使用绝对路径或相对路径。相对路径是相对于运行 code 的命令提示符当前目录的。
如果你在命令行中指定了多个文件,VS Code 将只打开一个实例。
如果你在命令行中指定了多个文件夹,VS Code 将创建一个包含每个文件夹的多根工作区。
| 参数 | 描述 |
|---|---|
file |
要打开的文件的名称。如果该文件不存在,将被创建并标记为已编辑。你可以通过用空格分隔每个文件名来指定多个文件。 |
file:line[:character] |
与 -g 参数一起使用。要在指定行和可选字符位置打开的文件的名称。 |
folder |
要打开的文件夹的名称。你可以指定多个文件夹,系统将创建一个新的多根工作区。 |
--skip-add-to-recently-opened |
阻止将打开的文件和文件夹添加到最近打开列表中。 |

选择配置文件
你可以通过 --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 |
更新已安装的扩展并退出。 |

从命令行启动聊天
你可以使用 VS Code CLI 中的 chat 子命令直接从命令行启动聊天会话。这使你能够使用提供的提示词在当前工作目录中打开聊天会话。
例如,以下命令会打开当前目录的聊天并提问:“查找并修复所有未类型的变量”
code chat Find and fix all untyped variables
chat 子命令具有以下命令行选项
-m,--mode <mode>: 用于聊天会话的自定义智能体。可用选项:ask、edit、agent或自定义智能体的标识符。默认为agent。-a,--add-file <path>: 将文件添加为聊天会话的上下文。--maximize: 最大化聊天会话视图。-r,--reuse-window: 将最后活动的窗口用于聊天会话。-n,--new-window: 为聊天会话打开一个空窗口。
chat 子命令还支持通过在命令末尾传递 - 来管道传输来自 stdin 的输入。例如
python app.py | code chat why does it fail -
高级 CLI 选项
有几个 CLI 选项有助于重现错误和高级设置。
| 参数 | 描述 |
|---|---|
--extensions-dir <dir> |
设置扩展的根路径。 在便携模式下会被 data 文件夹覆盖。 |
--user-data-dir <dir> |
指定存放用户数据的目录。可用于运行多个具有独立环境、设置和扩展的隔离 VS Code 实例。在以 root 身份运行时也非常有用。 在便携模式下会被 data 文件夹覆盖。 |
-s, --status |
打印进程使用情况和诊断信息。 |
-p, --performance |
启动时启用 Developer: Startup Performance 命令。 |
--disable-gpu |
禁用 GPU 硬件加速。 |
--verbose |
打印详细输出(暗示 --wait)。 |
--prof-startup |
在启动期间运行 CPU 分析器。 |
--upload-logs |
将当前会话的日志上传到安全端点。 |
--remote <authority> |
连接到远程开发环境。authority 指定了 WSL (wsl+<distro name> <path in WSL>) 或 SSH (ssh-remote+<remote_server> <path on remote>) 的远程连接。 |
| 多根工作区 | |
--add <dir> |
将文件夹添加到多根工作区的最后一个活动窗口中。 |
--remove <dir> |
从多根工作区的最后一个活动窗口中移除文件夹。 |
隔离 VS Code 实例
默认情况下,VS Code 实例以以下方式共享环境变量
- 如果这是第一个 VS Code 实例,则环境变量继承自父进程。
- 如果这不是第一个 VS Code 实例,则环境变量继承自已经在运行的 VS Code 实例。
当你需要为不同的项目或构建配置设置不同的环境变量时,此行为可能会引发问题。例如,如果你正在处理两个需要不同 Node.js 版本或不同 PATH 设置的项目。
要使用独立的环境变量运行 VS Code 实例,请使用 --user-data-dir 选项为每个实例指定一个唯一的用户数据目录
# First instance with its own environment
code ~/project1 --user-data-dir ~/vscode-data-project1
# Second instance with different environment
code ~/project2 --user-data-dir ~/vscode-data-project2
具有不同 --user-data-dir 的每个实例将维护其自己的
- 环境变量
- 设置和首选项
- 已安装的扩展
- UI 状态和布局
使用 --user-data-dir 时,你需要为每个用户数据目录重新安装扩展,因为扩展是分开存储的。
创建远程隧道
VS Code 与其他远程环境集成,变得更加强大和灵活。我们的目标是提供一种连贯的体验,使你能够通过一个统一的 CLI 管理本地和远程机器。
Visual Studio Code Remote - Tunnels 扩展允许你通过安全隧道连接到远程机器(如台式机或虚拟机)。隧道可以安全地将数据从一个网络传输到另一个网络。然后,你可以从任何地方安全地连接到该机器,而无需使用 SSH。
我们在 code CLI 中内置了一项功能,可在远程机器上启动隧道。你可以运行
code tunnel
在你的远程机器上创建隧道。你可以通过网页或桌面版 VS Code 客户端连接到此机器。
你可以通过运行 code tunnel -help 来查看其他隧道命令

由于你可能需要在无法安装 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://{full path to file} 运行。

如果你使用的是 VS Code Insiders 构建版本,则 URL 前缀为 vscode-insiders://。
下一步计划
继续阅读以了解有关以下内容的更多信息
常见问题
'code' 不是内部或外部命令
你的操作系统在其路径中找不到 VS Code 二进制文件 code。VS Code 的 Windows 和 Linux 安装程序应该已经在你的路径中安装了 VS Code。请尝试卸载并重新安装 VS Code。如果仍然找不到 code,请查阅针对 Windows 和 Linux 的特定平台设置主题。
在 macOS 上,你需要手动运行 Shell Command: Install 'code' command in PATH 命令(可通过命令面板 ⇧⌘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 的值。