ファイルテンプレート
ファイルテンプレートは、プロジェクトツリーのコンテキストメニューの メニューまたは 新規 セクションを使用して作成する新しいファイルの既定の内容の仕様です。
作成するファイルの種類に応じて、テンプレートは、その種類のすべてのファイルに期待される初期コードとフォーマットを提供します (業界または言語の標準、企業ポリシー、その他の理由に従って)。
PhpStorm は、新しいファイルを作成するときに提案される、サポートされているすべてのファイルタイプ用の定義済みテンプレートを提供します。
ファイルテンプレートの管理と構成
Ctrl+Alt+S を押して設定を開き、 を選択します。
詳細は ファイルおよびコードテンプレート を参照してください。
デフォルトでは、テンプレートの一覧には、PhpStorm が提供する定義済みテンプレートのみが含まれます。 これらの一部は内部テンプレートであり、削除や名前の変更はできません。 PhpStorm は、内部テンプレートの名前を太字で表示します。 変更したテンプレートや手動で作成したカスタムテンプレートの名前は青色で表示されます。
次の手順では、ファイルテンプレートを作成する方法について説明します。 インクルードテンプレートの作成にも同様の手順を使用できます。
新しいファイルテンプレートを作成する
Ctrl+Alt+S を押して設定を開き、 を選択します。
スキーム リストを使用して、ファイルテンプレートが適用されるスコープを選択します。
デフォルト: IDE レベルで作成されたファイルテンプレート。 これらのテンプレートは、現在の IDE インスタンスで開くすべてのプロジェクトで使用できます。 特定のプロジェクトに関係なく、好みの個人用テンプレートとして使用します。 PhpStorm は、グローバルテンプレートを IDE 構成ディレクトリ の fileTemplates に保存します。
プロジェクト: 現在のプロジェクトに固有のファイルテンプレート。 これらのテンプレートは、このプロジェクトで作業するすべてのユーザーが利用できます。 PhpStorm は、 .idea/fileTemplates のプロジェクトフォルダーに保存します。
ファイル タブで、
をクリックし、テンプレート名、ファイル拡張子、結果のファイルの名前、テンプレートの本体を指定します。
変更を適用して、ダイアログを閉じます。
既存のファイルテンプレートをコピーする
Ctrl+Alt+S を押して設定を開き、 を選択します。
ファイル タブで、
をクリックし、必要に応じてテンプレートの名前、ファイル拡張子、本文を変更します。
変更を適用して、ダイアログを閉じます。
ファイルをテンプレートとして保存する
エディターでファイルを開きます。
メインメニューで へ移動します。
「ファイルをテンプレートとして保存」 ダイアログで、新しいテンプレート名と拡張子を指定し、必要に応じて本文を編集します。 ファイルテンプレートで使用される構文の詳細については、「構文 」を参照してください。
ファイル名: 必要に応じて、このテンプレートから作成されるファイルの名前を指定します。 デフォルトでは、PhpStorm はファイルを追加する際に名前の入力を促します。 特定の名前をハードコードしてプロンプトを完全に回避したり、使用可能な変数からテンプレートを作成したりできます。 例えば、指定した名前を使用して、ファイル作成時に選択したディレクトリより上のディレクトリに配置する方法は次のとおりです:
../${NAME}スタイルに応じて整形: このファイルタイプに定義された コードスタイルに従って、このテンプレートに基づいて生成されたコンテンツを再フォーマットします。
ライブテンプレートを使用可能にする: ファイルテンプレート内に ライブテンプレートを挿入します。 Velocity エスケープ構文を使って、ファイルテンプレートに ライブテンプレート変数を含めることができます。例えば:
#[[ $MY_VARIABLE$ $END$ ]]#
変更を適用して、ダイアログを閉じます。
構文
ファイルテンプレートは、 Velocity テンプレート言語 (VTL)を使用しており、次の構成要素が含まれます:
プレーンテキストはそのままレンダリングされます。
値に置き換えられる 変数。 例:
${NAME}は、ファイルを追加するときにユーザーが指定した名前を挿入します。#parse、
#set、#ifなどを含むさまざまなディレクティブ。
$ または # の入力を開始して、使用可能な変数およびディレクティブの 補完候補を参照します。
詳細については、 VTL リファレンスガイド(英語)を参照してください。
次の例は、PhpStorm で PHP クラスを作成するためのデフォルトテンプレートを示しています:
このテンプレートは、次のように構成されています。
#parse指示文は、PHP File Header.phpテンプレートの内容を挿入するために使用されます。#ifディレクティブは、名前空間が空でないかどうかをチェックするために使用されます。 そうでない場合は、その名前が名前空間ステートメントに${NAMESPACE}値として追加されます。テンプレートは、
${NAME}値(新しいファイルの名前)として渡された名前を持つクラスを宣言します。
テンプレートに基づいて新しい PHP クラスを作成すると、次のような内容のファイルが生成されます: