PhpStorm 2026.1 Help

概要

IntelliLang は、PhpStorm で(カスタム)言語に関連する特定のタスクを扱う開発者をサポートするための基本的な 3 種類の機能を組み合わせたものです:

  • 言語インジェクション: 文字列リテラルと XML フラグメントに ネイティブ に埋め込まれているコードを編集します。

    挿入された言語コードフラグメントを エディターで開いて変更できます。 このようにして、あたかも対応する言語でソースコードを操作しているかのように、必要なコーディング支援をすべて得ることができます。

    挿入された言語コードフラグメントをエディターで開くには、 <言語> フラグメントの編集 インテンションアクションを使用します。

  • パターン検証: メソッドとの間でやり取りされる String が特定の正規表現に一致するようにするための支援を提供します

  • 正規表現のサポート: 正規表現のカスタム言語実装

言語インジェクション

これは、PhpStorm の新しい機能を活用して、文字列リテラル、XML のテキストや属性を任意の言語(言語インジェクションと呼ばれる)の断片として扱えるようにしています。 このプラグインは、この新たに導入された API を誰でも日常的に利用できるよう、非常にシンプルな 2 つの手段を提供します。1 つは、Java のアノテーションを使用して、特定の言語を含む文字列フィールド、ローカル変数、メソッドのパラメーターや、文字列を返すメソッドをマークする方法、もう 1 つはシンプルな UI 構成を利用する方法です。 プラグインにはアノテーションのセットが用意されていますが、実際のアノテーションは不要な依存性を避けるために自由に設定できます。

これを有効化すると、通常 PhpStorm が認識しないカスタムスキーマの XML ファイルや通常の Java コード内の JavaScript フラグメントを編集する際に、構文エラーのハイライト、補完、インスペクションなど、幅広い編集時機能の利点を開発者が得ることができます。

パターン検証

さらに、このプラグインを使うことで、Java の文字列型要素にアノテーションを付与し、特定の正規表現に準拠しているかどうかチェックできます。 これは、ごく単純な 言語で、開発者が式が特定の構文に従っていること、例えば文字列が有効な Java 識別子であることや、 java.util.Formatter で使用される printf のような有効なパターンであることを確認する必要がある場合に役立ちます。

これは、指定されたパターンに値を一致させるアサーションをコンパイル済みクラスにインストルメント化することで、コードの編集中だけでなく、実行時(メソッドのパラメーターと戻り値のみ、PhpStorm コアの @NotNull インストルメンテーションのように)にもオンザフライで検証できます。

正規表現のサポート

プラグインのこの部分は、 java.util.regex.Pattern の言語サポートを実装しており、おそらく文字列内で最も頻繁に使用されるミクロ言語への対応を追加することで IntelliLang プラグインをサポートするために作られました。 SDK の正規表現実装の構文を完全にサポートし、さらに追加機能も備えています、例えば

  • 誰にも覚えられないようなキャラクターのプロパティ名(たとえば \p{javaJavaIdentifierStart} )の補完と検証

  • 後方参照(たとえば、 \1 )の使用時の検証やナビゲーションが可能です。 Ctrl+B を使って、後方参照が指すキャプチャグループへ移動できます。

  • 繰り返し文字の使用を簡略化するインテンションアクションがあり、例えば a{0,1}a? に変換することが提案されます

  • " 囲む " キャプチャー / 非キャプチャーグループ

  • およびその他

2026 年 5 月 22 日