Notepad ++ ile XML / HTML'yi Otomatik Biçimlendirme / Girintileme


628

Bir kod bloğunu yeniden girintilemenin bir yolu var mı? Eclipse (Otomatik Biçim / Girinti) Ctrl+ Shift+ 'ya benzer bir şey arıyorum F.

Açık olmak gerekirse,

  • Zaten XML Notepad ++ dışında nasıl biçimlendirileceğini biliyorum (Eclipse belirtildiği gibi iyi çalışıyor), bu yüzden diğer XML biçimlendirme araçlarına bağlantılar bir demet gerekmez.
  • Özellikle XML ve HTML ile çalışıyorum.
  • İdeal olarak, Eclipse'deki kadar uygun bir tuş takımı var, bu yüzden iş akışımı kırmam gerekmiyor.

Zaten NppAutoIndent hakkında biliyorum - XML, HTML ve CSS ile çalışıyorum gibi, işe yaramaz.


Yanıtlar:


838

6.3.2'ye yükselttiğim için kullanıyorum XML Tools.

  • XML Araçları'nı Eklenti Yöneticisi aracılığıyla yükleyin.
  • Ctrl+ Alt+ Shift+ kısayolunu kullanın B( veya menü → Eklentiler → XML Araçları → Pretty Print)

Eski sürümlerde: menü → TextFX → HTML Düzenlemesi → Düzenli: XML'i hatırla.


11
5.9.8 sürümünü yükledim ve bir eklenti olarak TextFX ekledim. Eklentiler -> Eklenti Yöneticisi -> Eklenti Yöneticisini Göster. TextFX'i seçin ve yükleyin. Npp yeniden başlatıldıktan sonra 'TextFS' menüsü görünür olmalıdır.
12'de

19
HTMLTidy eklentisini yüklerken son sürümlerde eksik libtidy.dll hatasına dikkat edin .
Amos M. Carpenter

11
XML Araçları XHTML'yi biçimlendirir, ancak HTML'yi biçimlendirmez. Bu biçimlendirmeyi deneyin: <form><input><input><input><input><input></form>. Kodunuzun çalışması için bu biçimde olması gerekir, bu da birçok geliştirici için bir anlaşma kırıcı olacaktır:<form><input /><input /><input /><input /><input /></form>
thdoan

1
Menüde Biçim seçeneğini bulun: Uzantılar-> XML Araçları -> Güzel yazdırma (satır sonları ile)
fl0w

1
Bu konuda çok dikkatli olun, div'ler boşsa <div> </div> 'yi <div /> haline getirir. Bu, css stillerini oluşturan web tarayıcıları için kırıcı bir değişiklik olabilir.
Timothy Gonzalez

53

Tidy2 eklentisini yükleyin. Notepad ++ v6.2.2 var ve Tidy2 şu ana kadar iyi çalışıyor.


5
İkincisi, Tidy2 HTML işaretlemesi için işi tamamladı ve çok iyi bir iş çıkardı.
DWils

2
Ben üçüncüydüm. XML Tools benim için çalışmadı ve TextFX ile çalışmadı
Christian Vielma

4
Teşekkürler .. 'XML Araçları' belirli dosyalar üzerinde çalışmadı ve bu benim için işe yaradı.
Subhashi

4
Dikkat: Düzenlediğinizde bazı HTML karakter varlıkları unicode karakterleriyle değiştirilir. Bu, Tidy2 yapılandırmasından veya belge kodlamasından bağımsızdır. Örneğin, "& # 8217;" toplama işleminden önce toplama işleminden sonra "" "(" akıllı "tek tırnak) olur. Bu Tidy2'yi benim için kullanılamaz hale getirdi. Proje 2012 yılından beri güncellenmemiştir.
trebormf

girinti için boşluklar yerine sekme kullanma seçeneği bunu benim için öldürmez.
cori

36

Bilmeyenler için npp, eklentilerden ve diğer projelerden çok destek alıyor. Bu eklentileri SourceForge'dan indirebilirsiniz .

resim açıklamasını buraya girin

XML ToolsMetninizi n ++ 'da biçimlendirmeniz gerekiyor

