PyCharm 2026.1 Help

言語インジェクション設定ダイアログ: XML 属性の挿入

項目

説明

名前

注入の名前。

言語

インジェクトする言語。

  • ID: インジェクトする言語の ID または名前を選択します。

  • 接頭辞: 対応する文字列値の前に追加する文字のシーケンスを指定します。

  • 接尾辞: 対応する文字列値の後に追加する文字のシーケンスを指定します。

接頭辞と接尾辞はオプションです。

XML タグ

In this area, specify the XML tags inside which attributes are affected by the defined rule.

  • In the ローカル名 field, specify the tag name without a namespace prefix. 正規表現を使用して、複数のタグ名 name1|name2 、大文字と小文字を区別しない名前((?i)tagnametagnameTagName に一致)などを指定します。

  • In the 名前空間 field, specify the namespace URI of the XML tag.

どちらのフィールドもオプションです。 ただし、 ローカル名 フィールドが空の場合、その設定は、含まれる XML タグに関係なく、設定された名前に一致するすべての属性に適用されます。

XML 属性

この領域では、そのような属性を持つタグで囲まれたテキストを選択した言語として扱うことを示す XML タグ属性を定義します。

  • ローカル名: 名前空間プレフィックスなしで属性名を指定します。 正規表現を使用します。たとえば HTML のイベントハンドラー属性に一致させる場合は、フィールドに on.* を入力します。

    XML タグ 領域の ローカル名 フィールドが空でない限り、このフィールドはオプションです。 属性のローカル名が指定されていない場合、設定は囲むタグのすべての属性に適用されます。

  • 名前空間: 属性の名前空間 URI を指定します。

拡張生 advanced

この領域では、追加の設定を指定して、インジェクションプロセスに対してより細かい制御を可能にします。

  • 値パターン - in this field, type a regular expression that determines the context to inject the language into. パターンの最初のキャプチャーグループを挿入対象として使用することで、特定のパターンに一致する値、パターンに一致する複数の部分にのみ言語を挿入するように手順を構成できます。

  • 単一ファイル - If the option is off, the fragments that match the value pattern are treated separately, as different "files" - for example from the fragment editor's viewpoint.

    このオプションがオンの場合、対応するフラグメントはすべてマージされて単一のユニット、つまり「ファイル」になります。

    値のパターンを考える

    xxx (.+) yyy (.+) zzz

    そしてフラグメント

    xxx select * yyy from family zzz,

    このオプションがオフの場合、 select *from family は 2 つの独立したフラグメント(または「ファイル」)として扱われます。 このオプションがオンの場合、 select * from family は単一のユニットまたは「ファイル」として扱われます。

  • XPath 条件 - in this field, specify an XPath expression to address the injection-target more precisely. The context in which the expression is evaluated is the XML attribute itself.

    If necessary, use XPath extension functions, for example, lower-case(). また、現在のファイル名、拡張子、ファイル種類を判別するために使える追加関数があります: file-name()file-ext()file-type()。 あるいは、標準のコード補完を使用して、使用可能な関数の一覧を取得することもできます。

2026 年 6 月 1 日