命令列介面 (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
-g--goto 當與 file:line{:character} 一起使用時,會在指定的行與選用的字元位置開啟檔案。提供此引數是因為某些作業系統允許在檔名中使用 :
-d--diff <file1> <file2> 開啟檔案差異編輯器。需要兩個檔案路徑作為引數。
-m--merge <path1> <path2> <base> <result> 透過提供檔案兩個修改版本的路徑、兩個修改版本的共同原始來源,以及用來儲存合併結果的輸出檔案,來執行三方合併。
-w--wait 等待檔案關閉後再傳回。
--locale <locale> 設定 VS Code 工作階段的顯示語言(地區設定)。(例如 en-USzh-TW

launch with locale

開啟檔案與資料夾

有時候您會想要開啟或建立檔案。如果指定的檔案不存在,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 防止開啟的檔案和資料夾被新增至最近開啟清單中。

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 子命令,直接從命令列啟動對話工作階段。這可讓您使用您提供的提示詞,在目前的工作目錄中開啟對話工作階段。

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

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> 設定擴充功能的根路徑。
可攜式模式中會被 data 資料夾覆寫。
--user-data-dir <dir> 指定保存使用者資料的目錄。可用於執行多個隔離的 VS Code 執行個體,並具有獨立的環境、設定與擴充功能。以 root 身分執行時也很有用。
可攜式模式中會被 data 資料夾覆寫。
-s, --status 列印處理程序使用率與診斷資訊。
-p, --performance 啟用開發人員:啟動效能命令來啟動。
--disable-gpu 停用 GPU 硬體加速。
--verbose 列印詳細輸出(隱含 --wait)。
--prof-startup 在啟動期間執行 CPU 效能分析器。
--upload-logs 將目前工作階段的記錄上傳至安全的端點。
--remote <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 來檢視其他通道命令

Output of tunnel help CLI command

由於您可能需要在無法安裝桌面版 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} 的方式傳遞。

vscode url in Windows Explorer

注意

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

後續步驟

繼續閱讀以了解

常見問題

'code' is not recognized as an internal or external command

您的作業系統在其路徑中找不到 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 的設定位置以擁有可攜式版本嗎?

無法直接透過命令列進行,但 VS Code 具有可攜式模式,可讓您將設定與資料保留在與安裝位置相同的路徑中,例如放在 USB 磁碟機上。

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

當 VS Code 啟動時,它可能會啟動殼層以載入「殼層環境」來協助設定工具。這會啟動互動式登入殼層並擷取其環境。根據您的殼層設定,這可能會造成問題。例如,殼層被啟動為互動式工作階段可能是非預期的,但 VS Code 需要這樣做,以便嘗試將 $PATH 與使用者建立之終端機中的確切值對齊。

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

English 한국어 中文(简体) 中文(繁體)
© . This website operates independently and is not affiliated with or endorsed by Microsoft. All brand names, logos, and trademarks are the property of their respective owners.