現已釋出!閱讀關於 11 月新增功能和修復的內容。

命令列介面 (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 選項

以下是啟動 VS Code 時可以透過 code 命令使用的可選引數:

引數 描述
-h--help 列印用法
-v--version 列印 VS Code 版本(例如,1.22.2)、GitHub commit 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 開發”配置檔案開啟 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> 連線到遠端開發環境。authority 指定了WSLwsl+<distro name> <path in WSL>)或SSHssh-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

來在你的遠端計算機上建立隧道。你可以透過 Web 或桌面 VS Code 客戶端連線到這臺計算機。

你可以透過執行 code tunnel -help 來檢視其他隧道命令。

Output of tunnel help CLI command

由於你可能需要在無法安裝 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 Explorer,或者作為 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 指定設定位置,以便擁有便攜版本嗎?

不能直接透過命令列,但 VS Code 有便攜模式,它允許你將設定和資料保留在安裝位置,例如在 USB 驅動器上。

如何檢測 shell 是否由 VS Code 啟動?

當 VS Code 啟動時,它可能會啟動一個 shell 來源化“shell 環境”以幫助設定工具。這將啟動一個互動式登入 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.