web-dev-qa-db-ja.com

Notepad ++ XML自動インデント+タグの閉じ

stackoverflow に投稿した質問は、関連性が高い可能性があるため、ここに移行します。

ここに質問があります:

「IndentbyFold」プラグインの動作(開始タグの後に「Enter」を押した後のインデント)に従うように、Notepad ++でXML(具体的にはmxml)をコーディングする方法を探していますが、同様の自動タグ終了も含まれています「XMLツール」プラグインによって提供されるものに。

両方を同時に有効にすることの問題は、次のようなものから始めることです。

<hello| 

(注:「|」文字はカーソルを表します)

次に、「>」キーを押した後、次のようになります。

<hello>|</hello>

そして、「Enter」を押すと、次のようなものが表示されます。

<hello>
   |</hello>

私が探しているのは、次のようなものです( '>'キーを押した後):

<hello>
   |
</hello>

どんな助けでも大歓迎です。

2
funseiki

これが私の迅速で汚い解決策です。実際には、XMLツール機能を有効にするとともにマクロを作成するだけです。

まず、「Indent By Fold」プラグインがインストールされている場合は、それを削除します。

次に、[プラグイン]> [XMLツール]に移動して、[タグの自動クローズ]機能を有効にします。

また、[設定]> [設定]> [MISC]に移動して、Notepad ++の自動インデントを有効にします。タブ

次に、[マクロ]> [記録の開始]に移動します。

次に、この順序で次のキーを押します。

>、enter、enter、up、tab。

次に、[マクロ]> [記録の停止]に移動します。続いて、[マクロ]> [現在記録されているマクロを保存]。

これにより、最後の「>」と終了タグが作成されますが、開始タグと終了タグの間の新しい行にカーソルがインデントされたままになります。

「CTRL + '。'」として保存しました。

この背後にある理由は、私がここにいた場合:

<hello|

自然なことは、「>」キーを押すことです。 SHIFT + 'を押す必要があるので。' QWERTYキーボードでこの文字を取得するには、CTRL + '。'(キーを1つだけ離して)を使用してマクロを実行し、SHIFT + '。'を保存します。プレーンな古い文字(例:<hello />)。

これは、CTRL + 'を押した後の結果です。

<hello>
   |
</hello>

私はもっ​​とエレガントな解決策を探していますが、今のところこれはかなり良いようです。

お役に立てれば!

2
funseiki