Cara Memformat Otomatis / Indentasi XML / HTML di Notepad ++

628

Apakah ada cara untuk indentasi ulang blok kode? Saya mencari sesuatu yang mirip dengan Ctrl+ Shift+ Fdi Eclipse (Format-Otomatis / Indentasi).

Agar jelas,

  • Saya sudah tahu cara memformat XML di luar Notepad ++ (Eclipse berfungsi dengan baik, seperti yang disebutkan) jadi saya tidak perlu banyak tautan ke alat pemformatan XML lainnya.
  • Saya secara khusus bekerja dengan XML dan HTML.
  • Idealnya, ada pengikat kunci senyaman yang ada di Eclipse, jadi saya tidak perlu memutus alur kerja saya.

Saya sudah tahu tentang NppAutoIndent - itu tidak akan berfungsi, karena saya bekerja dengan XML, HTML dan CSS.

SBoss
sumber

Jawaban:

838

Karena saya memutakhirkan ke 6.3.2, saya menggunakan XML Tools.

  • instal Alat XML melalui Admin Plugin.
  • gunakan pintasan Ctrl+ Alt+ Shift+ B( atau menu → Plugin → Alat XML → Pretty Print)

Dalam versi yang lebih lama: menu → TextFX → HTML Tidy → Tidy: Reindent XML.

remipod
sumber
11
Saya menginstal versi 5.9.8 dan menambahkan TextFX sebagai plugin. Plugins -> Plugin Manager -> Show Plugin Manager. Pilih TextFX dan instal. Setelah restart npp, menu 'TextFS' akan terlihat.
remipod
19
Waspadalah terhadap kesalahan libtidy.dll yang hilang di versi terbaru saat memasang plugin HTMLTidy.
Amos M. Carpenter
11
Alat XML akan memformat XHTML, tetapi bukan HTML. Coba format ini: <form><input><input><input><input><input></form>. Kode Anda harus dalam format ini agar berfungsi, yang akan menjadi pemecah kesepakatan bagi banyak pengembang:<form><input /><input /><input /><input /><input /></form>
thdoan
1
Temukan opsi Format di Menu: Extensions-> XML Tools -> Print cantik (dengan jeda baris)
fl0w
1
Berhati-hatilah dengan ini karena itu akan mengubah <div> </div> menjadi <div /> jika divnya kosong. Ini bisa menjadi perubahan besar bagi browser web yang merender gaya css.
Timothy Gonzalez
53

Instal plugin Tidy2. Saya memiliki Notepad ++ v6.2.2, dan Tidy2 berfungsi dengan baik sejauh ini.

Dima
sumber
5
Saya kedua ini, Tidy2 menyelesaikan pekerjaan untuk markup HTML dan melakukan pekerjaan yang sangat baik.
DWils
2
Saya ketiga ini. Alat XML tidak berfungsi untuk saya dan tidak bisa membuatnya bekerja dengan TextFX
Christian Vielma
4
Terima kasih .. 'Alat XML' tidak berfungsi pada file tertentu dan ini yang berhasil bagi saya.
Subhashi
4
Hati-hati: Entitas karakter HTML tertentu diganti dengan karakter unicode mereka ketika Anda merapikan. Ini terlepas dari konfigurasi Tidy2 atau penyandian dokumen. Misalnya, "& # 8217;" sebelum merapikan menjadi "'" ("pintar" kutipan tunggal) setelah merapikan. Ini membuat Tidy2 tidak dapat digunakan untuk saya. Proyek ini belum diperbarui sejak 2012.
trebormf
tidak ada opsi untuk menggunakan tab daripada spasi untuk lekukan membunuh ini untuk saya.
cori
36

Bagi mereka yang tidak tahu, npp memiliki banyak dukungan dari plugin dan proyek lainnya. Anda dapat mengunduh plugin itu dari SourceForge .

masukkan deskripsi gambar di sini

Anda perlu XML Toolsmemformat teks Anda di n ++

Setelah Anda mengunduh XML Tools..

