PhpStorm 2026.1 Help

使用例

Pattern.compile()XPath.compile() などで使用されるあらゆる種類の「マイクロ言語」の詳細な構文チェックを行うといった比較的単純なユースケースの中にも、IntelliLang が PhpStorm のサポートを活かしてより優れたコーディング支援を実現する、目立たないが非常に便利な例がいくつかあります。

今後の Java 1.6 での新しいスクリプトサポートは、スクリプトコードが Java コードから構築されている場合に、可能な限り編集支援を得ることが重要となる別のケースです。

拡張 JavaScript サポート

HTML ページ内に直接埋め込まれていない JavaScript を扱う場合、PhpStorm は通常それをプレーンテキストとして扱います。 XSLT スクリプトから HTML ページを作成する次の例を考えてみましょう。 以下のスクリーンショットに示すように、XHTML 名前空間を使用して JavaScript 言語が スクリプトタグに挿入されていない場合、これはプレーンテキストとして扱われ、それ以上のコーディング支援は行われません。

thumb_xslt-javascript.png

JSP カスタムタグのサポート

IntelliLang を使えば、カスタム JSP タグの内容や属性を他の言語として扱うことも可能です。 これは例えば、JavaScript などを使用したサーバーサイドスクリプティングや、PhpStorm で利用可能なその他の言語実装に役立ちます。

重要なことの 1 つは、カスタムタグを提供する taglib の URI を、言語を挿入する XML タグの名前空間 URI として使用する必要があることです。 namespace-textfields には、プロジェクト内のすべての既知の taglib URI のリストが含まれています。

パターン検証

PhpStorm の OpenAPI からの明らかな例を挙げます:

/** com.intellij.codeInspection.LocalInspectionTool * @return descriptive name to be used in <annotation>suppress</annotation> comments and annotations, * must consist of [a-zA-Z_0-9]+ */ @NonNls @NotNull public String getID() { return getShortName(); }

メソッド getID() の契約では、パターン "[a-zA-Z_0-9] +" に一致する文字列のみを返す必要があります。 契約が自動的に検証可能な方法で指定されていないため、JavaDoc の短いアノテーションは簡単に見落とすことができます。

ただし、このメソッドが @Pattern("[a-zA-Z_0-9]+") としてアノテーションされている場合、そのパターンと一致しない文字列を返そうとするとエディターにフラグが立てられます:

bad-inspection-id.png

パターンの完成

正規表現パターンが異なるリテラル値の列挙を表す場合、プラグインはそれらの値の補完を提供します:

enum-completion.png

正規表現の編集

正規表現パターンの拡張コーディングサポートの例をいくつか示します。

バックリファレンスの検証

backref-check.png

囲む操作で囲む

surround-with.png

文字カテゴリの検証

unknown-character-category.png

文字カテゴリの完成

character-category-completion.png
2026 年 5 月 22 日