共用方式為


設定您的 Bicep 環境

Bicep 支援名為 bicepconfig.json 的選擇性組態檔。 在此檔案中,您可以新增自訂 Bicep 開發體驗的值。 此檔案會與預設設定檔合併。 如需詳細資訊,請參閱了解合併流程。 若要自定義組態,請在 Bicep 檔案的相同目錄或父目錄中建立組態檔。 如果有多個包含 bicepconfig.json 檔案的父目錄,Bicep 會使用最接近檔案的組態。 如需詳細資訊,請參閱了解檔案解析流程

若要設定 Bicep 擴充功能設定,請參閱 Visual Studio Code 和 Bicep 延伸模組

在 Visual Studio Code 中建立組態檔

您可以使用任何文字編輯器來建立設定檔。

若要在 Visual Studio Code 中建立bicepconfig.json檔案,請開啟命令選擇區 ([CTRL/CMD]+[SHIFT]+P),然後選取 [Bicep:建立 Bicep 組態檔]。 如需詳細資訊,請參閱建立 Bicep 設定檔

如何在 Visual Studio Code 中建立 Bicep 配置文件的螢幕快照。

適用於 Visual Studio Code 的 Bicep 延伸模組支援適用於bicepconfig.json檔案的 IntelliSense。 使用 IntelliSense 來探索可用的屬性和值。

支援 _bicepconfig.json_ 檔案組態的 IntelliSense 螢幕快照。

了解合併流程

bicepconfig.json檔案會經歷遞歸的下拉式合併程式與預設組態檔。 在合併流程期間,Bicep 會檢查這兩個設定中的每個路徑。 如果預設設定中沒有某個路徑,則會在最終結果中新增該路徑及其相關聯的值。 相反地,如果路徑存在於具有不同值的預設組態中,來自 bicepconfig.json 的值會優先於合併的結果。

請考慮預設設定定義如下的情節:

{
  "cloud": {
    ...
    "credentialPrecedence": [
      "AzureCLI",
      "AzurePowerShell"
    ]
  },
  "moduleAliases": {
    "ts": {},
    "br": {
      "public": {
        "registry": "mcr.microsoft.com",
        "modulePath": "bicep"
      }
    }
  },
  ...
}

bicepconfig.json的定義如下:

{
  "cloud": {
    "credentialPrecedence": [
      "AzurePowerShell",
      "AzureCLI"
    ]
  },
  "moduleAliases": {
    "br": {
      "ContosoRegistry": {
        "registry": "contosoregistry.azurecr.io"
      },
      "CoreModules": {
        "registry": "contosoregistry.azurecr.io",
        "modulePath": "bicep/modules/core"
      }
    }
  }
}

產生的合併設定會是:

{
  "cloud": {
    ...
    "credentialPrecedence": [
      "AzurePowerShell",
      "AzureCLI"
    ]
  },
  "moduleAliases": {
    "ts": {},
    "br": {
      "public": {
        "registry": "mcr.microsoft.com",
        "modulePath": "bicep"
      },
      "ContosoRegistry": {
        "registry": "contosoregistry.azurecr.io"
      },
      "CoreModules": {
        "registry": "contosoregistry.azurecr.io",
        "modulePath": "bicep/modules/core"
      }
    }
  },
  ...
}

在上述範例中,會取代的值,而 和 cloud.moduleAliases.CoreModules 的值cloud.credentialPrecedencecloud.moduleAliases.ContosoRegistry會附加在合併的組態中。

了解檔案解析流程

bicepconfig.json檔案可以放在相同目錄或 Bicep 檔案的父目錄。 如果有多個包含 bicepconfig.json 檔案的父目錄,Bicep 會使用最接近的組態檔。 例如,在給定的資料夾結構中,每個資料夾都有一個 bicepconfig.json 檔案:

此圖顯示解析多個父資料夾中找到的 _bicepconfig.json_ 檔案。

如果您在資料夾中編譯 main.bicepchild則會使用資料夾中的bicepconfig.json檔案child。 系統會忽略 parent 資料夾和 root 資料夾中的設定檔。 如果 child 資料夾不包含設定檔,Bicep 會搜尋 parent 資料夾中的設定,然後搜尋 root 資料夾。 如果在任何資料夾中找不到組態檔,Bicep 會預設使用 預設值

在叫用多個模組的 Bicep 檔案內容中,每個模組都會使用最 接近的bicepconfig.json進行編譯。 然後,主要 Bicep 檔案會以其對應的 bicepconfig.json進行編譯。 在下列案例中,modA.bicep會使用 位於 A 資料夾中的 bicepconfig.json 進行編譯、modB.bicep使用資料夾中的 bicepconfig.json編譯,最後,main.bicep 會使用資料夾中的 bicepconfig.json B root進行編譯。

顯示具有模組案例之多個父資料夾中找到_bicepconfig.json_ 檔案的圖表。

如果沒有 和 B 資料夾中的bicepconfig.json檔案A,所有三個 Bicep 檔案都會使用 資料夾中找到root的bicepconfig.json進行編譯。 如果 bicepconfig.json 不存在於任何資料夾中,編譯會預設為使用 預設值

設定 Bicep 模組

使用模組時,您可以新增模組路徑的別名。 這些別名會簡化 Bicep 檔案,因為您不需要重複執行複雜的路徑。 您也可以設定雲端設定檔和認證優先順序,以從 Bicep CLI 和 Visual Studio Code 向 Azure 進行驗證。 認證可用來將模組發佈至登錄,以及在使用插入資源函式時,將外部模組還原至本機快取。 如需詳細資訊,請參閱將模組設定新增至 Bicep 設定

設定 Linter 規則

Bicep Linter 會檢查 Bicep 檔案是否有語法錯誤和最佳做法違規。 您可以修改 bicepconfig.json 檔案,以覆寫 Bicep 檔案驗證方式的預設設定。 如需詳細資訊,請參閱將 Linter 設定新增至 Bicep 設定

啟用實驗性功能

您可以將下列區段新增至您的bicepconfig.json檔案,以啟用實驗性功能。 使用實驗性功能會自動啟用 語言 2.0 版程式代碼產生。

以下是啟用功能 'assertions' 和 'testFramework' 的範例。

{
  "experimentalFeaturesEnabled": {
    "assertions": true,
    "testFramework": true
  }
}

如需 Bicep 實驗性功能的詳細資訊,請參閱 實驗性功能

下一步