Keluar dari Notepad ++

Go To C:\Program File\Notepad++.... Folder terinstal N ++ Anda.

  1. Tempatkan file di bawah ini dari alat xml yang Anda unduh di folder root npp oleh copy replace

masukkan deskripsi gambar di sini

  1. Pergi ke ..\Pluginssubfolder dan letakkan di bawah file yang diunduh

masukkan deskripsi gambar di sini

Mulai ulang dan nikmati !!!

Ctrl+ Alt+ Shft+ Buntuk memformat.

Beberapa orang Jawa
sumber
4
Saya sepertinya tidak memiliki plugin manager - Saya punya notepad ++ 7.3.3.
Burung hantu
14

Sudah ketiga kalinya saya menginstal Windows dan npp dan setelah beberapa waktu saya menyadari fungsi rapi tidak lagi berfungsi. Jadi saya mencari solusi di Google, datang ke utas ini, lalu dengan bantuan beberapa lagi, akhirnya saya perbaiki. Saya akan menempatkan ringkasan semua tindakan saya sekali dan untuk semua.

  1. Instal plugin TextFX: Plugins -> Plugin Manager -> Show Plugin Manager. Pilih Karakter TextFX dan instal. Setelah restart npp, menu 'TextFX' akan terlihat. (kredit: @remipod).

  2. Instal libtidy.dll dengan menempel folder Config dari paket npp lama: Ikuti instruksi dalam jawaban ini .

  3. Setelah memiliki folder Config di tujuan instalasi npp terbaru Anda (biasanya C: \ Program Files (x86) \ Notepad ++ \ plugins), npp perlu akses tulis ke folder itu. Klik kanan folder Config -> Properties -> tab Security -> pilih Users, klik Edit -> centang Kendali penuh untuk mengizinkan akses baca / tulis. Perhatikan bahwa Anda memerlukan hak administrator untuk melakukan itu.

  4. Mulai ulang npp dan verifikasi TextFX -> TextFX HTML Tidy -> Tidy: Reindent XML berfungsi.

Vladimir Grigorov
sumber
Jika Anda menggunakan pengaturan "allowAppDataPlugins" (mengizinkan plugin per-pengguna), Anda dapat melakukan ini dengan meletakkan folder rapi dari langkah 2 di direktori plugin pengguna Anda dan melompati langkah 3.
palswim
@alswim: Bagus, terima kasih! Solusi Anda lebih bersih ketika satu pengguna menggunakan npp.
Vladimir Grigorov
9

Notepad ++ tidak menyediakan fitur seperti itu secara default. Tetapi Anda dapat menggunakan beberapa alat online untuk autoformat teks seperti https://www.freeformatter.com/xml-formatter.html .

Itu membantu. :)

Daksh Agrawal
sumber
2
Meskipun jawaban ini lebih merupakan solusi daripada solusi untuk pertanyaan OP, itu adalah satu-satunya hal yang bekerja untuk saya. Baik Alat XML dan Tidy2 memiliki masalah.
Nigel Alderton
8

Saya harus memperbarui pengaturan proxy di bawah Plugins -> Plugin Manager -> Show Plugin Manager -> Settings untuk melihat PlugIns apa saja di daftar "Available".

Setelah itu, menginstal "Alat XML" mudah dan melakukan pekerjaan yang diminta seperti yang dijelaskan di atas.

Oliver Meyer
sumber
Menggunakan "Alat XML" indentasi itu tidak seperti yang saya butuhkan untuk HTML + kode Javascript. Ditemukan "UniversalIndentGUI" plugin melakukan pekerjaan dengan baik dengan mengatur bahasa ke HTB (HTML, XML, XSL) dan kemudian jalankan 'Indent the text' dari menu plugins.
GuruM
6

Untuk langsung menjawab OP, lihat situs orang ini: Thomas Hunter Notepad ++ Tidy untuk XML . Langkah-langkah sederhana untuk diikuti dan Anda mendapatkan pemformatan XML Anda yang sangat bagus di dalam NPP. Sejauh ini satu-satunya anomali yang saya temukan adalah dengan elemen penutup diri bersarang EG:

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

