Як автоматичне форматування / відступ XML / HTML у Блокноті ++


628

Чи є спосіб повторного відступу блоку коду? Я шукаю щось подібне до Ctrl+ Shift+ Fу Eclipse (Авто-формат / відступ).

Щоб було зрозуміло,

  • Я вже знаю, як відформатувати XML поза Notepad ++ (Eclipse працює добре, як згадувалося), тому мені не потрібна купа посилань на інші інструменти форматування XML.
  • Я спеціально працюю з XML та HTML.
  • В ідеалі є прив'язка клавіш настільки ж зручна, як і у Eclipse, тому мені не потрібно переривати робочий процес.

Я вже знаю про NppAutoIndent - він не працюватиме, оскільки я працюю з XML, HTML і CSS.


Відповіді:


837

З моменту оновлення до 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".
реміпод

19
Остерігайтеся відсутньої помилки libtidy.dll в останніх версіях при встановленні плагіна HTMLTidy.
Амос М. Карпентер

11
Інструменти XML будуть форматувати XHTML, але не HTML. Спробуйте відформатувати це: <form><input><input><input><input><input></form>. Ваш код повинен бути у такому форматі, щоб він працював, що стане переривником угод для багатьох розробників:<form><input /><input /><input /><input /><input /></form>
30

1
Знайдіть опцію Формат у меню: Розширення-> Інструменти XML -> Симпатичний друк (з розривами рядків)
fl0w

1
Будьте дуже обережні з цим, він перетворить <div> </div> у <div />, якщо діви порожні. Це може бути суттєвою зміною для веб-браузерів, що відображають стилі css.
Тимофій Гонсалес

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 непридатним для мене. Проект не оновлювався з 2012 р.
trebormf

жоден варіант використання вкладок замість пробілів для відступу не вбиває це для мене.
cori

36

Для тих, хто не знає, npp має велику підтримку плагінів та інших проектів. Ви можете завантажити ці плагіни з SourceForge .

введіть тут опис зображення

Вам потрібно XML Toolsвідформатувати текст у n ++

Після завантаження XML Tools..

Вийдіть із блокнота ++

Перейдіть до C:\Program File\Notepad++.... Ваша встановлена ​​папка N ++.

  1. Розташуйте нижче файли з інструментів xml, які ви завантажили в кореневу папку npp copy replace

введіть тут опис зображення

  1. Перейдіть у ..\Pluginsпапку та розмістіть завантажений файл нижче

введіть тут опис зображення

Перезапустіть і насолоджуйтесь !!!

Ctrl+ Alt+ Shft+ Bдо формату.


4
У мене, здається, немає менеджера плагінів у мене - у мене блокнот ++ 7.3.3.
Сова

14

Вже втретє я встановлюю Windows та npp, і через деякий час я усвідомлюю, що охайна функція більше не працює. Тож я google за рішенням, підходжу до цієї нитки, потім за допомогою ще декількох так ниток я остаточно її виправляю. Я покладу звіт про всі мої дії раз і назавжди.

  1. Встановити плагін TextFX: Плагіни -> Менеджер плагінів -> Показати Менеджер плагінів. Виберіть символи TextFX та встановіть. Після перезавантаження npp повинно бути видно меню "TextFX". (кредити: @remipod).

  2. Встановіть libtidy.dll, вставивши папку Config зі старого пакету npp: Дотримуйтесь інструкцій у цій відповіді .

  3. Після того, як у вашому останньому пункті встановлення npp встановлена ​​папка Config (як правило, C: \ Program Files (x86) \ Notepad ++ \ plugins), npp потребує запису доступу до цієї папки. Клацніть правою кнопкою миші папку Налаштувати -> Властивості -> вкладка Безпека -> виберіть Користувачі, натисніть Редагувати -> Позначте Повний контроль, щоб дозволити доступ для читання / запису. Зауважте, що для цього вам потрібні права адміністратора.

  4. Перезапустіть npp та перевірте TextFX -> TextFX HTML Tidy -> Tidy: Reindent XML працює.


Якщо ви використовуєте налаштування "enableAppDataPlugins" (дозволяючи плагіни для кожного користувача), ви можете це зробити, помістивши охайну папку з кроку 2 у вашій
довідці

@palswim: Приємно, дякую! Ваше рішення є більш чистим, коли один користувач використовує npp.
Володимир Григоров

9

