Notepad ++ XML Auto Indent + Penutup Tag

2

Saya memigrasikan pertanyaan yang saya posting di stackoverflow ke sini karena mungkin lebih relevan.

Ini pertanyaannya:

Saya sedang mencari cara untuk kode XML (mxml, khususnya) di Notepad ++ sedemikian rupa sehingga mengikuti perilaku plugin "Indent by Fold" - lekukan setelah menekan 'enter' mengikuti tag pembuka - tetapi juga termasuk tag otomatis yang menutup mirip untuk apa yang disediakan oleh plugin "XML Tools".

Masalah dengan mengaktifkan keduanya sekaligus adalah bahwa saya mulai dengan sesuatu seperti ini:

<hello| 

(Catatan: karakter '|' mewakili kursor)

Kemudian setelah menekan tombol '>', saya mendapatkan ini:

<hello>|</hello>

Dan setelah menekan 'Enter,' saya mendapatkan sesuatu yang terlihat seperti ini:

<hello>
   |</hello>

Yang saya cari adalah sesuatu yang terlihat seperti ini (setelah menekan tombol '>'):

<hello>
   |
</hello>

Bantuan apa pun akan sangat dihargai.

funseiki
sumber

Jawaban:

2

Inilah solusi cepat dan kotor saya. Benar-benar hanya melibatkan pembuatan makro dan mengaktifkan fitur alat XML.

Pertama, hapus plugin "Indent By Fold", jika diinstal.

Kemudian, aktifkan fitur "Tag tutup otomatis" dengan masuk ke Plugin> Alat XML.

Juga, aktifkan indentasi Notepad ++ dengan membuka Pengaturan> Preferensi> MISC. Tab

Selanjutnya, pergi ke Makro> Mulai Perekaman.

Sekarang, tekan tombol berikut dalam urutan ini:

>, masuk, masuk, naik, tab.

Lalu, buka Macro> Stop Recording. Diikuti oleh, Makro> Simpan Makro Terekam Saat Ini.

Ini akan membuat '>' final serta tag penutup, tetapi kemudian membiarkan kursor Anda di-indentasi di baris baru antara tag pembuka dan penutup.

Saya menyimpan milik saya sebagai "CTRL + '.'".

Alasan di balik ini adalah jika saya ada di sini:

<hello|

Hal yang wajar untuk dilakukan adalah dengan menekan tombol '>'. Karena saya perlu menekan SHIFT + '.' pada keyboard QWERTY untuk mendapatkan karakter ini, saya pikir saya akan menggunakan CTRL + '.' (hanya satu tombol lagi) untuk menjalankan makro dan menyimpan SHIFT + '.' untuk kasus-kasus di mana saya hanya ingin karakter lama polos (mis <hello />.).

Ini hasilnya setelah memukul CTRL + '.'

<hello>
   |
</hello>

Saya akan mencari solusi yang lebih elegan, tetapi untuk saat ini sepertinya cukup bagus.

Semoga ini membantu!

funseiki
sumber