PhpStorm 2024.1 ヘルプ

言語インジェクション

言語インジェクションを使用すると、コードに埋め込まれた他の言語のコード部分を操作できます。文字列リテラルに言語 (HTML、CSS、XML、RegExp など) を挿入すると、プロジェクトのメイン言語でなくても、挿入されたコードに対して包括的なコーディング支援を受けることができます。

PHP のコンテキストでは、インジェクション可能な PHP と呼ばれる特別な PHP ダイアレクトを使用できます。このダイアレクトは、省略可能な <?php 開始タグを除いて、PHP に似ています。インジェクション可能な PHP は、他の言語と同様に、文字列リテラルに手動で挿入できます。さらに、eval()(英語) コールおよび言語識別子が php に設定された Markdown フェンスコードブロックに自動的に挿入されます。

一時的に言語をインジェクションする

デフォルトでは、IDE は一時的に言語を挿入します。これは、埋め込まれた要素を削除すると、インジェクションも失われることを意味します。

  1. 言語を挿入する文字列リテラル、タグ、属性内にキャレットを配置し、Alt+Enter を押します(またはインテンションアクションアイコン Intention action icon を使用します)。

  2. 言語または参照の挿入を選択し、インジェクションする言語を選択します。

    Inject HTML

言語インジェクションコメントを使用する

  • ターゲット文字列リテラルの前に空白行を追加し、次のコメントを入力します。

    // language=<language_ID>
    CSS injection comment

コメントについては、インジェクションしたい言語の構文を使用してください。言語 ID は一般的に直感的です。たとえば、SQL、RegExp、XML、HTML などです。

設定で言語 ID を確認することもできます。Ctrl+Alt+S を押して設定を開き、エディター | 言語インジェクションを選択します。言語のインジェクションルールをダブルクリックすると、言語 ID が ID フィールドに指定されます。

インジェクションエディターを開く

  1. 挿入されたコード部分内にキャレットを置き、Alt+Enter を押します (またはインテンションアクションアイコン Intention action icon を使用します)。

  2. <言語 ID> フラグメントの編集を選択します。

    PhpStorm は、挿入された言語でコードを編集するための専用のエディターセクションを開きます。このエディターは、コード補完、インスペクション、インテンション、コードスタイルアクションなどの完全なコーディング支援を提供します。

    Edit the HTML fragment in the dedicated editor

@lang アノテーションを使用する

PHP のコンテキストでは、@lang <language_ID> アノテーションを使って言語をインジェクションすることもできます。

  • ターゲット文字列リテラルの前に @lang <language_ID> PHPDoc アノテーションを付けます。SQL、RegExp、XML、HTML など、言語 ID は一般的に直感的です。

    Injecting with the lang annotation

nowdoc/heredoc 文字列の中に言語を挿入する

PHP のコンテキストでは、nowdoc(英語)/heredoc(英語) 文字列内に言語を挿入できます。

  • heredoc/nowdoc 文字列を入力して、挿入する言語 ID にマーカーを設定します。SQL、RegExp、XML、HTML など、言語 ID は一般的に直感的です。

    Injecting inside nowdoc/heredoc

インジェクションをキャンセルする

  1. キャレットをコードの一部に配置して Alt+Enter を押す(またはインテンションアクションアイコン the Intention action button を使用する)。

  2. 言語または参照の挿入解除を選択します。

言語インジェクションをキャンセルするには、インジェクションコメントまたはアノテーションを削除することもできます。

インテンションアクションバルブアイコンを無効にする

エディターでインテンションアクションアイコン Intention action icon を非表示にするには、次の手順を実行します。

  1. Ctrl+Alt+S を押して設定を開き、エディター | 一般 | 外観を選択します。

  2. インテンションバルブを表示するチェックボックスをクリアします。

  3. 変更を適用し、ダイアログを閉じます。

自動インジェクションのルールを構成する

PhpStorm には、IDE がコード内の特定の場所に言語を自動的に挿入するための事前定義されたルールのセットがあります。

設定 Ctrl+Alt+Sエディター | 言語インジェクションページで言語インジェクションルールを設定できます。

定義済みのすべてのインジェクションルールはビルトインスコープ用に設定されています。言い換えれば、それらはグローバルです(したがってすべての PhpStorm プロジェクトで利用可能です)。カスタムルールは IDE または 1 つのプロジェクトに対してのみ設定できます。カスタムインジェクションの範囲を変更するには、the Move to Project/IDE scope button を使用してください。

VCS を介してカスタムルールを共有するには、ツールバーの対応するオプションを使用して、カスタムルールをプロジェクトスコープに移動します。そうすることで、バージョン管理下に置くことができるカスタムルールを使用して IntelliLang.xml という名前の新しいファイルを .idea ディレクトリに作成します。

VCS を使用しない場合は、ルールを XML ファイルにエクスポートして(ツールバーの Export をクリック)、別のプロジェクトにインポートすることで、ルールを共有できます。

カスタムインジェクションルールを設定するには、the Add button をクリックして新しいルールを追加するか、あらかじめ定義されたルールをコピーして設定を変更します。

関連ページ:

プラグインのインストール

プラグインは PhpStorm のコア機能を拡張します。例: プラグインをインストールして、次の機能を取得します。バージョン管理システム、課題追跡システム、ビルド管理サーバー、その他のツールとの統合。さまざまな言語とフレームワークのコーディング支援サポート。ショートカットのヒント、ライブプレビュー、ファイルウォッチャーなど。新しいプログラミング言語を学ぶのに役立つコーディング演習。プラグイン設定を開くを押して設定を開き、を選択します。マーケットプレースタブを使用して、JetBrains マーケッ...

Markdown

Markdown は、フォーマット要素をプレーンテキストに追加するための軽量のマークアップ言語です。PhpStorm は Markdown ファイルを認識し、ハイライト、補完、フォーマットを行う専用エディターを提供し、レンダリングされた HTML をライブプレビューペインに表示します。サポートは CommonMark の仕様に基づいています。新しい Markdown ファイルを作成するデフォルトでは、PhpStorm は、.md または .markdown 拡張子を持つすべてのファイルを Markdown...

安全な削除

導入:安全な削除リファクタリングでは、ソースコードからファイルを安全に削除できます。削除が安全であることを確認するために、PhpStorm は削除されるファイルの使用箇所を探します。そのような使用箇所が見つかった場合は、シンボルが実際に削除される前に探索し、コード内で必要な修正を加えることができます。リファクタリングの実行:削除する項目を選択します。以下のいずれか 1 つを実行します: を押します。メインメニューまたはコンテキストメニューからを選択します。メインメニューからを選択し、安全な削...