Форматування коду в Блокноті ++


186

Чи є комбінація клавіш для форматування коду в Блокноті ++?
Я в основному працюю з HTML, CSS та кодом Python.

Наприклад:

<title>{% block title %}    {% endblock %}</title>      
 <link rel="stylesheet" href="/media/style.css" type="text/css" media="screen" />
</head>

До:

<head>
  <title>
    {% block title %}
    {% endblock %}
  </title>
  <link rel="stylesheet" href="/media/style.css" type="text/css" media="screen" />
</head>


Я пам'ятаю, як Visual Studio робив це з Ctrl+K + Dта NetBeans, які також мають цю функцію, але не можуть знайти її в Notepad ++, якщо вона навіть може це зробити.


Я використовував Dreamweaver "Застосувати форматування джерела" або CRTL + K + D у Visual Studio і відформатувати мої сторінки. Я також використовував VIM, але я просто ніколи не підходив правильно з Notepadd ++, тому що він не любить мої теги джанго.
Даррен

1
На це потрібна сучасна відповідь. Жодна з цих відповідей більше не працює.
Філіп Рего

Вам потрібно додати пов’язаний плагін, доступ до якого можна отримати Plugin manger: справа від Notepad ++ версії 7.5, менеджер плагінів більше не постачається із Notepad ++
Mohammad

Відповіді:


127

TextFX -> HTML Tidy -> Tidy: Reindent XML

Не забудьте обрати HTML-код перед цим.


1
Привіт, я це використав, і це чудово працює лише з HTML. Однак теги django, здається, просто стирають їх або не форматують їх належним чином. Це найближчий поки що. Та для підказки.
darren

158
Для тих, хто завантажує новий Блокнот ++. TextFX більше не постачається в комплекті. Вам потрібно буде зайти Plugins > Plugin Manager > Show Plugin Managerі завантажити TextFX звідти. Крім того, ви, ймовірно, знайдете, що TextFX не може знайти libTidy.dll. Щоб визначити, що ви можете зробити це stackoverflow.com/questions/6985637/… Після всього цього ви повинні мати можливість TextFX -> HTML Tidy -> Tidy: Reindent XMLяк описано @gablin.
Даррен

2
Здається, Блокнот ++ хоче ускладнити життя . НАВІТЬ якщо у вас є версії 6 або вище , вам все одно потрібно завантажити зіп версії 5.9 тут . Потім скопіюйте tidyпапку unicode\plugins\Configі вставте її у свою C:\Program Files\Notepad++\plugins\Configпапку.
Даррен

1
У моєму випадку плагінів не було перелічено на вкладці "Доступно" в "Менеджері плагінів". Щоб виправити це, мені довелося змінити правила брандмауера для Notepad ++, а потім "Менеджер плагінів" відобразив повний список завантажуваних плагінів, як очікувалося.
Ентоні Уолш

4
Tidy2Плагін буде робити роботу, а Plugins > Plugin Manager > Show Plugin Managerпотім додати Tidy2.
Джордж

76

є такий плагін, як UniversalIndentGUI , він може бути встановлений прямо з диспетчера плагінів і має можливість повторно використовувати найбільш використовувані мови програмування.


10
+1 Це чудово працює! Встановіть плагін UniversalIndentGUI і натисніть Ctrl + Alt + Shift + J для форматування.
T_D

1
Спасибі це чудово працює. Чи існує спосіб автоматичного форматування коду під час збереження? Зараз, коли я перевіряю, чи ввімкнути текст автозаповнення, він не оновлюється під час збереження або виходу з файлу.
obesechicken13

2
Здається, варто відзначити, що "менеджер плагінів" сам по собі плагін, так? Будучи незнайомим із Notepad ++, для розуміння цього знадобилося досить багато невдалого пошуку меню, а за ним і Googling. Процес його встановлення потрібно враховувати у простоті цього рішення, якщо він починається з нуля.
Stabledog

1
хоч плагін, він попередньо встановлений у встановниках Notepad ++ за замовчуванням
Дмитро Автономов

