PyCharm 2026.2 Help

Terraform​(テラフォーム)​

Terraform(英語) は、開発者と運用チームが手動設定ではなく宣言型構成ファイルを使用してクラウドのリソースとインフラストラクチャを定義、管理、プロビジョニングできるようにする、インフラストラクチャアズコードツールです。

Terraform を使用すると、仮想マシン、ネットワーク、ストレージなどのインフラストラクチャリソースをコードで記述できます。 Terraform は、これらのリソースを自動的に作成および管理します。 このアプローチにより、インフラストラクチャのバージョン管理、レビュー、再現が容易になり、開発、テスト、本番環境全体で一貫性のある環境を維持できるようになります。

Terraform および HCL プラグインをインストールする

この機能は、インストールして有効にする必要がある Terraform と HCL(英語) プラグインに依存しています。

  1. Ctrl+Alt+S を押して設定を開き、 プラグイン​ を選択します。

  2. マーケットプレース タブを開き、 Terraform と HCL プラグインを見つけて、 インストールする をクリックします (プロンプトが表示されたら、IDE を再起動します)。

Terraform 実行パスを指定する

実行構成を使用して IDE から Terraform コマンドを実行するには、マシンに Terraform がインストールされている必要があります。

  1. Ctrl+Alt+S を押して設定を開き、 ツール | Terraform ツール を選択します。

  2. ほとんどの場合、PyCharm は Terraform 実行ファイルへのパスを自動的に検出します。 IDE が実行ファイルのバージョンとパスを検出しない場合は、 検出とテスト をクリックしてください。

    マシンに Terraform がインストールされていない場合は、 インストールする をクリックします。

    Terraform ツール設定
  3. 必要に応じて、 Terraform 実行可能パス フィールドに Terraform へのパスを手動で指定できます。

Terraform ファイルの作成

PyCharm は、複数の Terraform ファイルタイプに対応した事前設定済みテンプレートを提供します。 ファイルを作成するには、 プロジェクト ツールウィンドウでディレクトリを右クリックし、 新規|Terraform ファイル を選択します。 これにより、使用可能な Terraform ファイルテンプレートから選択できるダイアログが開きます。

Terraform ファイルタイプ

ファイル拡張子

ファイルテンプレート

説明

.tf

構成

Terraform 構成ファイル。

.tfcomponent.hcl

コンポーネント

Terraform コンポーネントファイル。

.tfdeploy.hcl

デプロイ

Terraform デプロイファイル。

.tftest.hcl

テスト​

Terraform テストファイル。

Terraform の構成には、複数の環境や相互接続されたコンポーネントが含まれることがよくあります。 セットアップは Terraform ワークスペースTerraform スタックとして整理でき、どちらも PyCharm でサポートされています。

Terraform スタック

Terraform スタックは、 .tfstack.hcl .tfcomponent.hcl 、および .tfdeploy.hcl 拡張子を使用します。

PyCharm はスタック固有の構造に対するコーディング支援を提供します。 IDE ではスタックルートブロックやそのプロパティに対して補完機能を提供し、必要なプロパティを自動挿入し、不足しているプロパティをハイライト表示します。

Terraform テスト

PyCharm はインフラストラクチャコードのテスト用に Terraform テストフレームワークをサポートしています。

PyCharm は Terraform テストファイル( .tftest.hcl )およびテストから参照できる再利用可能なモック定義( .tfmock.hcl )を認識し、コーディング支援を提供します。

Terraform テンプレートファイル

PyCharm は、通常 .tftpl 拡張子が使われる Terraform テンプレートファイルのサポートを提供します。

ライブテンプレートを使用するには、Terraform テンプレートファイルに if または for と入力し始めます。

ライブテンプレート

Terraform ファイルでは、 templatefile(英語) 関数を使用してテンプレートを挿入できます。 PyCharm を使用すると、Terraform ファイルからテンプレートファイルにすばやく移動できます。

  1. Terraform ファイルで、 templatefile 関数を見つけます。

  2. キャレットをテンプレートファイル名に置き、 Ctrl+B を押します。

テンプレートデータの言語を選択

テンプレートファイルの拡張子 (file.<lang>.tftpl) で言語が指定されている場合、この言語がデータ言語として使用されます。 例: file.js.tftpl では、JavaScript が使用されます。 データ言語が指定されていない場合 (たとえば、 file.tftpl )、テンプレートファイルはプレーンテキストとして認識されます。

ファイル構文がそれに応じて認識されるようにしたい場合、データ言語を選択(または検出済みの言語を変更)できます。

  1. エディターでファイルタブを右クリックし、 <Language> テンプレートデータ言語を次のように変更する (たとえば、 JavaScript テンプレートデータ言語を次のように変更する または プレーンテキストテンプレートのデータ言語 を) を選択します。

    または、ファイル内の Alt+Enter (コンテキストアクションの表示) を押して、 テンプレートデータ言語の選択 を選択します。

  2. 開いた言語リストから、言語を選択します。