İndirdikten sonra XML Tools..

Not Defteri'nden Çık ++

Git C:\Program File\Notepad++... N ++ kurulu klasörünüz.

  1. Npp kök klasöründe indirdiğiniz xml araçlarından aşağıdaki dosyaları copy replace

resim açıklamasını buraya girin

  1. ..\PluginsAlt klasöre gidin ve indirilen dosyanın altına yerleştirin

resim açıklamasını buraya girin

Yeniden başlatın ve keyfini çıkarın !!!

CtrlBiçimlendirmek için + Alt+ Shft+ B.


4
Benim bir eklenti yöneticisi gibi görünmüyor - notepad ++ 7.3.3 var.
Baykuş

14

Windows'u ve npp'i üçüncü kez kurdum ve bir süre sonra düzenli işlevin artık çalışmadığını fark ettim. Bu yüzden bir çözüm için google, bu konuya gel, sonra birkaç tane daha yardımıyla sonunda nihayet düzelttim. Tüm eylemlerimin özetini bir kez ve herkes için yazacağım.

  1. TextFX eklentisini yükleyin: Eklentiler -> Eklenti Yöneticisi -> Eklenti Yöneticisini Göster. TextFX Karakterleri'ni seçin ve yükleyin. Npp yeniden başlatıldıktan sonra 'TextFX' menüsü görünür olmalıdır. (kredi: @remipod).

  2. Config klasörünü eski bir npp paketinden yapıştırarak libtidy.dll dosyasını yükleyin: Bu yanıttaki talimatları izleyin .

  3. En son npp kurulum hedefinizde (genellikle C: \ Program Files (x86) \ Notepad ++ \ plugins) bir Config klasörü bulunduktan sonra, npp bu klasöre yazma erişimine ihtiyaç duyar. Yapılandırma klasörü -> Özellikler -> Güvenlik sekmesine sağ tıklayın -> Kullanıcılar'ı seçin, Düzenle'ye tıklayın -> okuma / yazma erişimine izin vermek için Tam kontrolü işaretleyin. Bunu yapmak için yönetici ayrıcalıklarına ihtiyacınız olduğunu unutmayın.

  4. Npp'yi yeniden başlatın ve TextFX -> TextFX HTML Tidy -> Tidy: Reindent XML'nin çalıştığını doğrulayın.


Eğer kullanıyorsanız "allowAppDataPlugins" ayarını (kullanıcı başına eklentileri izin), sen koyarak bunu yapabilirsiniz düzenli kullanıcı eklentileri dizininde 2. adımdaki klasörü ve 3. adımı atlayarak
palswim

@palswim: Güzel, teşekkürler! Bir kullanıcı npp kullandığında çözümünüz daha temizdir.
Vladimir Grigorov

9

Notepad ++ varsayılan olarak böyle bir özellik sağlamaz. Ancak, https://www.freeformatter.com/xml-formatter.html gibi metinleri otomatik olarak biçimlendirmek için bazı çevrimiçi araçları kullanabilirsiniz .

Yardımcı olur. :)


2
Bu cevap OP sorusuna bir çözüm olmaktan ziyade bir çözüm olsa da, benim için işe yarayan tek şey bu oldu. Hem XML Araçları hem de Tidy2'de sorunlar var.
Nigel Alderton

8

"Kullanılabilir" listesinde herhangi bir PlugIns görmek için Eklentiler -> Eklenti Yöneticisi -> Eklenti Yöneticisini Göster -> Ayarlar altında proxy ayarlarını güncellemek zorunda kaldım .

Bundan sonra, "XML Araçları" nın kurulumu kolaydı ve istenen işi yukarıda açıklandığı gibi yaptı.


"XML Araçları" kullanarak, HTML + Javascript kodu için girintiye ihtiyacım yoktu. Bulunan "UniversalIndentGUI" eklentisi, dili HTB (HTML, XML, XSL) olarak ayarlayıp işi eklentiler menüsünden 'Metne girinti' çalıştırarak güzel bir iş çıkarır.
GuruM

6

