Notepad ++でオートフォーマット/インデントXML / HTMLする方法


628

コードのブロックを再度インデントする方法はありますか?EclipseのCtrl+ Shift+ F(オートフォーマット/インデント)に似たものを探しています。

明確にするために、

  • Notepad ++のでXMLをフォーマットする方法はすでに知っています(前述のようにEclipseは正常に動作します)ので、他のXMLフォーマットツールへの多数のリンクは必要ありません。
  • 特にXMLとHTMLを使用しています。
  • 理想的には、Eclipseと同じくらい便利なキーバインドがあるため、ワークフローを中断する必要はありません。

NppAutoIndentについてはすでに知っています。XML、HTML、CSSで作業しているため、機能しません。


回答:


838

6.3.2にアップグレードしたので、を使用しますXML Tools

  • プラグイン管理を介してXMLツールをインストールします。
  • ショートカットCtrl+ Alt+ Shift+を使用Bまたは メニュー→プラグイン→XMLツール→Pretty Print)

以前のバージョン:メニュー→TextFX→HTML Tidy→Tidy:Reindent XML。


11
5.9.8バージョンをインストールし、TextFXをプラグインとして追加しました。プラグイン->プラグインマネージャ->プラグインマネージャを表示。TextFXを選択してインストールします。nppの再起動後、メニュー「TextFS」が表示されます。
remipod 2012年

19
HTMLTidyプラグインをインストールするときに、最近のバージョンで不足しているlibtidy.dllエラーに注意してください。
アモスM.カーペンター

11
XMLツールはXHTMLをフォーマットしますが、HTMLはフォーマットしません。これをフォーマットしてみてください:<form><input><input><input><input><input></form>。あなたのコードはこのフォーマットで動作する必要があり、これは多くの開発者にとって取引ブレーカーになります:<form><input /><input /><input /><input /><input /></form>
thdoan

1
メニューで[フォーマット]オプションを見つけます。[拡張機能]-> [XMLツール]-> [プリティプリント(改行付き)]
fl0w

1
divが空の場合、<div> </ div>が<div />に変わるので、これには十分注意してください。これは、CSSスタイルをレンダリングするWebブラウザーの重大な変更になる可能性があります。
ティモシーゴンザレス

53

Tidy2プラグインをインストールします。Notepad ++ v6.2.2を使用していますが、Tidy2はこれまでのところ正常に動作します。


5
2番目に、Tidy2はHTMLマークアップのための仕事を成し遂げ、非常に良い仕事をしています。
DWilsは2013

2
私はこれを3番目にします。XMLツールは私にとっては機能せず、TextFXで機能させることができませんでした
Christian Vielma

4
おかげで.. 'XMLツール'は特定のファイルで動作しませんでした。これが私にとってはうまくいきました。
Subhashi 2014

4
注意:整頓すると、特定のHTML文字エンティティがUnicode文字に置き換えられます。これはTidy2の設定やドキュメントのエンコードに関係ありません。例:「&#8217;」整理する前に整理する前に「 '」(「スマート」単一引用符)になります。これにより、Tidy2が使用できなくなりました。プロジェクトは2012
。– trebormf

インデントにスペースの代わりにタブを使用するオプションがないため、これは私を殺します。
cori

36

知らない人のために、nppはプラグインや他のプロジェクトから多くのサポートを得ています。これらのプラグインはSourceForgeからダウンロードできます。

ここに画像の説明を入力してください

XML Toolsn ++でテキストをフォーマットする必要があります

ダウンロードした後XML Tools..

Notepad ++を終了する

移動 C:\Program File\Notepad++.... N ++がインストールされているフォルダ。

  1. nppルートフォルダーにダウンロードしたxmlツールのファイルの下に配置します copy replace

ここに画像の説明を入力してください

  1. ..\Pluginsサブフォルダーに移動し、ダウンロードしたファイルの下に配置します

ここに画像の説明を入力してください

再起動してお楽しみください!!!

Ctrl+ Alt+ Shft+ Bフォーマットします。


4
私にはプラグインマネージャがないようです-notepad ++ 7.3.3を持っています。
フクロウ

14

Windowsとnppをインストールするのは3回目ですが、しばらくすると、整理された機能が機能しなくなることに気付きました。だから私は解決策をググって、このスレッドに来て、それからいくつかのスレッドの助けを借りて最終的にそれを修正します。私のすべての行動の要約をまとめます。

  1. TextFXプラグインをインストールします。プラグイン->プラグインマネージャ->プラグインマネージャを表示します。TextFX Charactersを選択してインストールします。nppの再起動後、メニュー「TextFX」が表示されます。(クレジット:@remipod)。

  2. 古いnppパッケージからConfigフォルダーを貼り付けてlibtidy.dllをインストールします。この回答の指示に従ってください。

  3. 最新のnppインストール先(通常はC:\ Program Files(x86)\ Notepad ++ \ plugins)にConfigフォルダーを作成した後、nppはそのフォルダーへの書き込みアクセスを必要とします。[Config]フォルダーを右クリック-> [プロパティ]-> [セキュリティ]タブ-> [ユーザー]を選択し、[編集]-> [フルコントロール]をオンにして、読み取り/書き込みアクセスを許可します。これを行うには管理者権限が必要です。

  4. nppを再起動して、TextFX-> TextFX HTML Tidy-> Tidy:Reindent XMLが機能することを確認します。


