วิธีการจัดรูปแบบอัตโนมัติ / เยื้อง XML / HTML ใน Notepad ++


628

มีวิธีการเยื้องบล็อกของรหัสอีกครั้งหรือไม่ ฉันกำลังมองหาบางสิ่งที่คล้ายกับCtrl+ Shift+ Fใน Eclipse (จัดรูปแบบอัตโนมัติ / เยื้อง)

ต้องมีความชัดเจน,

  • ฉันรู้แล้วว่าการจัดรูปแบบ XML นอก Notepad ++ (Eclipse ทำงานได้ดีดังที่ได้กล่าวไว้แล้ว) ดังนั้นฉันจึงไม่จำเป็นต้องมีลิงก์จำนวนมากไปยังเครื่องมือการจัดรูปแบบ XML อื่น ๆ
  • ฉันทำงานกับ XML และ HTML โดยเฉพาะ
  • โดยหลักการแล้วมันมีการเชื่อมโยงที่สะดวกสบายเหมือนกับที่สำคัญใน Eclipse ดังนั้นฉันจึงไม่ต้องหยุดเวิร์กโฟลว์ของฉัน

ฉันรู้แล้วเกี่ยวกับ NppAutoIndent - มันใช้งานไม่ได้เพราะฉันทำงานกับ XML, HTML และ CSS


คำตอบ:


838

ตั้งแต่ผมอัพเกรด 6.3.2 XML Toolsผมใช้

  • ติดตั้งเครื่องมือ XML ผ่านทางปลั๊กอินผู้ดูแลระบบ
  • ใช้ทางลัดCtrl+ Alt+ Shift+ B( หรือ เมนู→ปลั๊กอิน→เครื่องมือ XML →พิมพ์สวย)

ในรุ่นเก่ากว่า: เมนู→ TextFX → HTML Tidy → Tidy: Reindent XML


11
ฉันติดตั้งเวอร์ชัน 5.9.8 และเพิ่ม TextFX เป็นปลั๊กอิน ปลั๊กอิน -> ตัวจัดการปลั๊กอิน -> แสดงตัวจัดการปลั๊กอิน เลือก TextFX และติดตั้ง หลังจากรีสตาร์ท npp แล้วเมนู 'TextFS' จะปรากฏให้เห็น
remipod

19
ระวังข้อผิดพลาด libtidy.dll ที่หายไปในเวอร์ชันล่าสุดเมื่อติดตั้งปลั๊กอิน HTMLTidy
Amos M. Carpenter

11
เครื่องมือ XML จะจัดรูปแบบ XHTML แต่ไม่ใช่ HTML <form><input><input><input><input><input></form>ลองจัดรูปแบบนี้: รหัสของคุณจะต้องอยู่ในรูปแบบนี้ในการทำงานซึ่งจะเป็น breaker จัดการสำหรับนักพัฒนาจำนวนมาก:<form><input /><input /><input /><input /><input /></form>
thdoan

1
ค้นหาตัวเลือกรูปแบบในเมนู: ส่วนขยาย -> เครื่องมือ XML -> พิมพ์สวย (พร้อมตัวแบ่งบรรทัด)
fl0w

1
โปรดใช้ความระมัดระวังเป็นอย่างยิ่งมันจะเปลี่ยน <div> </div> เป็น <div /> หาก div นั้นว่างเปล่า นี่อาจเป็นการเปลี่ยนแปลงครั้งใหญ่สำหรับเว็บเบราว์เซอร์ที่แสดงสไตล์ CSS
Timothy Gonzalez

53

ติดตั้งปลั๊กอิน Tidy2 ฉันมี Notepad ++ v6.2.2 และ Tidy2 ก็ใช้งานได้ดี


5
ฉันสองสิ่งนี้ Tidy2 ทำงานได้สำเร็จสำหรับมาร์กอัป HTML และทำงานได้ดีมาก
DWils

