命令列介面 (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 Command: Install 'code' command in PATH),才能將 VS Code 可執行檔新增至 PATH 環境變數。請閱讀 macOS 安裝指南以取得協助。

Windows 和 Linux 安裝程式通常會將 VS Code 二進位檔位置新增至您的系統路徑。若非如此,您可以手動將該位置新增至 Path 環境變數 (Linux 為 $PATH)。例如,在 Windows 上,預設的 VS Code 二進位檔位置為 AppData\Local\Programs\Microsoft VS Code\bin。若要查看特定平台的安裝說明,請參閱安裝

注意

如果您使用的是 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' | code -)
-g--goto file:line{:character} 一起使用時,會在指定的行數和選擇性的字元位置開啟檔案。提供此引數是因為某些作業系統允許檔名中包含 :
-d--diff <file1> <file2> 開啟檔案差異編輯器。需要兩個檔案路徑作為引數。
-m--merge <path1> <path2> <base> <result> 執行三向合併,需提供檔案的兩個修改版本路徑、兩者的共同起源,以及用於儲存合併結果的輸出檔案。
-w--wait 在關閉檔案之前保持等待狀態,不返回命令提示。
--locale <locale> 為 VS Code 工作階段設定顯示語言 (locale)。(例如 en-USzh-TW

launch with locale

開啟檔案與資料夾

有時您會想要開啟或建立檔案。如果指定的檔案不存在,VS Code 會為您建立它們,並同時建立任何新的中繼資料夾。

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

對於檔案和資料夾,您都可以使用絕對路徑或相對路徑。相對路徑是指相對於您執行 code 之命令提示字元的目前目錄。

如果您在命令列指定超過一個檔案,VS Code 只會開啟單一執行個體。

如果您在命令列指定超過一個資料夾,VS Code 將會建立一個包含每個資料夾的多根工作區 (Multi-root Workspace)

引數 說明
file 要開啟的檔案名稱。如果檔案不存在,將會被建立並標記為已編輯。您可以透過以空格分隔每個檔案名稱來指定多個檔案。
file:line[:character] -g 引數搭配使用。在指定的行數和選擇性的字元位置開啟檔案。
folder 要開啟的資料夾名稱。您可以指定多個資料夾,系統將會建立一個新的多根工作區
--skip-add-to-recently-opened 防止開啟的檔案和資料夾被新增至最近開啟清單中。

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

從命令列啟動聊天

您可以透過 VS Code CLI 中的 chat 子命令,直接從命令列啟動聊天工作階段。這使您能夠使用您提供的提示 (prompt) 在目前的目錄中開啟聊天工作階段。

例如,下列命令會針對目前目錄開啟聊天,並詢問「尋找並修復所有未定義型別的變數」。

code chat Find and fix all untyped variables

chat 子命令具有下列命令列選項:

  • -m, --mode <mode>:用於聊天工作階段的自訂代理程式。可用選項:askeditagent,或是自訂代理程式的識別碼。預設為 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> 設定延伸模組的根目錄路徑。
可攜式模式 (Portable Mode) 中會被 data 資料夾覆寫。
--user-data-dir <dir> 指定儲存使用者資料的目錄。可用於執行多個隔離的 VS Code 執行個體,每個執行個體擁有獨立的環境、設定和延伸模組。在以 root 身份執行時也很有用。
可攜式模式 (Portable Mode) 中會被 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 時,您需要為每個使用者資料目錄重新安裝延伸模組,因為延伸模組是分開儲存的。

建立遠端通道 (Remote Tunnel)

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 下載頁面上作為獨立安裝程式使用。

關於 Remote Tunnels 的更多資訊,您可以查看 Remote Tunnels 文件

使用 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}

vscode url in Windows Explorer

注意

如果您使用的是 VS Code Insiders 建置版本,URL 前綴為 vscode-insiders://

後續步驟

繼續閱讀以了解

常見問題

'code' 不是內部或外部命令

您的作業系統無法在其路徑中找到 VS Code 二進位檔 code。VS Code 的 Windows 和 Linux 安裝程式應已將 VS Code 安裝至您的路徑。請嘗試解除安裝並重新安裝 VS Code。如果仍然找不到 code,請參閱適用於 WindowsLinux 的特定平台安裝主題。

在 macOS 上,您需要手動執行 Shell Command: Install 'code' command in PATH 命令(可透過命令面板 ⇧⌘P (Windows, Linux Ctrl+Shift+P) 存取)。詳細資訊請參閱 macOS 特定安裝主題。

如何在 VS Code 內存取命令列(終端機)?

VS Code 擁有一個整合式終端機,您可以在其中執行命令列工具。

我可以指定 VS Code 的設定位置以擁有可攜式版本嗎?

無法直接透過命令列執行,但 VS Code 具有可攜式模式 (Portable Mode),讓您可以將設定和資料儲存在與安裝位置相同的地方,例如 USB 隨身碟。

如何偵測 Shell 是否由 VS Code 啟動?

當 VS Code 啟動時,它可能會啟動一個 Shell 以載入「Shell 環境」來協助設定工具。這將會啟動一個互動式登入 (interactive login) Shell 並擷取其環境。根據您的 Shell 設定,這可能會導致問題。例如,Shell 以互動式工作階段啟動可能會出乎意料,但這是 VS Code 為了嘗試使 $PATH 與使用者建立的終端機中的確切值對齊所必需的。

每當 VS Code 啟動此初始 Shell 時,VS Code 都會將變數 VSCODE_RESOLVING_ENVIRONMENT 設定為 1。如果您的 Shell 或使用者指令碼需要知道它們是否是在此 Shell 的內容中執行,您可以檢查 VSCODE_RESOLVING_ENVIRONMENT 的值。

© . This site is unofficial and not affiliated with Microsoft.