OP'ye doğrudan cevap vermek için şu adamın sitesine göz atın: Thomas Hunter Notepad ++ Tidy for XML . Basit adımları takip edin ve XML'nizi NPP içinde çok güzel biçimlendirin. Şimdiye kadar bulduğum tek anormallik EG iç içe geçmiş kendi kendine kapanma elemanları ile:

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

Şunlara kadar toplanacak:

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

Bunu düzeltmenin bir yolu olabilir, ancak şimdilik belgemdeki satır sayısını 300 bin azaltmayı başarıyor ve bu özel anormallik çözülebilir.


1

Notepad 7.6 ile "Plugin Admin" kullanıyorum ve XML araçlarını bulamadım. Benim eklentiler klasörü burada bulunduğu dışında
@ some-java-guy yanıtında yaptığı gibi el ile yüklemek zorunda kaldı: C:\Users\<my username>\AppData\Local\Notepad++\plugins
Bu dizinde yeni bir dizin (XmlTools adlı) oluşturdu ve orada XMLTools.dll kopyaladı. (Ve tüm bağımlılıkları Program dosyalarındaki Notepad ++ dizinine kopyaladım.)


Notepad ++ v7.8.4 ile "XML Araçları", "Eklenti Yöneticisi" içinde mevcuttur. Belki de bir uyumsuzluk falan vardı. Yine de aktif olarak geliştirilmiş gibi görünüyor, son taahhüt 2 gün önce github.com/morbac/xmltools
Micah Lindstrom

1

Sadece en son notepad ++ 'ı yükleyin ve girintiyi katlayın. Menü çubuğunda Eklentiler -> Eklentiler Yöneticisi'ni seçin ve katla ve yükle ile girintiyi seç. En iyi çalışır


xml aracı veya tidy2 çalışmak için alamadım çünkü bu şimdi, alıcı cevap olmalıdır. Her neyse, bu kullanım için kısayol atayabilir miyiz?
Irfandi D. Vendy

Notepad ++ (7.8.6) dosyasının en son sürümü çok hayal kırıklığı yaratıyor. IndentByFold'u 7.5.6 sürümüne yüklemeyi denedim ve Franco Stellari'nin https://sites.google.com/site/fstellari/nppplugins tarafından harika AutoSave eklentisini kırdı . Üzgünüm: benim için bu bir anlaşma kırıcı. (!) Frank Fesevur'un IndentByFold ile muhtemelen yanlış bir şey yok. Şimdilik Notepad ++ 'ın en son sürümünü, https://community.notepad-plus-plus.org/topic/16449 suçluyorum . Acınası.
Henke

Bana gelince işe yaradı. V7.8.4 kullanıyorum
Daniel Nyamasyo

Burada konu dışı kayma riski yaşıyorum, ancak kimse Franco Stellari tarafından https://sites.google.com/site/fstellari/nppplugins tarafından AutoSave 1.60 eklentisi ile çalışan bir Notepad ++ 7.5.6 sürümünden sonra bildirebilirse , ben bu sürüme geçmekten memnuniyet duyarız. Değilse - Notepad ++ 7.5.6'yı daha sonraki bir sürüme güncellemem mümkün değil. IndentByFold 0.7 sürümü de benim için çalışıyor. Ancak IndentByFold'un yaptığı boş satırlara boşluklar koymaya (sondaki) itiraz ediyorum.
Henke

Notepad ++ sürümüm 7.5.6'dır. Şimdi denedim 1) XML Araçları, 2) HTML Düzenli, 3) Düzenli2, ve 4) IndentByFold 0.7. XML Tools bir çeşit "çalışır", ancak HTML kodumun acımasız bir karışıklığını yaratıyor, https://i.imgur.com/oLOB30Z.png . Ne HTML Tidy ne de Tidy2 işe yaramıyor. IndentByFold 0.7 işe alabileceğim tek çözüm. Boş satırlara boşluklar bırakmasını sevmiyorum ama bununla yaşayabilirim. Hala bu cevabı desteklemiyorum (Daniel Nyamasyo tarafından). Nedeni, Notepad ++ ' ın en son sürümünü kullanma tavsiyesine kesinlikle katılmıyorum .
Henke
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.