IntelliJ IDEA 2020.1ヘルプ

テンプレート言語: 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をクリックします。

  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

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

特別なコメント

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年6月2日

関連ページ:

プラグインを管理する

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

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

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

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

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

安全な削除

Tapestryビューから削除アクションを実行すると、Loomyは削除しようとしているTapestryエレメントを実際に把握し、そのファイルをすべてこの操作に集約します。たとえば、ページを削除しようとすると、Loomyはページクラス、テンプレート、およびリソースバンドルを削除します。IntelliJ...

Thymeleaf

IntelliJ IDEAは、Thymeleafの最新リリース版をサポートしています。このページで:Thymeleafサポートの概要、Thymeleafプラグインを有効にする、Thymeleafプロジェクトとモジュールのサポート、プロジェクトまたはモジュールの作成時にThymeleafサポートを追加...