3
це не працює ... Де команда форматування / автоматичного відступу? Нічого не працює. У цей день 2017-05-29 нічого не буде автоматично відступати ні PHP, ні JS. Чи може хто-небудь пояснити, що йде не так, і чому простий бізнес автоматичного відступу PHP та JS-коду доводить такі неприємні болі в ***?
мійський гризун

23

Якщо ви перейдете до TextFXменю та перейдете до TextFX Edit, ви побачите пункт менюReindent C++ Code .

Це також буде форматувати код C #.


Це не вводиться правильно в PHP. Іноді він робить 2 або 3 пробіли табуляції замість одного, а в деяких ситуаціях не робить жодного, коли слід.
Джо Смо

У мене немає меню TextFX ... про що ти йдеш?
мійський гризун

Вам потрібно буде встановити його через менеджер плагінів. Це називається символи TextFX.
користувач890332

11

Ось список доступних ярликів у Блокноті ++.

Якщо потрібна функціональність недоступна, ви можете визначити власні макроси та призначити їх власному ярлику (я не звик використовувати макроси).

ОНОВЛЕННЯ : Я опублікую тут ярлики, якщо посилання стане недійсним:

Shortcut    Command

Ctrl-C  Copy
Ctrl-X  Cut
Ctrl-V  Paste
Ctrl-Z  Undo
Ctrl-Y  Redo
Ctrl-A  Select All
Ctrl-F  Launch Find Dialog
Ctrl-H  Launch Find / Replace Dialog
Ctrl-D  Duplicate Current Line
Ctrl-L  Delete Current Line
Ctrl-T  Switch the current line position with the previous line position
F3  Find Next
Shft-F3 Find Previous
Ctrl-Shft-F Find in Files
Ctrl-F3 Find (volatil) Next
Ctrl-Shft-F3    Find (volatil) Previous
Ctrl-Shft-I Incremental Search
Ctrl-S  Save File
Ctrl-Alt-S  Save As
Ctrl-Shft-S Save All
Ctrl-O  Open File
Ctrl-N  New File
Ctrl-F2 Toggle Bookmark
F2  Go To Next Bookmark 
Shft-F2 Go To Previous Bookmark
Ctrl-G  Launch GoToLine Dialog
Ctrl-W  Close Current Document
Alt-Shft-Arrow keys or Alt + Left mouse click   Column Mode Select
F5  Launch Run Dialog
Ctrl-Space  Launch CallTip ListBox
Alt-Space   Launch Word Completion ListBox
Tab (selection of several lines)    Insert Tabulation or Space (Indent)
Shft-Tab (selection of several lines)   Remove Tabulation or Space (outdent)
Ctrl-(Keypad-/Keypad+) or Ctrl + mouse wheel butto  Zoom in (+ or up) and Zoom out (- or down)
Ctrl-Keypad/    Restore the original size from zoom 
F11 Toggle Full Screen Mode
Ctrl-Tab    Next Document
Ctrl-Shft-Tab   Previous Document
Ctrl-Shft-Up    Move Current Line Up
Ctrl-Shft-Down  Move Current Line Down
Ctrl-Alt-F  Collapse the Current Level
Ctrl-Alt-Shft-F Uncollapse the Current Level
Alt-0   Fold All
Alt-(1~8)   Collapse the Level (1~8)
Alt-Shft-0  Unfold All
Alt-Shft-(1~8)  Uncollapse the Level (1~8)
Ctrl-BackSpace  Delete to start of word
Ctrl-Delete Delete to end of word
Ctrl-Shft-BackSpace Delete to start of line
Ctrl-Shft-Delete    Delete to end of line
Ctrl-U  Convert to lower case
Ctrl-Shft-U Convert to UPPER CASE
Ctrl-B  Go to matching brace
Ctrl-Shft-R Start to record /Stop recording the macro
Ctrl-Shft-P Play recorded macro
Ctrl-Q  Block comment/uncomment
Ctrl-Shft-Q Stream comment
Ctrl-Shft-T Copy current line to clipboard
Ctrl-P  Print
Alt-F4  Exit
Ctrl-I  Split Lines
Ctrl-J  Join Lines
Ctrl-Alt-R  Text Direction RTL
Ctrl-Alt-L  Text Direction LT
F1  About

