命令行接口(CLI)
Visual Studio Code 内置了强大的命令行界面,允许你控制如何启动编辑器。你可以打开文件、安装扩展、更改显示语言,并通过命令行选项(开关)输出诊断。

如果你想了解如何在 VS Code 中运行命令行工具,请参见集成终端。
命令行帮助
要了解 VS Code 命令行界面,请打开终端或命令提示符并输入代码——帮助. 你会看到版本、使用示例和命令行选项列表。

从命令行启动
你可以从命令行启动 VS Code,快速打开文件、文件夹或项目。通常,你是在文件夹上下文中打开 VS Code。作方法是从打开终端或命令提示符,进入你的项目文件夹并输入代码。:

macOS 用户必须先执行命令(Shell 命令:在 PATH 中安装 'code' 命令)以添加 VS Code 可执行文件到路径环境变量。请阅读macOS的设置指南以获取帮助。
Windows和Linux安装应该把VS Code二进制文件的位置添加到你的系统路径中。如果不是这样,你可以手动把位置添加到路径环境变量($PATH在 Linux 上)。例如,在 Windows 上,VS Code 二进制文件默认的位置是AppData\Local\Programs\Microsoft VS Code\bin.要查看针对特定平台的设置说明,请参见“设置”。
如果你使用 VS Code Insiders 预览版,启动 Insiders 构建时会用代码内部人士.
核心CLI选项
以下是你在命令行启动 VS Code 时可以使用的可选参数,如下:代码:
| 论点 | 描述 |
|---|---|
-h或--帮助 |
印刷用途 |
-v或——版本 |
Print VS Code 版本(例如 1.22.2)、GitHub 提交 ID 和架构(例如 x64)。 |
-n或——新窗 |
它会打开一个新的VS Code会话,而不是恢复之前的会话(默认)。 |
-r或——重用窗口 |
强制在最后一个活跃窗口打开文件或文件夹。 |
- |
从标准版读取并用 VS Code 打开(例如,'echo Hello World' |
-g或——去 |
当与 file:line{:character} 一起使用时,会在特定行和可选字符位置打开文件。该论证的提供是因为某些作系统允许:在一个文件名中。 |
-d或--diff <file1> <file2> |
打开文件差分编辑器。需要两个文件路径作为参数。 |
-m或--合并<path1> <path2> <base> <result> |
通过为两个修改过的版本提供路径、两个修改版本的共同来源以及保存合并结果的输出文件,来执行三向合并。 |
-w或——等等 |
等文件关闭后再回来。 |
——地点<地点> |
为 VS Code 会话设置显示语言(地点)。(例如,美国或真是太棒了) |

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

选择个人资料
你可以通过——简介命令行界面选项。你在——简介然后用该配置文件打开一个文件夹或工作区。下面的命令行会打开网页样本带有“Web Development”配置文件的文件夹:
code ~/projects/web-sample --profile “Web Development”
如果指定的配置文件不存在,则创建一个带有名字的新空配置文件。
使用扩展
你可以从命令行安装和管理 VS Code 扩展。
| 论点 | 描述 |
|---|---|
--install-extension <extension-id> |<extension-vsix-path> |
安装或更新扩展。请提供完整的分机名称出版商.扩展或者将VSIX文件的路径作为参数。要安装特定版本,请输入 append。@{版本}.例如:vscode.csharp@1.2.3.用途——力争论以避免提示。用途——简介关于安装某个特定配置文件的论点。 |
--卸载扩展 <extension-id> |
卸载一个扩展。请提供完整的分机名称出版商.扩展作为论点。用途——简介关于某个配置文件的卸载论点。 |
--禁用扩展 |
禁用所有已安装的扩展。扩展功能仍会显示在扩展视图的禁用部分,但它们永远不会被激活。 |
--列表扩展 |
列出已安装的扩展。——简介论点可以用来列出某个特定档案。 |
——节目版 |
在使用时显示已安装扩展的版本--列表扩展 |
--enable-proposed-api <ext> |
启用扩展中拟议的API功能。请提供完整的分机名称出版商.扩展作为论点。 |
--更新扩展 |
更新已安装的扩展并退出。 |

从命令行开始聊天
你可以直接从命令行通过使用聊天VS Code CLI 中的子指令。这允许你在当前工作目录中开启聊天会话,并提供提示。
例如,以下命令打开当前目录的聊天,并请求“查找并修复所有未类型变量”:
code chat Find and fix all untyped variables
该聊天子命令具有以下命令行选项:
-m,——模式<模式>:用于聊天会话的定制代理。可选方案:问问,编辑,特工,或定制代理的标识符。默认特工.-a,--add-file <path>:将文件作为聊天会话的上下文添加。——最大化:最大化聊天会话视图。-r,——重用窗口:使用聊天会话的最后一个活跃窗口。-n,——新窗:打开一个空窗口进入聊天会话。
该聊天子命令还支持从以下区域输入管道标准通过在指令结束时传递。例如:-
python app.py | code chat why does it fail -
高级CLI选项
有几种CLI选项可以帮助重现错误和高级设置。
| 论点 | 描述 |
|---|---|
--分机-主任<主任> |
设置扩展的根路径。 在便携模式下被 数据文件夹。 |
--user-data-dir <dir> |
指定用户数据存放的目录。可用于运行多个独立的VS Code实例,拥有不同的环境、设置和扩展。运行root时也很有用。 在便携模式下被 数据文件夹。 |
-s, --状态 |
打印工艺使用和诊断信息。 |
-p, --性能 |
先启用开发者:启动性能命令。 |
--禁用-GPU |
禁用GPU硬件加速。 |
——冗长 |
打印冗长输出(暗示——等等). |
--教授-启动 |
启动时运行CPU性能分析器。 |
——上传日志 |
将当前会话的日志上传到安全终端。 |
——远程<权威机构> |
连接到远程开发环境。管理局规定了WSL的远程连接方式 (WSL+<发行版名称> <路径在WSL中使用>)或 SSH (SSH-远程+<remote_server> <路径>). |
| 多根 | |
——加上<导演> |
在多根工作区的最后一个活跃窗口中添加文件夹。 |
——去掉<导演> |
移除多根工作区最后一个活跃窗口中的文件夹。 |
隔离VS Code实例
默认情况下,VS Code 实例共享环境变量如下:
- 如果这是第一个VS Code实例,环境变量会继承自父进程。
- 如果这不是第一个 VS Code 实例,环境变量会继承自已运行的 VS Code 实例。
当你需要为不同项目或构建配置使用不同的环境变量时,这种行为可能会带来问题。比如说,如果你在做两个需要不同版本Node.js的项目路径设定。
要运行带有独立环境变量的 VS Code 实例,请使用--用户-数据-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
每个实例都不同--用户-数据-dir将保持自身:
- 环境变量
- 设置与偏好
- 已安装的扩展
- 界面状态与布局
使用--用户-数据-dir你需要为每个用户数据目录重新安装扩展,因为扩展是单独存储的。
创建远程隧道
VS Code 与其他远程环境集成,变得更加强大和灵活。我们的目标是提供一个连贯的体验,让你能够从一个统一的 CLI 管理本地和远程机器。
Visual Studio Code 远程 - 隧道扩展允许你通过安全隧道连接到远程机器,比如台式机或虚拟机。隧道技术安全地将数据从一个网络传输到另一个网络。然后你可以从任何地方安全地连接到那台机器,无需 SSH。
我们已经在代码CLI会在远程机器上发起隧道。你可以运行:
code tunnel
在你的远程机器上创建一个隧道。你可以通过网页或桌面VS Code客户端连接到这台机器。
你可以通过运行来复习其他隧道命令代码隧道 - 帮助:

由于你可能需要在无法安装 VS Code Desktop 的远程机器上运行 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://{文件的完整路径}.

如果你用的是VS Code Insiders版本,URL前缀是VScode-insiders://.
下一步
继续阅读,了解:
常见问题
“代码”既不被识别为内部命令,也不是外部命令
你的作系统找不到VS Code的二进制文件代码在它的路径上。VS Code Windows和Linux安装应该已经在你的路径上安装了VS Code。试着卸载并重新安装VS Code。如果代码仍未找到,请查阅Windows和Linux平台的具体设置主题。
在macOS上,你需要手动在PATH命令中运行Shell命令:安装“code”命令(通过命令调色板⇧⌘P(Windows,Linux的Ctrl+Shift+P)使用)。详情请查阅macOS的具体设置主题。
我如何从VS Code内部访问命令行(终端)?
VS Code 有一个集成终端,你可以在 VS Code 内部运行命令行工具。
我可以指定VS Code的设置位置,以便拥有便携版吗?
虽然不是直接通过命令行,但VS Code有一个便携模式,可以让你把设置和数据放在安装位置,比如USB驱动器里。
我如何检测 VS Code 启动了 shell?
当 VS Code 启动时,它可能会启动一个 shell,以获取“shell 环境”以帮助设置工具。这会启动一个交互式登录 shell 并获取其环境。根据你的 shell 设置,这可能会引发问题。例如,shell 可能意外地以交互会话形式启动,而 VS Code 需要这样来尝试对齐$PATH在用户创建的终端中,精确的数值。
每当 VS Code 启动这个初始 shell,VS Code 会设置变量VSCODE_RESOLVING_ENVIRONMENT到1. 如果你的shell或用户脚本需要知道它们是否在这个shell上下文中运行,你可以检查VSCODE_RESOLVING_ENVIRONMENT价值。