2
ฉันสามสิ่งนี้ เครื่องมือ XML ไม่ทำงานสำหรับฉันและไม่สามารถใช้งานกับ TextFX ได้
Christian Vielma

4
ขอบคุณ .. 'เครื่องมือ XML' ใช้ไม่ได้กับไฟล์บางไฟล์และนี่คือสิ่งที่ใช้ได้กับฉัน
Subhashi

4
ระวัง: เอนทิตีอักขระ HTML บางตัวถูกแทนที่ด้วยอักขระ Unicode เมื่อคุณเรียบร้อย นี่คือไม่คำนึงถึงการกำหนดค่า Tidy2 หรือการเข้ารหัสเอกสาร ยกตัวอย่างเช่น "& # 8217;" ก่อนที่การจัดเรียงจะกลายเป็นคำพูดเดี่ยว "" "(" ฉลาด ") หลังจากจัดเรียง นี่ทำให้ Tidy2 ใช้ไม่ได้สำหรับฉัน โครงการดังกล่าวยังไม่ได้รับการปรับปรุงตั้งแต่ 2555
trebormf

ไม่มีตัวเลือกสำหรับการใช้แท็บแทนการเว้นวรรคสำหรับการเยื้องเพื่อฆ่าสิ่งนี้สำหรับฉัน
Cori

36

สำหรับผู้ที่ไม่รู้ npp ได้รับการสนับสนุนมากมายจากปลั๊กอินและโครงการอื่น ๆ คุณสามารถดาวน์โหลดปลั๊กอินเหล่านั้นจากSourceForge

ป้อนคำอธิบายรูปภาพที่นี่

คุณต้องจัดXML Toolsรูปแบบข้อความของคุณใน n ++

หลังจากคุณดาวน์โหลดXML Tools..

ออกจาก Notepad ++

ไปที่ C:\Program File\Notepad++.... โฟลเดอร์ N ++ ที่ติดตั้งของคุณ

  1. วางไฟล์ด้านล่างจากเครื่องมือ xml ที่คุณดาวน์โหลดในโฟลเดอร์รากของ npp copy replace

ป้อนคำอธิบายรูปภาพที่นี่

  1. ไปที่..\Pluginsโฟลเดอร์ย่อยและวางไฟล์ที่ดาวน์โหลดด้านล่าง

ป้อนคำอธิบายรูปภาพที่นี่

รีสตาร์ทและสนุก !!!

Ctrl+ Alt+ Shft+ Bเพื่อจัดรูปแบบ


4
ฉันดูเหมือนจะไม่มีตัวจัดการปลั๊กอินในของฉัน - ฉันมีแผ่นจดบันทึก ++ 7.3.3
Owl

14

เป็นครั้งที่สามที่ฉันติดตั้ง Windows และ npp และหลังจากนั้นฉันก็ตระหนักถึงฟังก์ชั่นที่เป็นระเบียบไม่ทำงานอีกต่อไป ดังนั้นฉัน google หาทางออกมาที่หัวข้อนี้จากนั้นด้วยความช่วยเหลือของอีกไม่กี่ดังนั้นหัวข้อฉันในที่สุดก็แก้ไขได้ ฉันจะสรุปการกระทำทั้งหมดของฉันทันทีและทั้งหมด

  1. ติดตั้งปลั๊กอิน TextFX: ปลั๊กอิน -> เครื่องมือจัดการปลั๊กอิน -> แสดงเครื่องมือจัดการปลั๊กอิน เลือกตัวอักษร TextFX และติดตั้ง หลังจากรีสตาร์ท npp แล้วเมนู 'TextFX' จะปรากฏให้เห็น (เครดิต: @remipod)

  2. ติดตั้ง libtidy.dll โดยวางโฟลเดอร์ Config จากแพ็คเกจ npp เก่า: ทำตามคำแนะนำในคำตอบนี้

  3. หลังจากมีโฟลเดอร์ Config ในปลายทางการติดตั้ง npp ล่าสุดของคุณ (โดยทั่วไปคือไฟล์ C: \ Program (x86) \ Notepad ++ \ plugins), npp จำเป็นต้องมีสิทธิ์ในการเขียนเพื่อเข้าถึงโฟลเดอร์นั้น คลิกขวาที่โฟลเดอร์กำหนดค่า -> คุณสมบัติ -> แท็บความปลอดภัย -> เลือกผู้ใช้คลิกแก้ไข -> เลือกตัวควบคุมทั้งหมดเพื่ออนุญาตการเข้าถึงแบบอ่าน / เขียน โปรดทราบว่าคุณต้องการสิทธิ์ผู้ดูแลระบบในการทำเช่นนั้น

  4. รีสตาร์ท npp และตรวจสอบ TextFX -> TextFX HTML Tidy -> Tidy: Reindent XML ใช้งานได้


