IntelliJ IDEA 2020.2ヘルプ

テンプレート言語: VelocityとFreeMarker

IntelliJ IDEAを使用すると、Velocity(英語)およびFreeMarker(英語)テンプレート言語(VTLおよびFTL)でテンプレートを開発できます。コーディング支援と構文強調表示は、デフォルトで有効になっている対応するプラグインを使用して提供されます。

Template language directives completion
Template language variables completion

デフォルトでサポートされているファイルタイプは次のとおりです。

VTL.ft , .vm , .vsl
FTL.ftl , .ftlh , .ftlx

テンプレートの静的部分が記述されている言語 (これらはテンプレートデータ言語と呼ばれます)のコーディング支援を有効にするには、次のいずれかを実行します。

テンプレートデータ言語をプロジェクト内のファイルやフォルダーに関連付ける

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、言語とフレームワークをクリックしてからテンプレート・データ言語をクリックします。

  2. プロジェクトの右側のテンプレートデータ言語セルまたは対応するディレクトリまたはファイルをクリックし、言語を選択します。

  3. 変更を適用するには、OKをクリックします。

個々のテンプレートファイルは、テンプレートデータ言語を次のように変更するコンテキストメニューコマンドを使用して、エディターでテンプレートデータ言語を直接割り当てることができます。

対応するファイルタイプの拡張パターンを追加する

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、エディターをクリックしてからファイル・タイプをクリックします。

  2. 認識されているファイルの種類で、FreeMarkerテンプレートまたはVelocity テンプレートを選択します。

  3. ファイル名のパターンで、icons.general.add.pngをクリックします。

  4. ワイルドカードの追加ダイアログで、ファイル名の拡張パターンを指定し、言語を選択して、OKをクリックします。

    velocity_add_pattern

  5. 変更を適用するには、OKをクリックします。

未解決の参照の修正

IntelliJ IDEAは提供インスペクションをテンプレート言語に未解決の参照を検出するために:

Example template language inspection for unresolved references

未解決の参照は、インテンションアクションを使用して修正できます。同じファイルにコメントを追加するか、コメント付きの別のファイルを作成するかを選択できます。詳細については、特別なコメントを参照してください。

Example template language intentions for fixing unresolved referecnes

後者の場合、デフォルト名 velocity_implicit.vm または freemarker_implicit.ftl のファイルが作成されます。このファイルは次のコメントで始まります:

#* @implicitly included *#

参照タイプを定義するためのコード補完はコメントファイルで利用できます。

velocity intention 1 png

ファイルの名前を変更するか、ソースルート内の別の場所に移動すると、参照定義は失われません。

特別なコメント

IntelliJ IDEAは、テンプレート言語を扱うための以下の特別なコメントを提供します:

FreeMarkerのコメントは、<#---->、または [#----#]のいずれかを使用して区切られます。

コメント説明
@implicitly includedこのコメントで始まるFreeMarkerファイルは、同じモジュールまたはその依存関係にあるすべてのファイルに含まれます。このような専用のコメントファイルを使用して、IDE固有のコメントを定義し、テンプレートファイルを汚染しないようにします。
@ftlvariable変数を定義します。例:次のコメントは、String型の変数 foo を宣言しています。指定されたファイルにのみ表示されます。
<#-- @ftlvariable name="foo" type="java.lang.String" file="path/to/file" -->
この場合、String を適切に解決するには、モジュールにJDKを添付する必要があります。プリミティブ型とジェネリック型がサポートされています。 file パラメータはオプションです。
@ftlroot import および include ディレクティブが解決される相対パスを定義します。パスは、現在のFTLファイルのパッケージ内のいずれかのディレクトリに関連して指定されます。JAR内のパスもサポートされています。たとえば、次のようになります。
<#-- @ftlroot "path/to.jar!/path/inside/jar" -->

Velocityコメントは、#**#を使用して区切られています。

コメント説明
@implicitly includedこのコメントで始まるすべてのVelocityファイルは、同じモジュールにあるすべてのファイルに含まれます。このような専用のコメントファイルを使用して、IDE固有のコメントを定義し、テンプレートファイルを汚染しないようにします。
@vtlvariable変数を定義します。例:次のコメントは、String型の変数 foo を宣言しています。指定されたファイルにのみ表示されます。
#* @vtlvariable name="foo" type="java.lang.String" file="path/to/file" *#
この場合、String を適切に解決するには、モジュールにJDKを添付する必要があります。プリミティブ型とジェネリック型がサポートされています。 file パラメータはオプションです。
@vtlmacrolibraryこのコメントを持つファイルに関連するテンプレートマクロを含むファイルを定義します。例:次のコメントは、lib.vm のマクロが file.vmのコード解析にアクセスできるようにします。
#* @vtlmacrolibrary path="lib.vm" file="file.vm" *#
@velocitypropertiesこのコメントを持つファイルとの相対的なvelocity.propertiesファイルとランタイムルートディレクトリを定義します。例:
#* @velocityproperties path=”path/to/velocity.properties” runtime_root=”path/to/runtime/root/dir” *#
最終更新日: 2020年7月23日

関連ページ:

プラグインを管理する

プラグインはIntelliJ IDEAのコア機能を拡張します。彼ら:バージョン管理システム、アプリケーションサーバー、およびその他のツールとの統合を提供する、さまざまな言語とフレームワークのコーディング支援サポートを追加する、ショートカットヒント、ライブプレビュー、ファイルウォッチャーなどで生産性を...

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

IntelliJ IDEAには、コンパイル前にプロジェクト内の異常コードを検出して修正する一連のコードインスペクションがあります。IDEはさまざまな問題を見つけて強調表示し、デッドコードを見つけ、可能性のあるバグを見つけ、スペルの問題、コード構造全体を改善することができます。インスペクションは、すべ...

インテンション・アクション

エディターで作業するときに、IntelliJ IDEAはコードを分析し、コードを最適化する方法を検索し、潜在的な問題と実際の問題を検出します。IDEがコードを変更する方法を見つけるとすぐに、エディターの現在の行の横に黄色い電球アイコンが表示されます。このアイコンをクリックすると、このコード単位で使用...

Spring Boot

Spring に関してはSpring Boot 入門 (日本語訳)を参照してください。Spring Bootは、Springアプリケーションの初期構成を簡素化するSpringフレームワークの拡張です。これにより、最小限のデフォルト設定で動作するスタンドアロンSpringアプリケーションをすばやく作成...

Thymeleaf

IntelliJ IDEAは、Thymeleafの最新リリース版をサポートしています。Thymeleafサポートの概要:IntelliJ IDEAでのThymeleafのサポートは次のとおりです。式と属性の場合はコード補完です。Navigate to Declaration機能(ナビゲート | 宣言...