本站点文档内容均翻译自code.visualstudio.com,仅供个人学习,如有差异请以官网为准。

命令行界面 (CLI)

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

命令行示例

如果你正在寻找如何在 VS Code 内运行命令行工具,请参阅 集成终端

命令行帮助

要了解 VS Code 命令行界面的概览,请打开终端或命令提示符并输入代码 --help您将看到版本、使用示例和命令行选项列表。

命令行帮助

从命令行启动

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

启动 VS Code

注意

macOS用户必须首先运行一个命令 (Shell Command: 在 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--帮助 打印使用情况
-版本--版本 打印 VS Code 版本(例如,1.22.2),GitHub 提交 ID 和架构(例如,x64)。
-输入:n--新Windows 打开一个新的 VS Code 会话,而不是恢复以前的会话(默认)。
- r--重用Windows 力量在最后一个活动Windows中打开文件或文件夹。
输入:- 从标准输入读取并用 VS Code 打开它(例如,'echo Hello World
输入:-g--跳转 当与文件:行{:字符位置}一起使用时,打开一个文件在特定行和可选字符位置。由于某些操作系统允许输入:在文件名中。
输入:-d--diff 打开文件差异编辑器。需要两个文件路径作为参数。
-米--合并 <路径1> <路径2> <基> <结果> 通过提供两个文件修改版本的路径、两个修改版本的共同起源以及保存合并结果的输出文件,执行三路合并。
-宽--等待 在返回之前,请等待文件关闭。
--语言环境 <语言环境> 设置显示语言(区域设置)用于VS Code会话。(例如,英语-美国繁體中文)

启动与区域设置

打开文件和文件夹

有时您可能需要打开或创建一个文件。如果指定的文件不存在,VS Code 将为您创建它们以及任何新的中间文件夹:

代码 index.html style.css 文档\readme.md

对于文件和文件夹,您可以使用绝对或相对路径。相对路径是相对于您运行命令提示符的当前目录。代码输入:.

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

如果你在命令行中指定多个文件夹,VS Code 将创建一个多根工作区,包括每个文件夹。

争论 描述
文件 要打开的文件的名称。如果文件不存在,将创建该文件并标记为已编辑。您可以通过用空格分隔每个文件名来指定多个文件。
文件:行[:字符] 与...一起使用输入:-g参数。指定行和可选字符位置要打开的文件的名称。
文件夹 要打开的文件夹名称。您可以指定多个文件夹,并创建一个新的多根工作区
--跳过添加到最近打开的 阻止打开的文件和文件夹添加到最近打开的列表中。

转到行和列

选择一个配置文件

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

代码 ~/projects/web-sample --profile "Web Development"

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

使用扩展

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

争论 描述
--安装扩展 <扩展-id> | <扩展-vsix-路径> 安装或更新一个扩展。提供完整的扩展名称发布者.扩展或作为参数提供VSIX文件的路径。要安装特定版本,请提供 append@{版本}例如:vscode.csharp@1.2.3. 使用--强制避免提示的参数。使用--配置文件用于安装特定配置文件的参数。
--卸载扩展 <扩展ID> 卸载一个扩展。提供完整的扩展名称发布者.扩展作为论据。使用--配置文件用于卸载特定配置文件的参数。
--禁用扩展 禁用所有已安装的扩展。扩展仍将在扩展视图的禁用部分中可见,但它们将永远不会被激活。
--列出扩展 列出已安装的扩展。--配置文件参数可以用于列出特定配置文件。
--显示版本 显示已安装扩展的版本,当使用时--列出扩展
--启用实验性API <ext> 启用扩展的提议的API功能。提供完整的扩展名称发布者.扩展作为论据。
--更新扩展 更新已安装的扩展并退出。

安装扩展

从命令行开始聊天

您可以通过使用直接从命令行启动聊天会话聊天在 VS Code CLI 中使用子命令。这使您能够在当前工作目录中通过您提供的提示开始聊天会话。

例如,以下命令打开当前目录的聊天并询问“查找并修复所有未定义变量”:

代码 聊天 查找 修复 所有 未定义类型 变量

聊天子命令有以下命令行选项:

  • -米--模式 <模式>: 聊天会话中使用的自定义代理。可用选项:编辑Agent,或自定义代理的标识符。默认为Agent输入:.
  • -一个--添加文件 <路径>将文件添加到聊天会话中作为上下文。
  • --最大化最大化聊天会话视图。
  • - r--重用Windows使用聊天会话的最后一个活动Windows。
  • -输入:n--新Windows打开一个空的Windows用于聊天会话。

聊天子命令还支持从管道输入标准输入通过输入:-在命令的末尾。例如:

python app.py | 代码 聊天 为什么 失败 -

高级 CLI 选项

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

争论 描述
--extensions-dir 设置扩展的根路径。
便携模式中被覆盖。数据文件夹。
--用户数据目录 <目录> 指定用户数据保存的目录。可以用于以分离的环境、设置和扩展运行多个隔离的 VS Code 实例。在以 root 用户运行时也很有用。
便携模式 中被覆盖由 数据文件夹。
-s, --状态 打印过程使用和诊断信息。
-p, --性能 开发者:启动性能命令启用。
--禁用GPU 禁用GPU硬件加速。
--详细 打印详细输出(隐含)--等待)。
--prof-startup 在启动时运行CPU分析器。
--上传日志 将当前会话的日志上传到一个安全的端点。
--远程 <权威> 连接到远程开发环境。权威机构规定了WSL的远程连接WSL+<发行版名称> ) 或者用于 SSH (ssh-remote+<远程服务器> <远程路径>)。
多根
--add 将文件夹添加到上次活动Windows的多根工作区。
--移除 <目录> 从最近活动Windows中移除多根工作区的文件夹。

隔离 VS Code 实例

默认情况下,VS Code 实例以以下方式共享环境变量:

  • 如果这是第一个 VS Code 实例,环境变量将从父进程继承。
  • 如果这不是第一个 VS Code 实例,环境变量将从已运行的 VS Code 实例继承。

这种行为在你需要为不同的项目或构建配置使用不同的环境变量时可能会导致问题。例如,如果你正在处理两个需要不同版本的Node.js或不同路径设置。

要以单独的环境变量运行 VS Code 实例,请使用--用户数据目录为每个实例指定唯一用户数据目录的选项:

# 第一次实例,拥有自己的环境
代码 ~/project1 --用户数据目录 ~/vscode-data-project1

# 在不同环境中进行二审
代码 ~/project2 --用户数据目录 ~/vscode-data-project2

每个实例都有不同的--用户数据目录将保持其自身:

  • 环境变量
  • 设置和偏好
  • 已安装的扩展
  • 用户界面状态和布局
注意

当使用--用户数据目录您需要为每个用户数据目录重新安装扩展,因为扩展是单独存储的。

创建远程隧道

VS Code 与其他 远程环境 集成,变得更加强大和灵活。我们的目标是提供一个连贯的体验,使您能够从一个统一的 CLI 管理本地和远程机器。

Visual Studio Code远程 - 隧道 扩展允许您通过安全隧道连接到远程机器,例如台式机或虚拟机。隧道安全地将数据从一个网络传输到另一个网络。然后,您可以从任何地方安全地连接到该机器,而无需要求SSH。

我们已经在该功能中构建了代码在远程机器上启动隧道的 CLI。你可以运行:

代码 隧道

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

您可以运行以下命令来查看其他隧道命令代码隧道 - 帮助输入:

隧道帮助 CLI 命令的输出

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

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

使用URL打开VS Code

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

打开项目

vscode://file/完整 路径 项目}/

vscode://file/c:/myProject/

打开文件

vscode://file/完整 路径 文件

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

打开文件到行和列

vscode://file/完整 路径 文件}:行:列

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

打开设置编辑器

vscode://设置/setting.name

vscode://设置/编辑器自动换行

您可以在浏览器或文件资源管理器等可以解析和重定向URL的应用程序中使用该URL。例如,在Windows上,您可以传递一个vscode://URL 直接发送到Windows资源管理器或命令行启动 vscode://{文件的完整路径}输入:.

在Windows资源管理器中使用vscode网址

注意

如果您正在使用 VS Code Insiders 版本,URL 前缀是 vscode-insiders://输入:.

下一步

继续阅读,了解:

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

常见问题

'code' 未被识别为内部或外部命令

您的操作系统无法找到 VS Code 二进制文件代码在它的路径上。VS Code 的 Windows 和 Linux 安装应该已经将 VS Code 安装到你的路径上。尝试卸载并重新安装 VS Code。如果代码 仍然未找到,查阅平台特定的设置主题 WindowsLinux

在 macOS 上,你需要手动运行 Shell Command: 在 PATH 中安装 '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_解析环境1. 如果你的 shell 或用户脚本需要知道它们是否在这个 shell 的上下文中运行,你可以检查VSCODE_解析环境值。