使用 Visual Studio Code 建立 Bicep 檔案
本文說明如何使用 Visual Studio Code 建立 Bicep 檔案。
安裝 Visual Studio Code
若要設定您的環境以進行 Bicep 開發,請參閱安裝 Bicep 工具 (部分機器翻譯)。 完成這些步驟之後,您已安裝 Visual Studio Code 和 Bicep 擴充功能 。 您也可以使用最新的 Azure CLI (部分機器翻譯) 或最新的 Azure PowerShell 模組 (英文)。
Bicep 命令
Visual Studio Code 隨附數個 Bicep 命令。
在 Visual Studio Code 中開啟或建立 Bicep 檔案,然後選取 [ 檢視 ] 功能表,然後 選取 [命令選擇區]。 您也可以按 F1 或 Ctrl+Shift+P 鍵組合來啟動命令選擇區。 輸入 Bicep 以列出 Bicep 命令。
這些命令包括:
- 建置 Azure Resource Manager (ARM) 範本
- 建置參數檔案
- 建立 Bicep 設定檔
- 反向組譯成 Bicep
- 部署 Bicep 檔案
- 產生參數檔案
- 匯入 Azure Kubernetes 指令清單 (EXPERIMENTAL)
- 插入資源
- 開啟 Bicep 視覺化檢視
- 開啟側邊的 Bicep 可視化檢視
- 將 JSON 貼上為 Bicep
- 還原 Bicep 模組 (強制)
- 顯示部署窗格
- 顯示側邊的部署窗格
當您以滑鼠右鍵按一下 Bicep 檔案時,這些命令也會顯示在捷徑功能表中:
當您以滑鼠右鍵按下 JSON 檔案時:
若要深入瞭解本文中的命令,請參閱 Bicep CLI 命令。
建置 ARM 範本命令
命令 build
會將 Bicep 檔案轉換成 JSON ARM 範本。 新的範本會儲存在具有相同檔名的相同資料夾中。 如果存在具有相同檔案名的檔案,則會覆寫舊的檔案。 如需範例和詳細資訊,請參閱 組建 。
建置參數檔案命令
此命令 build-params
也會將 Bicep 參數檔案 轉換成 JSON 參數檔案。 新的參數檔案會儲存在具有相同檔名的相同資料夾中。 如果存在具有相同檔案名的檔案,則會覆寫舊的檔案。 如需範例,請參閱 build-params 。
建立 Bicep 組態檔命令
bicepconfig.json檔案是 Bicep 組態檔,可自定義 Bicep 開發體驗。 您可以將bicepconfig.json新增至多個目錄;使用最接近目錄階層中 Bicep 檔案的組態檔。 當您在 Visual Studio Code 中選取 [ 建立 Bicep 組態檔 ] 時,此延伸模組會開啟對話框,讓您選取資料夾。 預設資料夾是您儲存 Bicep 檔案的資料夾。 如果資料夾中已有bicepconfig.json檔案,您可以覆寫現有的檔案。
建立 Bicep 設定檔:
- 打開 Visual Studio Code。
- 從 [檢視] 功能表中,選取 [命令選擇區] (或按 Ctrl/Cmd+Shift+P),然後選取 [Bicep:建立 Bicep 組態檔]。
- 選取您要放置檔案的檔案目錄。
- 完成時儲存設定檔。
將編譯譯成 Bicep 命令
命令會將 decompile
JSON ARM 範本分解成 Bicep 檔案,並將它放在與原始 JSON ARM 範本相同的目錄中。 新的檔案具有相同擴展名的 .bicep
檔名。 如果具有相同檔案名稱的 Bicep 檔案已存在於相同的資料夾中,Visual Studio Code 會提示您覆寫現有的檔案或建立複本。 如需範例,請參閱 反編譯 。
部署 Bicep 檔案命令
您可以直接從 Visual Studio Code 部署 Bicep 檔案。 從命令選擇區或作功能表中選取 [部署 Bicep 檔案 ]。 延伸模組會提示您登入 Azure 入口網站、選取您的訂用帳戶、建立或選取資源群組,然後輸入參數的值。
注意
Visual Studio Code 中的 Bicep deploy 命令會使用新的內 建驗證 API 來管理驗證。 它不會使用來自 bicepconfig.json 的雲端設定檔。 若要登入自定義雲端,請選取 [管理>設定>擴充>功能Microsoft帳戶>Microsoft主權雲端]。 目前不支援多個登入帳戶。
產生參數檔案命令
命令 generate-params
會在與 Bicep 檔案相同的資料夾中建立參數檔案。 您可以選擇建立 Bicep 參數檔案或 JSON 參數檔案。 新的 Bicep 參數檔名為 <bicep-file-name>.bicepparam
,而新的 JSON 參數檔名態 <bicep-file-name>.parameters.json
。 如需範例和詳細資訊,請參閱 generate-params 。
匯入 AKS 指令清單 (預覽) 命令
此命令會匯入 AKS 指令清單檔案 ,並建立 Bicep 模組。 如需詳細資訊,請參閱 Bicep Kubernetes 擴充功能(預覽版)和快速入門:使用 Bicep Kubernetes 擴充功能部署 Azure Kubernetes Service (AKS) 叢集(預覽版)。
插入資源命令
此命令會提供現有資源的資源標識符,以宣告 Bicep 檔案中的資源。 選取 [在 Visual Studio Code 中插入資源 ],然後在命令選擇區中輸入資源標識符。 插入資源需要一些時間。
您可以使用下列其中一種方法來尋找資源識別碼:
使用適用於 Visual Studio Code 的 Azure 資源擴充功能。
使用 Azure CLI 或 Azure PowerShell:
az resource list
類似於導出範本的程式,此程式會嘗試建立可使用的資源。 不過,大部分插入的資源需要以某種方式變更,才能用來部署 Azure 資源。 如需詳細資訊,請參閱 將ARM樣本 JSON 反編譯為 Bicep。
開啟 Bicep 可視化檢視命令
Bicep 可視化檢視會顯示 Bicep 檔案中定義的資源及其之間的相依性。 下圖是Linux虛擬機 Bicep 檔案的視覺化表示法。
您可以與 Bicep 檔案並排開啟 Bicep 可視化檢視。
將 JSON 貼上為 Bicep 命令
您可以將 ARM 範本的 JSON 代碼段貼到 Bicep 檔案。 Visual Studio Code 會自動將 JSON 反向組譯為 Bicep。 此功能僅適用於 Bicep 擴充功能 0.14.0 版或更新版本,且預設為啟用此功能。 若要停用此功能,請參閱 Visual Studio Code 和 Bicep 擴充功能。
這項功能可讓您貼上:
- 完整的 JSON ARM 範本。
- 單一或多個資源。
- JSON 值,例如對象、陣列或字串。 具有雙引號的字串會轉換成具有單引號的字串。
例如,您可以從下列 Bicep 檔案開始:
@description('Storage Account type')
@allowed([
'Standard_LRS'
'Standard_GRS'
'Standard_ZRS'
'Premium_LRS'
])
param storageAccountsku string = 'Standard_LRS'
@description('Location for all resources.')
param location string = resourceGroup().location
var storageAccountName = '${uniqueString(resourceGroup().id)}storage'
resource storageAccount 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: storageAccountName
location: location
sku: {
name: storageAccountsku
}
kind: 'StorageV2'
tags: {
ObjectName: storageAccountName
}
properties: {}
}
output storageAccountName string = storageAccountName
並貼上下列 JSON:
{
"type": "Microsoft.Batch/batchAccounts",
"apiVersion": "2024-02-01",
"name": "[parameters('batchAccountName')]",
"location": "[parameters('location')]",
"tags": {
"ObjectName": "[parameters('batchAccountName')]"
},
"properties": {
"autoStorage": {
"storageAccountId": "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]"
}
}
}
Visual Studio Code 會自動將 JSON 轉換成 Bicep。 請注意,您也需要新增 batchAccountName
參數。
您可以按 Ctrl+Z 來復原反編譯。 原始 JSON 會出現在檔案中。
還原 Bicep Modules 命令
當 Bicep 檔案使用已發佈至登錄的模組時,restore
命令會從登錄取得所有必要模組的複本。 其會將那些複本儲存在本機快取中。 如需詳細資訊和範例,請參閱 還原 。
顯示部署窗格命令
[部署窗格] 是 Visual Studio Code 中的實驗性功能。 若要深入瞭解,請參閱使用部署窗格(實驗性!)。
您可以與 Bicep 檔案並排開啟 [部署窗格]。
使用快速修正建議
VS Code 中的燈泡代表快速修正建議。 當編輯器偵測到程式碼中的問題或改進機會時,就會出現。 點擊燈泡會顯示可解決問題或增強程式代碼的動作功能表。
如需擷取命令,請參閱 擷取參數、變數和類型。 在 [其他動作] 中,它建議新增 裝飾專案。
擷取參數、變數和類型
擷取變數、參數和使用者定義數據類型牽涉到從現有的程式代碼中隔離和定義這些元件,以改善程式代碼結構、可維護性和清楚性。
下列螢幕快照顯示 AKS 叢集資源的定義。 您可以擷取參數或變數,或以屬性為基礎的使用者定義資料類型,例如 identity
。 從程式 identity
代碼中選取行,然後選取黃色燈泡圖示。 內容視窗會顯示可用的擷取選項。
擷取變數:建立新的變數,加上更新變數名稱的選項:
擷取簡單數據類型的參數:使用字串、int 等簡單數據類型建立新的參數,以及更新參數名稱的選項:
擷取使用者定義資料類型的參數:使用使用者定義的數據類型建立新的參數,以及更新參數名稱的選項:
這需要在擷取之後進行一些自定義。
建立使用者定義類型:建立新的使用者定義類型,以及更新類型名稱的選項。
與其他選項不同,它不會將選取的程式代碼取代為新類型的參考。 在上述範例中,的值
identity
會維持原樣。 若要使用新的類型,您必須將它併入程式代碼中。
檢視文件選項
從 Visual Studio Code,您可以開啟您要在其中工作之資源類型的範本參考。 若要這樣做,請將游標暫留在資源的符號名稱上,然後選取 [ 檢視檔]。
移至檔案
定義 模組 時,不論所參考的檔類型為何-本機檔案、模組登錄檔案或範本規格,您都可以選取或反白顯示模組路徑並按 [F12] 來開啟檔案。 如果參考的檔案是 Azure 驗證模組、AVM,則您可以在編譯的 JSON 或 Bicep 檔案之間切換。 若要開啟私人登錄模組的 Bicep 檔案,請確定模組已發行至已啟用 參數的 WithSource
登錄。 如需詳細資訊,請參閱將檔案發佈至登錄 (部分機器翻譯)。 需要 Visual Studio Code Bicep 擴充功能 0.27.1 版或更新版本,才能從私人模塊登錄開啟 Bicep 檔案。
疑難排解
窗格 Problems
摘要說明 Bicep 檔案中的錯誤和警告:
Bicep 核心診斷 提供錯誤和警告碼的清單。
下一步
繼續進行快速入門:使用 Visual Studio Code 建立 Bicep 檔案,以取得如何套用本文中資訊的教學課程。