หากคุณใช้การตั้งค่า "allowAppDataPlugins" (อนุญาตให้ใช้ปลั๊กอินต่อผู้ใช้) คุณสามารถทำได้โดยวางโฟลเดอร์ที่เป็นระเบียบเรียบร้อยจากขั้นตอนที่ 2 ในไดเรกทอรีปลั๊กอินผู้ใช้ของคุณและข้ามขั้นตอนที่ 3
palswim

@palswim: ดีขอบคุณ! โซลูชันของคุณสะอาดขึ้นเมื่อผู้ใช้รายหนึ่งใช้ npp
Vladimir Grigorov

9

Notepad ++ ไม่ได้จัดเตรียมฟีเจอร์ดังกล่าวไว้ตามค่าเริ่มต้น แต่คุณสามารถใช้เครื่องมือออนไลน์บางอย่างเพื่อให้ข้อความอัตโนมัติเช่นhttps://www.freeformatter.com/xml-formatter.html

มันช่วย. :)


2
แม้ว่าคำตอบนี้เป็นวิธีแก้ปัญหาแทนที่จะเป็นวิธีแก้ปัญหาสำหรับคำถาม OPs มันเป็นสิ่งเดียวที่เหมาะกับฉัน ทั้งเครื่องมือ XML และ Tidy2 มีปัญหา
Nigel Alderton

8

ฉันต้องอัปเดตการตั้งค่าพร็อกซีภายใต้ปลั๊กอิน -> ตัวจัดการปลั๊กอิน -> แสดงตัวจัดการปลั๊กอิน -> การตั้งค่าเพื่อดูปลั๊กอินใด ๆ ในรายการ "พร้อมใช้"

หลังจากนั้นการติดตั้ง "เครื่องมือ XML" นั้นง่ายและทำหน้าที่ตามที่อธิบายไว้ข้างต้น


การใช้ "เครื่องมือ XML" การเยื้องไม่ได้เป็นอย่างที่ฉันต้องการสำหรับโค้ด HTML + Javascript พบปลั๊กอิน "UniversalIndentGUI" ทำงานได้ดีโดยการตั้งค่าภาษาเป็น HTB (HTML, XML, XSL) จากนั้นเรียกใช้ 'เยื้องข้อความ' จากเมนูปลั๊กอิน
GuruM

6

โดยตรงตอบ OP ให้ดูที่เว็บไซต์ของผู้ชายคนนี้ A: โทมัสฮันเตอร์ Notepad ++ เป็นระเบียบเรียบร้อยสำหรับ XML ขั้นตอนง่าย ๆ ในการติดตามและคุณจะได้รับการจัดรูปแบบ XML ที่ดีมากภายใน NPP จนถึงความผิดปกติเพียงอย่างเดียวที่ฉันได้พบคือองค์ประกอบที่ปิดตัวเองซ้อนกันเช่น:

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

จะถูกจัดเรียงเป็น:

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

อาจมีวิธีการแก้ไขปัญหานี้ แต่ในขณะนี้ก็มีการจัดการเพื่อลดจำนวนบรรทัดในเอกสารของฉันโดย 300k และความผิดปกตินี้สามารถแก้ไขได้


