Як автоматичне форматування / відступ 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.