あなたが使用している場合は、「allowAppDataPlugins」の設定(ユーザごとのプラグインを可能に)、あなたが置くことによってこれを行うことができます整頓ユーザープラグインディレクトリにステップ2からフォルダを、ステップ3をスキップ
palswim

@palswim:いいね、ありがとう!1人のユーザーがnppを使用すると、ソリューションはよりクリーンになります。
Vladimir Grigorov 2013

9

Notepad ++は、デフォルトではそのような機能を提供していません。ただし、https: //www.freeformatter.com/xml-formatter.htmlのようないくつかのオンラインツールを使用してテキストを自動フォーマットできます

助けになる。:)


2
この回答はOPの質問に対する解決策ではなく回避策ですが、それが私にとってうまくいった唯一のものです。XMLツールとTidy2の両方に問題があります。
Nigel Alderton、2018

8

プラグイン->プラグインマネージャ->プラグインマネージャの表示-> 設定プロキシ設定更新し、「利用可能」リストにプラグインを表示する必要がありました。

その後、「XMLツール」のインストールは簡単で、上記のように要求された作業を行いました。


「XMLツール」を使用すると、HTML + Javascriptコードに必要なインデントがなくなりました。見つかった「UniversalIndentGUI」プラグインは、言語をHTB(HTML、XML、XSL)に設定し、プラグインメニューから「テキストのインデント」を実行することで、うまく機能します。
GuruM 2014

6

OPに直接答えるには、この男のサイト、 Thomas Hunter Notepad ++ Tidy for XMLをご覧ください。簡単な手順に従うだけで、NPP内でXMLの非常に優れたフォーマットを取得できます。これまでのところ、私が見つけた唯一の異常は、ネストされた自己終了要素EGです。

<OuterTag>Text for outer element<SelfClosingTag/></OuterTag>

整理整頓:

<OuterTag>Text for outer element
<SelfClosingTag/></OuterTag>

これを修正する方法はあるかもしれませんが、当面は、私のドキュメントの行数を300k減らすことができ、この特定の異常を回避できます。


1

「Plugin Admin」でNotepad 7.6を使用していますが、XMLツールが見つかりませんでした。プラグインフォルダーがここにあることを除いて、
@ some-java-guyが彼の回答で行ったように手動でインストールする必要がありました:C:\Users\<my username>\AppData\Local\Notepad++\plugins
そのディレクトリに新しいディレクトリ(XmlToolsという名前)を作成し、そこにXMLTools.dllをコピーしました。(そして、すべての依存関係をプログラムファイルのNotepad ++ディレクトリにコピーしました。)


Notepad ++ v7.8.4では、「Plugin Admin」内で「XMLツール」を使用できます。おそらく、以前は非互換性か何かがありました。最新のコミットが2日前のgithub.com/morbac/xmltools
Micah Lindstromの

1

最新のメモ帳++をインストールし、折りたたみでインデントをインストールするだけです。メニューバーで[プラグイン]-> [プラグイン管理]を選択し、フォールドごとにインデントとインストールを選択します。最高の作品


xmlツールまたはtidy2を機能させることができないため、これが今はアクセプターの答えになるはずです。とにかく、この使用法にショートカットを割り当てることはできますか?
Irfandi D. Vendy

Notepad ++の最新バージョン(7.8.6)は非常に残念です。IndentByFoldをバージョン7.5.6にインストールしてみましたが、Franco Stellariによる素晴らしいAutoSaveプラグイン、https: //sites.google.com/site/fstellari/npppluginsを壊しました。申し訳ありませんが、私にとっては、それは取引ブレーカーです。当面は、Notepad ++の最新バージョンであるhttps://community.notepad-plus-plus.org/topic/16449を非難します。哀れ。
ヘンケ

私はうまくいきました。私はv7.8.4を使用しています
Daniel Nyamasyo

私はここで、話題を滑り落ちる危険が、誰でも++メモ帳のバージョンを報告することができた場合、後でフランコStellariによる自動保存1.60プラグインで機能7.5.6よりhttps://sites.google.com/site/fstellari/nppplugins、Iそのバージョンに切り替えて幸せ以上です。そうでない場合-Notepad ++ 7.5.6を新しいバージョンに更新する方法はありません。IndentByFoldのバージョン0.7も動作します。しかし、私はIndentByFoldが行う空の行に(末尾の)スペースを挿入することに反対しています。
ヘンケ

Notepad ++のバージョンは7.5.6です。私は今1)XMLツール、2)HTML Tidy、3)Tidy2、および4)IndentByFold 0.7を試しました。XMLツールは一種の「機能」しますが、私のHTMLコードhttps://i.imgur.com/oLOB30Z.pngの嘆かわしい混乱を引き起こします。HTML TidyもTidy2もまったく機能しません。IndentByFold 0.7は、私が実行できる唯一のソリューションです。私はそれが空の行に(末尾)スペースを配置するのが好きではありませんが、それで生活することができます。私はまだこの答えをサポートしていません(Daniel Nyamasyoによる)。その理由は、Notepad ++の最新バージョンを使用するというアドバイスに強く同意しないためです。
ヘンケ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.