PhpStorm 2020.2ヘルプ

ファイル・テンプレート

ファイルテンプレートは、新しいファイルを作成するときに生成されるデフォルトのコンテンツの仕様です。作成しているファイルのタイプに応じて、テンプレートは、そのタイプのすべてのファイル(業界標準、企業ポリシー、またはその他の理由による)に含まれると予想される初期コードとフォーマットを提供します。

PhpStormは、サポートされているすべてのファイルタイプに対して事前定義されたテンプレートを提供します。これは、新しいファイル(Ctrl+Alt+Insert)を作成するときに推奨されます。

ファイルテンプレートは、設定/環境設定 Ctrl+Alt+Sエディター | ファイルおよびコード・テンプレートページで管理されます。この設定ページは、次の2つのスコープのいずれかで構成できます。

  • デフォルトスコープは、ワークスペース全体に関連するテンプレートを制御します。これらはfileTemplatesIDE構成ディレクトリに格納されています。

  • プロジェクトスコープは、プロジェクトごとにテンプレートを制御します。それらは.idea/fileTemplatesのプロジェクトフォルダーに保存されます。これらのテンプレートは、チームメンバー間で共有することができます。

デフォルトでは、テンプレートのリストにはPhpStormが提供する定義済みのテンプレートのみが含まれています。そのうちのいくつかは内部的なものです。つまり、削除や名前の変更はできません。内部テンプレートの名前は太字で示されています。手動で作成したカスタムテンプレートだけでなく、変更したテンプレートの名前も青色で表示されます。

PhpStormはいくつかのタイプのテンプレートを使用し、以下のタブに分かれています:

  • ファイルタブには、新しいファイルを作成するために使用できるファイルテンプレートが含まれています。

  • インクルードタブには、ファイルテンプレートに挿入できる再利用可能なコンテンツのテンプレート(ヘッダーなど)が含まれています。

  • コードタブには、さまざまな構文を生成するためにPhpStormが使用するコードフラグメント(スニペット)の内部テンプレートが含まれています。このタブでは利用可能なスニペットを編集できますが、新しいスニペットを作成することはできません。

    カスタムコードスニペットを作成するには、ライブ・テンプレートを使用します。

次の手順では、ファイルテンプレートを作成する方法について説明します。インクルードテンプレートの作成にも同様の手順を使用できます。

新しいファイルテンプレートを作成する

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、エディター | ファイルおよびコード・テンプレートを選択します。

  2. ファイルタブで、the Create Template button をクリックして、テンプレートの名前、ファイル拡張子、および本文を指定します。

  3. 変更を適用し、ダイアログを閉じます。

既存のファイルテンプレートをコピーする

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、エディター | ファイルおよびコード・テンプレートを選択します。

  2. ファイルタブで、the Copy Template button をクリックし、必要に応じてテンプレートの名前、ファイル拡張子、および本文を変更します。

  3. 変更を適用し、ダイアログを閉じます。

ファイルをテンプレートとして保存する

  1. エディターでファイルを開きます。

  2. メニューからツール | ファイルをテンプレートとして保存を選択してください。

  3. 表示されるファイルをテンプレートとして保存ダイアログで、新しいテンプレート名を指定し、必要に応じて本文を編集します。

  4. 変更を適用し、ダイアログを閉じます。

構文

ファイルとコードのテンプレートはVelocityテンプレート言語(英語)(VTL)に書き込まれています。これにより、次の構文を使用できます。

  • そのままレンダリングされる固定テキスト(マークアップ、コード、コメントなど)。

  • 変数の値に置き換えられます。

  • #parse#set , #ifなどを含むさまざまなディレクティブ。

詳細は、VTLリファレンスガイド(英語)を参照してください。

次の例は、PhpStormでPHPクラスを作成するためのデフォルトのテンプレートを示しています。

<?php #parse("PHP File Header.php") #if (${NAMESPACE}) namespace ${NAMESPACE}; #end class ${NAME} { }

このテンプレートは、次のように構成されています。

  • #parse 指示文は、PHP File Header.php テンプレートの内容を挿入するために使用されます。

  • #if ディレクティブは、名前空間が空でないかどうかをチェックするために使用されます。そうでない場合は、その名前が namespace ステートメントに ${NAMESPACE} 値として追加されます。

  • テンプレートは、${NAME} 値(新しいファイルの名前)として渡された名前を持つクラスを宣言します。

テンプレートに基づいて新しいPHPクラスを作成すると、次のような内容のファイルが生成されます。

<?php /** * Created by PhpStorm. * User: jetbrains * Date: 03/07/2018 * Time: 16:16 */ namespace My\Name; class MyClass { }
最終更新日: 2020年8月19日