Terraform 変数

Terraform 変数定義ファイルは、通常 .tfvars 拡張子が使用されます。 これらのファイルを使用して、Terraform 構成で宣言された変数に値を指定します。

Terraform ファイルの編集

IDE は、コアとなる Terraform 要素とプロバイダ定義の概念に関するスマートなコードインサイトを提供することで、生産性を維持し、インフラストラクチャコードをより迅速に、より少ない注意散漫で記述できるように支援します。 これには、次の機能が含まれます。

  • 構文のハイライト

    設定 ダイアログ (Ctrl+Alt+S) の エディター | カラースキームの切り替え | HCL ページと エディター | カラースキームの切り替え | HashiCorp 補間言語 ページで色設定をカスタマイズできます。

  • コード補完

    PyCharm は Terraform ファイル内で既知のプロバイダ、プロバイダ関数、リソース、データソース、アクション、引数などの補完機能を提供します。

    Terraform リソースの補完

    プロバイダ要件を設定する際、IDE は required_providers ブロック内の sourceバージョン などの関連属性とともに、利用可能なプロバイダを提案します。 これにより、Terraform 仕様に従って要件を定義できます。 プロバイダ要件の詳細については、 Terraform のドキュメント(英語)を参照してください。

    Terraform スタックファイルでは、PyCharm がスタックルートブロックおよびそのプロパティの補完を提供します。 必要なプロパティは自動的に挿入され、不足しているプロパティは IDE によってハイライトされます。

    .tfcomponent.hcl ファイルでは、PyCharm がプロバイダ宣言や構成、さらに componentstack ブロックで使用されるモジュール変数とプロバイダの補完をサポートします。

  • 行全体コード補完

    ローカルで実行されるディープラーニングモデルを使用して、コード行全体を補完します。

    Terraform 行全体コード補完

    エディター | 一般 | コード補完 | インライン ページの 設定 ダイアログ (Ctrl+Alt+S) で、Terraform の行全体コード補完を無効にすることができます。

  • リファクタリング

    要素とそのすべての使用箇所の名前を変更するには、 Shift+F6 を押します。

  • 構造ビュー

    構造 ツールウィンドウを使用して、Terraform ファイルをすばやくプレビューおよび移動します。

    Terraform の構造

    ツールウィンドウは、 表示 | ツールウィンドウ | 構造 または Alt+7 を押すことで使用できます。

  • クイックドキュメント

    引数にマウスカーソルを合わせると、そのクイックドキュメントが表示されます。

    Terraform クイックドキュメント

    詳細については、 Shift+F1 を押して、Terraform レジストリ (このドキュメントのソース) を開くこともできます。

  • コードインスペクション

    Terraform インスペクションを利用して、重複、競合、非推奨、欠落した要素、未解決の参照、不明なリソースなどを検出できます。

    Terraform 欠落プロパティインスペクション

    エディター | インスペクション | Terraform設定 ダイアログ (Ctrl+Alt+S) で、すべての Terraform、インスペクションを確認できます。

  • コーディング支援には、ブレースマッチング Ctrl+Shift+M 、コードの折りたたみ Ctrl+NumPad +/Ctrl+NumPad - 、行コメントの追加 Ctrl+/ やブロックコメントの追加 Ctrl+Shift+/ 、Terraform ファイルへの コピーライトテキストの挿入も含まれます。

Terraform を実行

Terraform と HCL プラグインは、Terraform 専用の実行構成を提供します。 これらの実行構成を使用すると、引数の追加や環境変数の受け渡しなど、 terraform コマンドの実行をカスタマイズできます。

ガターアイコンを使用して Terraform を実行する

  1. Terraform ファイルで、ガターの 実行 をクリックします。

  2. 開いたウィンドウで、実行プランを作成する場合は プラン を選択し、すでに Terraform プランがありそれを適用する場合は 適用 を選択します。

    ガターからテラフォームを実行

このディレクトリに対して Terraform 初期化手順が実行されていない場合は、 実行 ガターアイコンに警告サインが表示されます。 この場合、PyCharm は terraform plan または terraform apply を実行する前に terraform init コマンドの実行を提案します。

ガターアイコンから Terraform を実行すると、一時的な実行構成が作成されます。 実行ウィジェットで その他のアクション をクリックし、 設定の保存 を選択すると、永続的な構成として保存できます。

Terraform 実行構成を手動で作成する

  1. 実行 | 実行構成の編集 に進みます。 または、 実行 ウィジェットで をクリックし、ドロップダウンメニューから 実行構成の編集 を選択します。

    実行 / デバッグ構成ポップアップ
  2. 新規構成の追加 ボタン (実行/デバッグ構成を追加) をクリックし、 Terraform​(テラフォーム)​ の入力を開始します。

    Terraform 実行構成
  3. 実行構成のタイプを選択します:

    • テラフォーム初期化terraform init コマンドを実行します

    • Terraform 検証terraform validate コマンドを実行します

    • Terraform プランterraform plan コマンドを実行します

    • Terraform 適用terraform apply コマンドを実行します

    • Terraform 破壊terraform destroy コマンドを実行します

    • Terraform​(テラフォーム)​ は、他の Terraform コマンドを提供することができます。

  4. コマンド リストで、Terraform コマンドを選択します。 このリストに含まれていないコマンドを実行するには、 カスタム を選択し、 プログラム引数 フィールドに指定します。

  5. 実行構成に名前を付け、必要に応じて作業ディレクトリを変更します。 環境変数を使用する場合は、 環境変数 フィールドに指定するか、ファイルを選択してそこから変数を使用します。