Akan dirapikan hingga:

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

Mungkin ada cara untuk memperbaikinya, tetapi untuk saat ini, itu berhasil mengurangi jumlah baris dalam dokumen saya hingga 300 ribu dan anomali khusus ini dapat diatasi.

delliottg
sumber
1

Saya menggunakan Notepad 7.6 dengan "Plugin Admin" dan saya tidak dapat menemukan Alat XML.
Saya harus menginstalnya secara manual seperti yang dilakukan @ some-java-guy dalam jawabannya kecuali bahwa folder plugin saya berada di sini: C:\Users\<my username>\AppData\Local\Notepad++\plugins
Di direktori itu saya membuat direktori baru (bernama XmlTools) dan menyalin XMLTools.dll di sana. (Dan saya menyalin semua dependensi ke direktori Notepad ++ di file Program.)

Björn
sumber
Dengan Notepad ++ v7.8.4, "Alat XML" tersedia dalam "Plugin Admin". Mungkin dulu ada ketidakcocokan atau sesuatu. Sepertinya masih aktif dikembangkan, mengingat komit terbaru 2 hari lalu di github.com/morbac/xmltools
Micah Lindstrom
1

Cukup instal notepad terbaru ++ dan instal Indent by fold. Pada bilah menu pilih Plugins -> Plugins Admin dan pilih indent By fold dan instal. Berfungsi terbaik

Daniel Nyamasyo
sumber
ini harus menjadi jawaban accepter sekarang, karena saya tidak bisa mendapatkan alat xml atau tidy2 berfungsi. Lagi pula, bisakah kita menetapkan pintasan untuk penggunaan ini?
Irfandi D. Vendy
Versi terbaru Notepad ++ (7.8.6) sangat mengecewakan. Saya mencoba menginstal IndentByFold ke versi 7.5.6, dan itu merusak plugin AutoSave yang bagus oleh Franco Stellari, https://sites.google.com/site/fstellari/nppplugins . Maaf: bagi saya, itu adalah deal-breaker. (!) Mungkin tidak ada yang salah dengan IndentByFold oleh Frank Fesevur. Untuk saat ini, saya menyalahkan Notepad ++ versi terbaru, https://community.notepad-plus-plus.org/topic/16449 . Yg menyedihkan.
Henke
Bagi saya itu berhasil. Saya menggunakan v7.8.4
Daniel Nyamasyo
Saya berisiko tergelincir di luar topik di sini, tetapi jika ada yang dapat melaporkan versi Notepad ++ lebih dari 7.5.6 yang berfungsi dengan plugin AutoSave 1.60 oleh Franco Stellari, https://sites.google.com/site/fstellari/nppplugins , saya akan lebih dari senang untuk beralih ke versi itu. Jika tidak - tidak mungkin saya akan memperbarui Notepad ++ 7.5.6 ke versi yang lebih baru. IndentByFold versi 0.7 juga berfungsi untuk saya. Tapi saya keberatan menempatkan spasi (baris) ke baris kosong, yang dilakukan IndentByFold.
Henke
Versi Notepad ++ saya adalah 7.5.6. Saya sekarang telah mencoba 1) Alat XML, 2) HTML Tidy, 3) Tidy2, DAN 4) IndentByFold 0.7. Alat XML semacam "berfungsi", tetapi membuat kode HTML saya berantakan, https://i.imgur.com/oLOB30Z.png . Baik HTML Tidy maupun Tidy2 tidak berfungsi sama sekali. IndentByFold 0.7 adalah satu-satunya solusi yang bisa saya peroleh untuk bekerja. Saya tidak suka itu menempatkan (membuntuti) spasi pada baris kosong, tapi saya bisa hidup dengan itu. Saya masih tidak mendukung jawaban ini (oleh Daniel Nyamasyo). Alasannya adalah saya sangat tidak setuju dengan saran untuk menggunakan Notepad ++ versi terbaru .
Henke