1

ฉันใช้ Notepad 7.6 กับ "ผู้ดูแลปลั๊กอิน" และฉันไม่พบเครื่องมือ XML
ฉันต้องติดตั้งด้วยตนเองเช่น @ some-java-guy ทำในคำตอบของเขายกเว้นว่าโฟลเดอร์ปลั๊กอินของฉันตั้งอยู่ที่นี่: C:\Users\<my username>\AppData\Local\Notepad++\plugins
ในไดเรกทอรีนั้นฉันสร้างไดเรกทอรีใหม่ (ชื่อ XmlTools) และคัดลอก XMLTools.dll ที่นั่น (และฉันคัดลอกการอ้างอิงทั้งหมดไปยังไดเรกทอรี Notepad ++ ในไฟล์โปรแกรม)


ด้วย Notepad ++ v7.8.4 จะมี "เครื่องมือ XML" อยู่ใน "ปลั๊กอินผู้ดูแลระบบ" อาจเคยมีความไม่ลงรอยกันหรือบางอย่าง ยังคงดูเหมือนว่ามันได้รับการพัฒนาอย่างแข็งขันเช่นกันเมื่อพิจารณาความมุ่งมั่นล่าสุดคือ 2 วันที่ผ่านมาในgithub.com/morbac/xmltools
Micah Lindstrom

1

เพียงติดตั้งแผ่นจดบันทึกล่าสุด ++ และติดตั้งเยื้องโดยการพับ บนแถบเมนูให้เลือกปลั๊กอิน -> ปลั๊กอินผู้ดูแลระบบและการเยื้องส่วนและการติดตั้ง ทำงานได้ดีที่สุด


นี่ควรเป็นคำตอบ accepter ในตอนนี้เพราะฉันไม่สามารถรับเครื่องมือ xml หรือ tidy2 เพื่อใช้งานได้ อย่างไรก็ตามเราสามารถกำหนดทางลัดสำหรับการใช้งานนี้ได้หรือไม่?
Irfandi D. Vendy

Notepad ++ รุ่นล่าสุด (7.8.6) น่าผิดหวังมาก ฉันพยายามติดตั้ง IndentByFold เข้าไปในเวอร์ชัน 7.5.6 และมันยากจนบันทึกอัตโนมัติยอดเยี่ยมปลั๊กอินโดยฝรั่งเศส Stellari, https://sites.google.com/site/fstellari/nppplugins ขออภัย: สำหรับฉันนั่นเป็นดีลเลอร์ (!) อาจไม่มีอะไรผิดปกติกับ seent ของ IndentByFold โดย Frank Fesevur สำหรับเวลาที่เป็นอยู่ผมตำหนิรุ่นล่าสุดของ Notepad ++ https://community.notepad-plus-plus.org/topic/16449 น่าเวทนา
Henke

สำหรับฉันมันใช้งานได้ ฉันใช้ v7.8.4
Daniel Nyamasyo

ฉันมีความเสี่ยงในการเลื่อนปิดหัวข้อที่นี่ แต่ถ้าใครสามารถรายงานรุ่น Notepad ++ เวอร์ชันต่ำกว่า 7.5.6 ที่ทำงานกับปลั๊กอินบันทึกอัตโนมัติ 1.60 โดย Franco Stellari, https://sites.google.com/site/fstellari/npppluginsฉัน จะมีความสุขมากกว่าที่จะเปลี่ยนเป็นเวอร์ชั่นนั้น ถ้าไม่มี - ไม่มีทางฉันจะอัปเดต Notepad ++ 7.5.6 เป็นเวอร์ชันใหม่กว่า IndentByFold เวอร์ชั่น 0.7 ทำงานให้ฉันด้วย แต่ฉันคัดค้านการวางช่องว่าง (ต่อท้าย) ลงในแถวว่างซึ่ง IndentByFold ทำ
Henke

รุ่น 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 ++ รุ่นล่าสุด
Henke
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.