Блокнот ++ за умовчанням не надає жодної такої функції. Але ви можете використовувати деякі онлайн-інструменти для автоматичного форматування тексту, наприклад https://www.freeformatter.com/xml-formatter.html .

Це допомагає. :)


2
Хоча ця відповідь є швидшим вирішенням, а не вирішенням питання щодо ОП, це для мене єдине, що спрацювало. І XML Tools, і Tidy2 мають проблеми.
Найджел Олдертон

8

Мені довелося оновити налаштування проксі-сервера в розділі Плагіни -> Менеджер плагінів -> Показати Менеджер плагінів -> Налаштування, щоб побачити будь-які плагіни у списку "Доступні".

Після цього встановити "Інструменти XML" було легко і виконали запитуване завдання, як описано вище.


Використовуючи "Інструменти XML", відступ не був таким, як мені потрібно для коду HTML + Javascript. Знайдений плагін "UniversalIndentGUI" добре виконує завдання, встановивши мову на HTB (HTML, XML, XSL), а потім запустіть "Відступити текст" з меню плагінів.
ГуруМ

6

Щоб безпосередньо відповісти на ОП, подивіться на сайт цього хлопця: Томас Хантер Блокнот ++ Охайний для XML . Прості кроки, які слід виконати, і ви отримаєте дуже приємне форматування вашого XML прямо в АЕС. Поки що єдина аномалія, яку я виявила, - це вкладені елементи, що самозамикаються EG:

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

Прибиратимуться до:

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

Можливо, це виправити, але поки що вдалося зменшити кількість рядків у моєму документі на 300 к, і ця конкретна аномалія може бути оброблена.


1

Я використовую Блокнот 7.6 з "Плагіном адміністратора", і не вдалося знайти інструменти XML.
Мені довелося встановити його вручну, як @ some-java-guy зробив у своїй відповіді, за винятком того, що тут розміщена моя папка плагінів: C:\Users\<my username>\AppData\Local\Notepad++\plugins
У цьому каталозі я створив новий каталог (з назвою XmlTools) і скопіював там XMLTools.dll. (І я скопіював усі залежності в каталог Notepad ++ у файлах Program.)


З Notepad ++ v7.8.4 "Інструменти XML" доступні в межах "Плагін адміністратора". Можливо, колись була несумісність чи щось таке. Все ще здається, що він також активно розвинений, враховуючи, що остання фіксація була зроблена
Micah Lindstrom

1

Просто встановіть останній блокнот ++ та встановіть відступ в складку. На панелі меню виберіть «Плагіни» -> «Плагіни» Адміністратор та відступ відступів У складці та встановленні. Працює найкраще


це має бути відповідь прийняття зараз, тому що я не можу заставити інструмент xml або tidy2 працювати. У будь-якому випадку, чи можемо ми призначити ярлик для цього використання?
Ірфанді Д. Венді,

Остання версія Notepad ++ (7.8.6) дуже невтішна. Я спробував встановити IndentByFold у версії 7.5.6, і він зламав чудовий плагін AutoSave від Франка Стелларі, https://sites.google.com/site/fstellari/nppplugins . Вибачте: для мене це розірвання угод. (!) Певно, нічого поганого з IndentByFold від Френка Фесевура. На даний момент я звинувачую останню версію Notepad ++, https://community.notepad-plus-plus.org/topic/16449 . Жалюгідний.
Генке

Як на мене, це спрацювало. Я використовую v7.8.4
Daniel Nyamasyo

Я ризикую перенести сюди тему, але якщо хтось може повідомити про версію Notepad ++ пізніше 7.5.6, яка працює з плагіном AutoSave 1.60 від Франка Стелларі, https://sites.google.com/site/fstellari/nppplugins , я був би більш ніж радий перейти на цю версію. Якщо ні - я не можу оновити Notepad ++ 7.5.6 до пізнішої версії. Версія 0.7 IndentByFold працює і для мене. Але я заперечую проти розміщення (трейлінгу) пробілів у порожні рядки, що робить IndentByFold.
Хенке

Моя версія «Блокнот ++» - 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 - єдине рішення, на яке я можу взятися за роботу. Мені не подобається, що він ставить (прокладає) пробіли на порожні рядки, але я можу з цим жити. Я досі не підтримую цю відповідь (Даніель Нямасіо). Причина в тому, що я категорично не згоден з порадою використовувати останню версію Notepad ++.
Генке
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.