この記事では、Visual Studio Code を使用して Bicep ファイルを作成する方法を示します。 Bicep MCP サーバーを使用するには、「 VS Code で Bicep MCP サーバーを使用する」を参照してください。
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 マニフェストをインポートする (試験的)
- リソースを挿入する
- Bicep Visualizer を開く
- Bicep ビジュアライザーを並べて開く
- Bicep として JSON を貼り付ける
- Bicep モジュールを復元する (強制)
- デプロイ ウィンドウを表示する
- デプロイ ウィンドウを並べて表示する
Bicep ファイルを右クリックすると、コンテキスト メニューにも次のコマンドが表示されます:
JSON ファイルを右クリックした場合は、次のように表示されます。
この記事に記載されたコマンドの詳細については、「Bicep CLI コマンド」を参照してください。
Bicep コマンドに加えて、 Format Documents、 Shift+Alt+F などの組み込みの VS Code コマンドを使用することもできます。
ARM テンプレートを作成するコマンド
build コマンドは、Bicep ファイルを JSON ARM テンプレートに変換します。 新しいテンプレートは、同じファイル名の同じフォルダーに保存されます。 同じファイル名のファイルが存在する場合は、古いファイルが上書きされます。 使用例と詳細については、「build」を参照してください。
パラメーター ファイルを作成するコマンド
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 から表示されます。 例については、「decompile」を参照してください。
Bicep ファイルをデプロイするコマンド
Bicep ファイルは、Visual Studio Code から直接デプロイできます。 コマンド パレットまたはコンテキスト メニューから[Bicep ファイルをデプロイ] を選択します。 拡張機能により、Azure portal へのサインイン、サブスクリプションの選択、リソース グループの作成または選択、パラメーター値の入力が求められます。
注
Visual Studio Code の Bicep deploy コマンドでは、認証を管理するために新しい組み込みの認証 API が使用されます。 bicepconfig.json のクラウド プロファイルは使用されません。 カスタム クラウドにサインインするには、[管理]>[設定]>[拡張機能]>[Microsoft アカウント]>[Microsoft Sovereign Cloud] を選択します。 現時点では、複数のサインイン アカウントはサポートされていません。
パラメーター ファイルを生成するコマンド
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) クラスターをデプロイする」を参照してください。
リソースを挿入するコマンド
このコマンドでは、既存のリソースのリソース ID を指定して、Bicep ファイルでリソースを宣言します。 Visual Studio Code で [リソースの挿入] を選択し、コマンド パレットにリソース ID を入力します。 リソースが挿入されるまでしばらく時間がかかります。
リソース ID を確認するには、次のいずれかの方法を使用します。
Visual Studio Code 用の Azure リソース拡張機能を使用する。
Azure portal を確認する。
Azure CLI または Azure PowerShell を使用する。
az resource list
テンプレートのエクスポート プロセスと同様に、このプロセスでは使用可能なリソースの作成が試行されます。 ただし、挿入されたテンプレートのほとんどは、Azure リソースのデプロイに使用する前に、何らかの変更を加える必要があります。 詳細については、「ARM テンプレート JSON を Bicep に逆コンパイルする」を参照してください。
Bicep ビジュアライザーを開くコマンド
Bicep ビジュアライザーには、Bicep ファイルで定義されたリソースと、それらの間の依存関係が表示されます。 次の図は、Linux Virtual Machines 用の Bicep ファイルを視覚的に表したものです。
Bicep ビジュアライザーを Bicep ファイルと並べて開くこともできます。
JSON を Bicep として貼り付けるコマンド
ARM テンプレートから Bicep ファイルに JSON スニペットを貼り付けることができます。 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@2025-06-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 モジュールを復元するコマンド
レジストリに発行されたモジュールを Bicep ファイルで使用する場合、restore コマンドにより、必要なすべてのモジュールのコピーがレジストリから取得されます。 これらのコピーはローカル キャッシュに格納されます。 詳細と例については、「 復元」を参照してください。
デプロイ ウィンドウを表示するコマンド
デプロイ ウィンドウには、AZURE アカウントにアクセスして検証、デプロイ、What-if 操作を実行できる VS Code の対話型 UI が用意されており、エディターを離れることなく即座にフィードバックを提供します。
詳細については、「 展開ウィンドウ」 を参照してください。
Bicep MCP サーバー
Bicep MCP (モデル コンテキスト プロトコル) サーバーは、高品質の Bicep コードの生成に役立つツールを AI エージェントに提供します。 Bicep MCP サーバーは、Bicep Visual Studio Code 拡張機能バージョン 0.40.2 に自動的に含まれます。 Visual Studio Code で Bicep MCP サーバーを使用して Bicep 開発用の環境を設定するには、「 Bicep ツールのインストール」を参照してください。
注
Bicep MCP サーバーは、Bicep VSCode 拡張機能に自動的に含まれているため、拡張機能ビューの MCP SERVERS の下に表示されません。
Visual Studio Code での MCP サーバーの使用に関する一般的な情報については、「 VS Code での MCP サーバーの使用」を参照してください。
クイック スタートについては、「 クイック スタート: Visual Studio Code と Bicep MCP サーバーを使用して Bicep ファイルを作成する」を参照してください。
クイック修正候補を使用する
VS Code の電球は、クイック修正候補を表します。 これは、コード内の問題や改善の機会がエディターによって検出されたときに表示されます。 この電球をクリックすると、問題の解決やコードの改善に役立つアクションのメニューが表示されます。
抽出コマンドについては、「パラメーター、変数、型を抽出する」を参照してください。 [その他のアクション] では、デコレーターの追加が提案されます。
パラメーター、変数、型を抽出する
変数、パラメーター、ユーザー定義のデータ型を抽出するには、コードの構造、保守の容易性、明確さを向上させるために、既存のコードからこれらのコンポーネントを分離して定義する必要があります。
次のスクリーンショットは、AKS クラスター リソースの定義を示しています。
identity などのプロパティに基づいて、パラメーター、変数、またはユーザー定義のデータ型を抽出することができます。 コードから identity 行を選択し、黄色の電球アイコンを選択します。 コンテキスト ウィンドウには、使用可能な抽出オプションが表示されます。
Extract variable: 新しい変数を作成します。変数名を更新するオプションも表示されます。
Extract parameter of type (単純なデータ型): string、int などの単純なデータ型で新しいパラメーターを作成します。変数名を更新するオプションも表示されます。
Extract parameter of type (ユーザー定義のデータ型): ユーザー定義のデータ型で新しいパラメーターを作成します。パラメーター名を更新するオプションも表示されます。
抽出後に、何らかのカスタマイズが必要になります。
Create user-defined type: 新しいユーザー定義型を作成します。型名を更新するオプションも表示されます。
他のオプションとは異なり、選択したコードは新しい型への参照で置換されません。 前の例では、
identityの値はそのままで変わっていません。 新しい型を使用するには、それをコードに組み込む必要があります。
ドキュメントの表示オプション
Visual Studio Code から、作業中のリソースの種類のテンプレート参照を開くことができます。 これを行うには、リソース のシンボリック名の上にカーソルを置き、[ドキュメントの表示] を選択します。
ファイルに移動
モジュールを定義する際には、参照されるファイルの種類 (ローカル ファイル、モジュール レジストリ ファイル、またはテンプレート スペック) に関係なく、モジュール パスを選択または強調表示し、[F12] キーを押すと、そのファイルを開くことができます。 参照されるファイルが Azure Verified Module (AVM) の場合は、コンパイル済みの JSON と Bicep ファイルとの間で切り替えることができます。 プライベート レジストリ モジュールの Bicep ファイルを開くには、そのモジュールが WithSource スイッチが有効な状態でレジストリに発行されていることを確認してください。 詳細については、「レジストリにファイルを発行する」を参照してください。 プライベート モジュール レジストリから Bicep ファイルを開くには、Visual Studio Code Bicep 拡張機能のバージョン 0.27.1 以降が必要です。
トラブルシューティング
Problems ウィンドウには、以下のように Bicep ファイル内のエラーと警告の要約が表示されます。
「Bicep コア診断」に、エラーおよび警告のコードの一覧が示されています。
次のステップ
「クイックスタート: Visual Studio Code を使用して Bicep ファイルを作成する」に進んで、この記事の情報を適用する方法のチュートリアルを確認します。