PhpStorm 2020.3 ヘルプ

ファイルテンプレート

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

PhpStorm は、新しいファイルを作成するときに提案される、サポートされているすべてのファイルタイプの定義済みテンプレートを提供します。

ファイルテンプレートを管理および構成するには、設定 / 環境設定 Ctrl+Alt+Sエディター | ファイルおよびコードテンプレートページを開きます。

  • デフォルトスコープは、任意のプロジェクトのワークスペース全体に適用されるテンプレートを制御します。それらは 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 { }