自定義容器工具擴充套件
Container Tools 擴充套件包含多個 Visual Studio Code 任務,用於控制 Docker 生成和 執行的行為,並構成用於除錯的容器啟動的基礎。
這些任務允許進行大量的控制和自定義。最終配置是常規預設值、特定於平臺的預設值(如 Node.js、Python 或 .NET)和使用者輸入的組合。當用戶輸入與預設值衝突時,使用者輸入優先。
Visual Studio Code 任務的所有常見功能(例如,將任務分組為複合任務)都受 Container Tools 擴充套件任務的支援。有關常見任務功能和屬性的更多資訊,請參閱 Visual Studio Code 自定義任務文件。
Docker 生成任務
docker-build 任務使用 Docker 命令列 (CLI) 來生成映像。該任務可以單獨使用,也可以作為任務鏈的一部分,用於在容器中執行和/或除錯應用程式。
docker-build 任務最重要的配置設定是 dockerBuild 和 platform。
dockerBuild物件指定 Docker 生成命令的引數。此物件指定的值將直接應用於 Docker 生成 CLI 呼叫。platform屬性是一個提示,用於更改docker-build任務確定 Docker 生成預設值的方式。
有關所有任務屬性的完整列表,請參閱 屬性參考。
平臺支援
雖然 tasks.json 中的 docker-build 任務可用於生成任何映像,但該擴充套件對 Node.js、Python 和 .NET Core 具有明確的支援(和簡化的配置)。
Node.js (docker-build)
使用預設值的最小配置
沒有特定平臺選項的基於 Node.js 的映像只需將 platform 屬性設定為 node。
{
"version": "2.0.0",
"tasks": [
{
"label": "Build Node Image",
"type": "docker-build",
"platform": "node"
}
]
}
平臺預設值
對於基於 Node.js 的映像,docker-build 任務會推斷以下選項:
| 屬性 | 推斷值 |
|---|---|
dockerBuild.context |
package.json 所在的目錄。 |
dockerBuild.dockerfile |
package.json 所在目錄中的 Dockerfile 檔案。 |
dockerBuild.tag |
package.json 中應用程式的 name 屬性(如果已定義),否則為 package.json 所在資料夾的基本名稱。 |
dockerBuild.pull |
預設為 true,以便在生成之前拉取新的基礎映像。 |
Python (docker-build)
使用預設值的最小配置
沒有特定平臺選項的基於 Python 的映像只需將 platform 屬性設定為 python。
{
"tasks": [
{
"type": "docker-build",
"label": "docker-build",
"platform": "python"
}
]
}
平臺預設值
對於基於 Python 的映像,docker-build 任務會推斷以下選項:
| 屬性 | 推斷值 |
|---|---|
dockerBuild.context |
預設上下文是工作區資料夾。 |
dockerBuild.dockerfile |
預設的 Dockerfile 路徑將在工作區資料夾的根目錄中。 |
dockerBuild.tag |
根工作區資料夾的基本名稱。 |
dockerBuild.pull |
預設為 true,以便在生成之前拉取新的基礎映像。 |
.NET (docker-build)
使用預設值的最小配置
生成 .NET 基於的映像時,可以省略 platform 屬性,只需設定 netCore 物件(當 netCore 物件存在時,platform 會被隱式設定為 netcore)。請注意,appProject 是必需屬性。
{
"version": "2.0.0",
"tasks": [
{
"label": "Build Node Image",
"type": "docker-build",
"netCore": {
"appProject": "${workspaceFolder}/project.csproj"
}
}
]
}
平臺預設值
對於基於 .NET 的映像,docker-build 任務會推斷以下選項:
| 屬性 | 推斷值 |
|---|---|
dockerBuild.context |
根工作區資料夾。 |
dockerBuild.dockerfile |
根工作區資料夾中的 Dockerfile 檔案。 |
dockerBuild.tag |
根工作區資料夾的基本名稱。 |
dockerBuild.pull |
預設為 true,以便在生成之前拉取新的基礎映像。 |
生成任務參考
以下是配置 docker-build 任務的所有可用屬性。除非另有說明,否則所有屬性都是可選的。
| 屬性 | 描述 |
|---|---|
dockerBuild |
用於控制執行的 docker build 命令的選項(見下文)。除非設定了 platform,否則是必需的。 |
platform |
確定平臺:.NET (netcore) 或 Node.js (node),以及 docker build 命令的預設設定。 |
node |
確定 Node.js 專案的特定選項(見下文)。 |
python |
docker-build 任務的 Python 沒有物件屬性。 |
netCore |
確定 .NET 專案的特定選項(見下文)。 |
dockerBuild 物件屬性
| 屬性 | 描述 | docker build CLI 等效項 |
|---|---|---|
context |
生成上下文的路徑。 必需,除非從平臺推斷。 |
PATH |
dockerfile |
Dockerfile 的路徑。 必需,除非從平臺推斷。 |
-f 或 --file |
tag |
應用於映像的標籤。 必需,除非從平臺推斷。 |
-t 或 --tag |
buildArgs |
應用於命令列生成引數。這是一組鍵值對。 | --build-arg |
labels |
新增到映像的標籤。這是一組鍵值對(JSON 物件)。 除了此處指定的標籤外,還會向映像新增一個標籤 com.microsoft.created-by,其值為 visual-studio-code。此行為可以透過將 labels 物件中的 includeDefaults 屬性設定為 false 來關閉。 |
--label |
target |
Dockerfile 中要生成的 target。 | --target |
pull |
是否在生成前拉取新的基礎映像。 | --pull |
customOptions |
新增到上下文引數之前的任何額外引數。不會嘗試解析與其他選項的衝突或驗證此選項。 | (any) |
node 物件屬性 (docker-build 任務)
| 屬性 | 描述 | 預設值 |
|---|---|---|
package |
與 Dockerfile 和 docker-build 任務關聯的 package.json 檔案的路徑。 |
工作區資料夾中的 package.json 檔案。 |
netCore 物件屬性 (docker-build 任務)
| 屬性 | 描述 |
|---|---|
appProject |
與 Dockerfile 和 docker-build 任務關聯的 .NET 專案檔案(.csproj、.fsproj 等)。始終必需。 |
Docker 執行任務
docker-run 任務在 tasks.json 中使用 Docker 命令列 (CLI) 建立和啟動容器。該任務可以單獨使用,也可以作為任務鏈的一部分,用於在容器中除錯應用程式。
docker-run 任務最重要的配置設定是 dockerRun 和 platform。
dockerRun物件指定 Docker 執行命令的引數。此物件指定的值將直接應用於 Docker 執行 CLI 呼叫。platform屬性是一個提示,用於更改docker-run任務確定 Docker 執行預設值的方式。
有關所有任務屬性的完整列表,請參閱 屬性參考。
Docker 執行平臺支援
雖然 docker-run 任務可用於執行任何 Docker 映像,但該擴充套件對 Node.js、Python 和 .NET 具有明確的支援(和簡化的配置)。
Node.js (docker-run)
使用預設值的最小配置
沒有特定平臺選項的基於 Node.js 的映像只需將 platform 屬性設定為 node。
{
"version": "2.0.0",
"tasks": [
{
"label": "Run Node Image",
"node": "docker-run",
"platform": "node"
}
]
}
平臺預設值
對於基於 Node.js 的映像,docker-run 任務會推斷以下選項:
| 屬性 | 推斷值 |
|---|---|
dockerRun.command |
從 package.json 中的 npm start 指令碼(如果存在)生成,否則從 package.json 中的 main 屬性生成。 |
dockerRun.containerName |
從應用程式包名稱派生。 |
dockerRun.image |
來自依賴的 docker-build 任務的標籤(如果存在),或者從應用程式包名稱派生,該包名稱本身從 package.json 中的 name 屬性或其所在資料夾的基本名稱派生。 |
Python (docker-run)
生成基於 Python 的映像時,可以省略 platform 屬性,只需設定 python 物件(當 python 物件存在時,platform 會被隱式設定為 python)。
Django 應用的最小配置
{
"type": "docker-run",
"label": "docker-run: debug",
"dependsOn": ["docker-build"],
"python": {
"args": ["runserver", "0.0.0.0:8000", "--nothreading", "--noreload"],
"file": "path_to/manage.py"
}
}
Flask 應用的最小配置
{
"type": "docker-run",
"label": "docker-run: debug",
"dependsOn": ["docker-build"],
"dockerRun": {
"env": {
"FLASK_APP": "path_to/flask_entry_point.py"
}
},
"python": {
"args": ["run", "--no-debugger", "--no-reload", "--host", "0.0.0.0", "--port", "5000"],
"module": "flask"
}
}
通用應用的最小配置
{
"type": "docker-run",
"label": "docker-run: debug",
"dependsOn": ["docker-build"],
"python": {
"file": "path_to/app_entry_point.py"
}
}
平臺預設值
對於基於 Python 的映像,docker-run 任務會推斷以下選項:
| 屬性 | 推斷值 |
|---|---|
dockerRun.command |
由 Python 物件生成,並由 Python 偵錯程式呼叫。 |
dockerRun.containerName |
從根工作區資料夾的基本名稱派生。 |
dockerRun.image |
來自依賴的 docker-build 任務的標籤(如果存在),或者從根工作區資料夾的基本名稱派生。 |
.NET (docker-run)
使用預設值的最小配置
生成基於 .NET 的映像時,可以省略 platform 屬性,只需設定 netCore 物件(當 netCore 物件存在時,platform 會被隱式設定為 netcore)。請注意,appProject 是必需屬性。
{
"version": "2.0.0",
"tasks": [
{
"label": "Run .NET Core Image",
"type": "docker-run",
"netCore": {
"appProject": "${workspaceFolder}/project.csproj"
}
}
]
}
平臺預設值
對於基於 .NET 的映像,docker-run 任務會推斷以下選項:
| 屬性 | 推斷值 |
|---|---|
dockerRun.containerName |
從根工作區資料夾的基本名稱派生。 |
dockerRun.env |
新增以下環境變數作為必需項:ASPNETCORE_ENVIRONMENT、ASPNETCORE_URLS 和 DOTNET_USE_POLLING_FILE_WATCHER。 |
dockerRun.image |
來自依賴的 docker-build 任務的標籤(如果存在),或者從根工作區資料夾的基本名稱派生。 |
dockerRun.os |
Linux |
dockerRun.volumes |
新增以下卷作為必需項:本地應用程式資料夾、原始檔夾、偵錯程式資料夾、NuGet 包資料夾和 NuGet 備用資料夾。 |
執行任務參考
以下是配置 docker-run 任務的所有可用屬性。除非另有說明,否則所有屬性都是可選的。
| 屬性 | 描述 |
|---|---|
dockerRun |
用於控制執行的 docker run 命令的選項(見下文)。除非設定了 platform,否則是必需的。 |
platform |
確定平臺:.NET (netcore) 或 Node.js (node),以及 docker run 命令的預設設定。 |
node |
對於 Node.js 專案,這控制各種選項(見下文)。 |
python |
對於 Python 專案,這控制各種選項(見下文)。 |
netCore |
對於 .NET 專案,這控制各種選項(見下文)。 |
dockerRun 物件屬性
| 屬性 | 描述 | CLI 等效項 |
|---|---|---|
image |
要執行的映像的名稱(標籤)。 必需,除非從平臺推斷。 |
IMAGE |
command |
啟動容器時要執行的命令。 必需,除非從平臺推斷。 |
COMMAND [ARG...] |
containerName |
給已啟動容器指定的名稱。 必需,除非從平臺推斷。 |
--name |
env |
在容器中設定的環境變數。這是一組鍵值對。 | -e 或 --env |
envFiles |
這是 .env 檔案的列表。 |
--env-file |
labels |
給已啟動容器指定的標籤。這是一組鍵值對。 | --label |
network |
容器將連線的網路名稱。 | --network |
networkAlias |
已啟動容器的網路範圍別名。 | --network-alias |
os |
預設為 Linux,另一個選項是 Windows。使用的容器作業系統。 |
N/A |
ports |
要從容器釋出(對映)到主機的埠。這是一組物件(見下文)。 | -p 或 --publish |
portsPublishAll |
是否釋出 Docker 映像公開的所有埠。如果未顯式釋出任何埠,則預設為 true。 |
-P |
extraHosts |
新增到容器以進行 DNS 解析的主機。這是一組物件(見下文)。 | --add-host |
volumes |
要對映到已啟動容器的卷。這是一組物件(見下文)。 | -v 或 --volume |
remove |
停止後是否移除容器。 | --rm |
customOptions |
新增到映像引數之前的任何額外引數。不會嘗試解析與其他選項的衝突或驗證此選項。 | (any) |
ports 物件屬性
| 屬性 | 描述 | 預設值 |
|---|---|---|
containerPort |
容器上繫結的埠號。 必需。 |
|
hostPort |
主機上繫結的埠號。 | (由 Docker 隨機選擇) |
protocol |
繫結的協議(tcp 或 udp)。 |
tcp |
extraHosts 物件屬性
| 屬性 | 描述 |
|---|---|
hostname |
用於 DNS 解析的主機名。 必需。 |
ip |
與上述主機名關聯的 IP 地址。 必需。 |
volumes 物件屬性
| 屬性 | 描述 | 預設值 |
|---|---|---|
localPath |
將在本地計算機上對映的路徑。 必需。 |
|
containerPath |
本地路徑將對映到的容器內的路徑。 必需。 |
|
permissions |
容器在對映路徑上擁有的許可權。可以是 ro(只讀)或 rw(讀寫)。 |
容器依賴。 |
node 物件屬性 (docker-run 任務)
| 屬性 | 描述 | 預設值 |
|---|---|---|
package |
與 docker-run 任務關聯的 package.json 檔案的路徑。 |
工作區資料夾中的 package.json 檔案。 |
enableDebugging |
是否在容器內啟用除錯。 | false |
inspectMode |
定義應用程式與偵錯程式之間的初始互動(default 或 break)。值 default 允許應用程式執行直到偵錯程式附加。值 break 會阻止應用程式執行直到偵錯程式附加。 |
default |
inspectPort |
應該進行除錯的埠。 | 9229 |
python 物件屬性 (docker-run 任務)
| 屬性 | 描述 | 預設值 |
|---|---|---|
args |
傳遞給 Python 應用的引數。 | 平臺依賴。預設值已在上文 進行展示。 |
debugPort |
偵錯程式將要監聽的埠。 | 5678 |
wait |
是否等待偵錯程式附加。 | true |
module |
要執行的 Python 模組(只能選擇 module **或** file)。 | |
file |
要執行的 Python 檔案(只能選擇 module **或** file)。 |
netCore 物件屬性 (docker-run 任務)
| 屬性 | 描述 |
|---|---|
appProject |
與 docker-run 任務關聯的 .NET 專案檔案(.csproj、.fsproj 等)。必需。 |
configureSsl |
是否配置 ASP.NET Core SSL 證書和其他設定以在容器中的服務上啟用 SSL。 |
enableDebugging |
是否啟用已啟動容器以進行除錯。這將推斷出除錯所需的其他卷對映和其他選項。 |
Docker Compose 任務
docker-compose 任務在 tasks.json 中使用 Docker Compose 命令列 (CLI) 建立和啟動容器。該任務可以單獨使用,也可以作為任務鏈的一部分,用於在容器中除錯應用程式。
docker-compose 任務最重要的配置設定是 dockerCompose。
dockerCompose物件指定 Docker Compose 命令的引數。此物件指定的值將直接應用於 Docker Compose CLI 呼叫。
有關所有任務屬性的完整列表,請參閱 屬性參考。
示例配置
{
"version": "2.0.0",
"tasks": [
{
"label": "Run docker-compose up",
"type": "docker-compose",
"dockerCompose": {
"up": {
"detached": true,
"build": true,
"services": ["myservice"]
},
"files": [
"${workspaceFolder}/docker-compose.yml",
"${workspaceFolder}/docker-compose.debug.yml"
]
}
}
]
}
Compose 任務參考
以下是配置 docker-compose 任務的所有可用屬性。除非另有說明,否則所有屬性都是可選的。
| 屬性 | 描述 |
|---|---|
dockerCompose |
用於控制執行的 docker-compose 命令的選項(見下文)。必需。 |
dockerCompose 物件屬性
| 屬性 | 描述 | CLI 等效項 |
|---|---|---|
up |
執行 docker-compose up 命令。必須指定此項或 down,但不能同時指定兩者。 |
docker-compose up |
down |
執行 docker-compose down 命令。必須指定此項或 up,但不能同時指定兩者。 |
docker-compose down |
files |
用於 docker-compose 命令的 Docker Compose YAML 檔案列表。如果未指定,Docker Compose CLI 會查詢 docker-compose.yml 和 docker-compose.override.yml。 |
-f <file> |
envFile |
讀取並應用於容器的環境變數檔案。 | --env-file <file> |
projectName |
命名和標記 Docker 物件時使用的備用專案名稱。在 Compose up 時使用備用專案名稱時,Compose down 時必須指定相同的專案名稱。 | --project-name <name> |
up 物件屬性
| 屬性 | 描述 | CLI 等效項 | 預設值 |
|---|---|---|---|
detached |
是否分離執行。 | -d |
true |
build |
執行前是否生成。 | --build |
true |
scale |
要執行的每個服務的例項數。這是一組鍵值對。 | --scale SERVICE=NUM |
|
services |
要啟動的服務子集。不能與 profiles 組合使用。 |
[SERVICE...] |
(all) |
profiles |
要啟動的配置檔案子集。不能與 services 組合使用。 |
--profile <profile> |
(all) |
customOptions |
新增到 up 引數之後的任何額外引數。不會嘗試解析與其他選項的衝突或驗證此選項。 |
(any) |
down 物件屬性
| 屬性 | 描述 | CLI 等效項 | 預設值 |
|---|---|---|---|
removeImages |
是否移除映像以及移除哪些映像。all 將移除所有由任何服務使用的映像,local 將僅移除沒有自定義標籤的映像。如果未設定此項,則不移除任何映像。 |
--rmi |
|
removeVolumes |
是否移除命名卷。 | -v |
false |
customOptions |
新增到 down 引數之後的任何額外引數。不會嘗試解析與其他選項的衝突或驗證此選項。 |
(any) |
命令自定義
當您執行各種操作(例如,生成映像、執行容器、附加到容器和檢視容器日誌)時,Container Tools 擴充套件會執行許多 Docker CLI 命令。其中一些命令具有大量的可選引數,通常在非常特定的場景中使用。作為上述 Visual Studio Code 任務的替代方案,可以在不使用任務的情況下自定義多個命令。
例如,Compose Up 命令中的 ${serviceList} 和 ${profileList} 令牌可以輕鬆啟動 Docker Compose YAML 檔案中的部分服務。
對於這些可自定義的 Docker 命令中的每一個,都有一個配置設定可用於設定要執行的模板。或者,您可以定義多個模板,可選地使用正則表示式,當匹配時,提示使用模板的上下文。模板支援一些類似於 launch.json 和 tasks.json 的令牌,例如 ${workspaceFolder}。
設定 JSON Schema
您可以選擇兩種方式來配置每個模板(如下所列)。第一種選項是一個覆蓋預設行為的單個模板。
{
"containers.commands.build": "docker build --rm -f \"${dockerfile}\" -t ${tag} \"${context}\""
}
第二種選項是多個模板,這些模板將根據 match 正則表示式以及使用者輸入進行選擇。
例如,以下示例中顯示了三個模板。
{
"containers.commands.build": [
{
"label": "Default build command",
"template": "docker build --rm -f \"${dockerfile}\" -t ${tag} \"${context}\""
},
{
"label": "Alpine-specific build command",
"template": "docker build -p 1234:1234 -f \"${dockerfile}\" -t ${tag} \"${context}\"",
"match": "alpine"
}
]
}
選擇行為
根據以下規則選擇要執行的命令模板:
- 如果未配置任何設定,則選擇預設命令模板。
- 如果只配置了一個模板(如上第一個示例),則選擇該模板。
- 如果配置了多個模板:
- 將檢查受限模板。受限模板具有
match。match正則表示式將與上下文提示進行比較,例如映像名稱、容器名稱等。 - 如果多個受限模板適用,使用者將被提示選擇。如果只有一個適用,使用者不會被提示。
- 如果沒有適用的受限模板,將檢查非受限模板。非受限模板沒有
match,因此始終適用。 - 如果多個非受限模板適用,使用者將被提示選擇。如果只有一個適用,使用者不會被提示。
- 將檢查受限模板。受限模板具有
Docker Build
| 配置設定 | 預設值 |
|---|---|
docker.commands.build |
${containerCommand} build --rm -f "${dockerfile}" -t ${tag} "${context}" |
支援的令牌
| 標記 | 描述 |
|---|---|
${containerCommand} |
用於執行容器命令的 CLI 命令/可執行檔案。 |
${dockerfile} |
所選 Dockerfile 的工作區相對路徑。 |
${tag} |
使用者在呼叫生成命令時輸入/確認的值。如果之前已生成,則預設為該 Dockerfile 之前的輸入值。 |
${context} |
如果已設定,則為 containers.imageBuildContextPath 配置設定的值。否則,為 Dockerfile 所在的工作區相對資料夾。 |
注意:如果
containers.commands.build設定不包含${tag}令牌,使用者將**不會**被提示輸入/確認標籤。
注意:
match正則表示式將與所選的 Dockerfile 名稱和工作區資料夾名稱進行比較。
Docker Run
| 配置設定 | 預設值 |
|---|---|
containers.commands.run |
${containerCommand} run --rm -d ${exposedPorts} ${tag} |
containers.commands.runInteractive |
${containerCommand} run --rm -it ${exposedPorts} ${tag} |
支援的令牌
| 標記 | 描述 |
|---|---|
${containerCommand} |
用於執行容器命令的 CLI 命令/可執行檔案。 |
${exposedPorts} |
從映像中的公開埠列表生成(最終來自 Dockerfile),其中每個公開埠都對映到本地機器上的相同埠。例如,"EXPOSE 5000 5001" 將生成 "-p 5000:5000 -p 5001:5001"。 |
${tag} |
所選映像的完整標籤。 |
注意:
match正則表示式將與所選映像的完整標籤進行比較。
Container Attach
| 配置設定 | 預設值 |
|---|---|
containers.commands.attach |
${containerCommand} exec -it ${containerId} ${shellCommand} |
支援的令牌
| 標記 | 描述 |
|---|---|
${containerCommand} |
用於執行容器命令的 CLI 命令/可執行檔案。 |
${containerId} |
要附加到的容器的 ID。 |
${shellCommand} |
如果容器中存在 bash,則在此處替換為 bash,否則為 sh。在 Windows 容器中,始終使用 cmd。 |
注意:
match正則表示式將與容器名稱和容器映像的完整標籤進行比較。
Container Logs
| 配置設定 | 預設值 |
|---|---|
containers.commands.logs |
${containerCommand} logs -f ${containerId} |
支援的令牌
| 標記 | 描述 |
|---|---|
${containerCommand} |
用於執行容器命令的 CLI 命令/可執行檔案。 |
${containerId} |
要檢視日誌的容器的 ID。 |
注意:
match正則表示式將與容器名稱和容器映像的完整標籤進行比較。
Docker Compose Up
| 配置設定 | 預設值 |
|---|---|
containers.commands.composeUp |
${composeCommand} ${configurationFile} up ${detached} ${build} |
支援的令牌
| 標記 | 描述 |
|---|---|
${configurationFile} |
設定為 -f 加上所選 Docker Compose YAML 檔案的相對工作區路徑。 |
${detached} |
如果配置設定 containers.composeDetached 設定為 true,則設定為 -d。否則,設定為 ""。 |
${build} |
如果配置設定 containers.composeBuild 設定為 true,則設定為 --build。否則,設定為 ""。 |
${serviceList} |
如果指定,在執行命令時會提示選擇要啟動的服務子集。 |
${profileList} |
如果指定且 Docker Compose YAML 檔案包含配置檔案,在執行命令時會提示選擇要啟動的配置檔案子集。 |
${composeCommand} |
設定為 containers.composeCommand 設定的值(如果已設定),否則擴充套件將嘗試自動確定要使用的命令(docker compose 或 docker-compose)。 |
Docker Compose Down
| 配置設定 | 預設值 |
|---|---|
containers.commands.composeDown |
${composeCommand} ${configurationFile} down |
支援的令牌
| 標記 | 描述 |
|---|---|
${configurationFile} |
設定為 -f 加上所選 Docker Compose YAML 檔案的相對工作區路徑。 |
${composeCommand} |
設定為 containers.composeCommand 設定的值(如果已設定),否則擴充套件將嘗試自動確定要使用的命令(docker compose 或 docker-compose)。 |
其他支援的令牌
除了特定於命令的支援令牌外,以下令牌在所有命令模板中都受支援:
| 標記 | 描述 |
|---|---|
${workspaceFolder} |
所選工作區資料夾路徑。 |
${config:some.setting.identifier} |
任何配置設定的值,只要它是字串、數字或布林值。這些設定識別符號可以任意定義,並且不需要屬於 Visual Studio Code 或任何擴充套件。 |
${env:Name} |
環境變數的值。 |
${command:commandID} |
命令的字串返回值。 |