命令行接口(CLI)

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

命令行示例

如果你想了解如何在 VS 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 会话设置显示语言(地点)。(例如,美国真是太棒了)

与Locale一起启动

打开文件和文件夹

有时你会想打开或创建一个文件。如果指定的文件不存在,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客户端连接到这台机器。

你可以通过运行来复习其他隧道命令代码隧道 - 帮助:

隧道帮助CLI命令的输出

由于你可能需要在无法安装 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://{文件的完整路径}.

Windows 资源管理器中的 vscode URL

注释

如果你用的是VS Code Insiders版本,URL前缀是VScode-insiders://.

下一步

继续阅读,了解:

  • 集成终端——在 VS Code 内部运行命令行工具。
  • 基础编辑——学习VS Code编辑器的基础知识。
  • 代码导航——VS Code让你快速理解并浏览源代码。

常见问题

“代码”既不被识别为内部命令,也不是外部命令

你的作系统找不到VS Code的二进制文件代码在它的路径上。VS Code Windows和Linux安装应该已经在你的路径上安装了VS Code。试着卸载并重新安装VS Code。如果代码仍未找到,请查阅WindowsLinux平台的具体设置主题。

在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_ENVIRONMENT1. 如果你的shell或用户脚本需要知道它们是否在这个shell上下文中运行,你可以检查VSCODE_RESOLVING_ENVIRONMENT价值。