Terraform コードを再フォーマットする

PyCharm を使用すると、Terraform ファイルにコードスタイルを適用できます。 PyCharm にはフォーマットツールが 2 つ含まれています:

Terraform フォーマッタを使用する

Terraform フォーマットツール (terraform fmt) は Terraform コードスタイル(英語)に基づいています。 .tf および .tfvars ファイルに適用されます。

Terraform フォーマットツールを使用するには、 Terraform をインストールするが必要です。

  • メインメニューで コード | Terraform ツール | ファイルのフォーマット へ移動します。

  • あるいは、 Ctrl+Alt+Shift+F を押します。

Terraform フォーマッター terraform fmt はファイル全体に適用されますが、 PyCharm フォーマッターは選択したコード部分にも適用できます。

PyCharm フォーマッタを使用する

PyCharm フォーマッターは、PyCharm コードスタイルTerraform と HCL プラグインによって提供されているものに基づいています。 このコードスタイルは、IDE 設定の エディター | コードスタイル | Terraform でカスタマイズできます。

.tf および .tfvars に加えて、 .hcl ファイルにも適用されます。

  • ファイルを再度フォーマットするには、エディターでファイルを開き、メインメニューで コード | ファイルの整形 に移動します。 または、 Ctrl+Alt+Shift+L を押します。

  • コードの一部を再フォーマットするには、コードの一部を選択し、メインメニューで コード | コードの整形 に移動します。 または、 Ctrl+Alt+L を押します。

Terraform プロバイダーのメタデータをリフレッシュ

Terraform と HCL プラグインには特定のバージョンのプロバイダーメタデータが付属しており、既知のプロパティやインスペクションの補完などのコーディング支援が可能になります。

プロジェクトで異なるプロバイダーバージョンを使用する場合 (たとえば、 required_providers ブロックで変更した後)、 terraform init を実行してプロジェクトを初期化します。

ローカルメタデータを自動的に構築するオプションが 設定 | 拡張設定 で有効になっている場合、PyCharm はローカルプロバイダーのメタデータを自動的に再生成します。 このオプションが無効になっている場合は、メタデータを手動でリフレッシュできます。

プロバイダーのメタデータを手動でリフレッシュする

  1. プロジェクトを初期化した後、次のいずれかを実行します。

    • Terraform 構成ファイルを開き、エディター内の任意の場所を右クリックします。

    • プロジェクト ツールウィンドウ Alt+1 を開き、Terraform 構成ファイルを右クリックします。

  2. コンテキストメニューから Terraform ツール | プロバイダーのメタデータを生成する を選択します。

    プロバイダーメタデータの生成アクション

拡張設定

Terraform ドキュメントを自動的にダウンロードする

デフォルトで、PyCharm は Terraform プロパティのクイックドキュメントを Terraform Registry からダウンロードします。 ネットワークやパフォーマンスに問題がある場合は無効化でき、代わりに PyCharm はメタデータから説明を表示します。 このような説明の有無はリソース開発者に依存します。

ローカルメタデータを自動的に構築する

有効化されている場合、 terraform init の実行後に PyCharm がローカルプロバイダーメタデータを自動的に再生成します。 これにより、コーディング支援が設定ファイルで定義されたプロバイダーバージョンを使用できるようになります。

変数を深く検索する

Terraform で変数を使用する際、PyCharm はプロジェクト内のすべての Terraform ファイルでその変数定義をチェックします。 PyCharm でルートディレクトリ(.terraform.lock.hcl があるディレクトリ)内のファイルのみ確認したい場合は、チェックボックスをオフにしてください。

Terraform コードスタイル設定

Terraform 固有のコードスタイル設定は エディター | コードスタイル | Terraform/OpenTofu | その他 で使用できます。

整形しながらプロパティの位置を揃える

プロパティと値の揃え方:等号で揃える、値で揃える、揃えない、から選択できます。

行コメンターのシンボル

Ctrl+/ を押したときに単一行コメントに使用するシンボルを選択します。

補完時にプロバイダーを自動的にインポートする

リソース名を入力したら、現在のファイルにプロバイダー要件を挿入します。 required_providers ブロックが不足している場合は追加してください。

整形に 'terraform/tofu fmt' を起動する

コード | ファイルの整形 を呼び出した際に Terraform(または OpenTofu)フォーマッターを実行します。

2026 年 7 月 14 日