24
Я не бачу там опції швидкого доступу, яка форматує код. Щодо макросу, то я поняття не маю, як би це зробити. Все одно, дякую.
Даррен

макроси описані тут: stackoverflow.com/questions/362444 / ...
Thariama

35
Ха-ха, все це і жодного ярлика для питання? Навіщо публікувати його? -1
MH

9

Останній плагін - tidy2, який можна встановити за допомогою Плагінів> Менеджер плагінів> Показати Менеджер плагінів.

Я пропоную редагувати config 1 та встановлювати позначки цитат: ні, особливо якщо у вас є сценарій, який використовує лапки.

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


6

Це не зовсім відповідь, яку ви шукали, але це рішення, до якого я прийшов, коли у мене було те саме питання.

Я досить серйозний користувач Notepad ++, тому не сприймайте це неправильно. Я почав використовувати NetBeans 8для розробки веб-сайтів на додаток до Notepad ++, тому що ви можете встановити його для автоматичного форматування, зберігаючи для всіх ваших мов, і є безліч варіантів конфігурації, як виглядає форматування, до найменшої деталізації. Ви можете заглянути в нього і виявити, що це гідний інструмент для використання разом із блокнотом ++. Це також відкритий код, повністю безкоштовний, і має купу плагінів та інших корисних речей, таких як автоматичне компіляція Sass, якщо ви також використовуєте це. Це, безумовно, не так швидко, як NP ++, тому він не підходить для невеликих редагувань, але це може бути приємно для тривалого сеансу кодування.


Однозначно не відповідь на це запитання
skia.heliou

Чи можливо автоматичне форматування PHP всередині Netbeans? Мені потрібен додатковий плагін для цього? Дякую.
WM

Так, Netbeans автоформатує PHP, але вам, ймовірно, потрібно переконатися, що у вас є версія php або принаймні встановлений плагін php. У Windows ключовим комбо для автоматичного форматування є Alt + Shift + F.
користувач3413723


3

ВІДПОВІД ЧЕРВЕНЬ 2019 року

Встановіть XML Tools плагін із адміністратора плагінів (у Блокноті ++ 7.7 принаймні)

Потім натисніть Плагіни -> Інструменти XML -> Гарне друк (лише XML з розривами рядків)

Це зробило це для мене.


1
Це ТІЛЬКЕ рішення на цій сторінці, яке працювало для мене, і воно працює чудово!
Дон Келлі

2

У моєму блокноті ++, здається, TextFX потребує Perl середовища для форматування файлів HTML. Tidy2 нічого не вимагає, тому я думаю, що це зручніше.


2

Якщо все, що вам потрібно, це вирівнювання, спробуйте плагін під назвою Code Alignment.

Ви можете отримати його від вбудованого менеджера плагінів у Notepad ++.


0

Ні. Блокнот ++ не може сам форматувати. Форматування легко здійснити в багатьох IDE, таких як Eclipse, NetBeans, Visual Studio [Код].


Неправильна відповідь, у вбудований менеджер плагінів Notepad ++ можна встановити та активувати функціональність. IDE не потрібно.
Payedimaunt

"сам по собі". Будьте веселі, намагаючись надати Notepad ++ для форматування, коли у вас немає доступу до встановлення плагінів.
Філіп Рего

1
@Payedimaunt, будь ласка, надайте відповідь детально.
Шаші Шива L

-1

Ми можемо використовувати наступний ярлик в останній версії блокнота ++ для форматування коду

Alt + Ctrl + Shift + B

2
Я встановив останній блокнот ++, але це скорочення не працює для мене. Чи можете ви надати ще одну відповідь, будь ласка.
Шаші Шива L

У якій версії та для якого типу контенту повинен працювати цей ярлик? Спробував це в Notepad ++ v7.7.1 без ефекту.
gia
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.