Formatowanie kodu w Notepad ++


186

Czy istnieje skrót klawiaturowy do formatowania kodu w Notepad ++?
Pracuję głównie z kodem HTML, CSS i Python.

Na przykład:

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

Do:

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


Pamiętam, że Visual Studio robi to z Ctrl+ K+ Di NetBeans ma tę funkcję, ale nie mogę jej znaleźć w Notepad ++, nawet jeśli może to zrobić.


Korzystam z programu Dreamweaver „Zastosuj formatowanie źródła” lub CRTL + K + D w programie Visual Studio i formatuj moje strony. Używałem również VIM, ale nigdy nie działałem poprawnie z Notepadd ++, ponieważ nie podoba mi się moje tagi django.
darren

1
To wymaga nowoczesnej odpowiedzi. Żadna z tych odpowiedzi już nie działa.
Philip Rego,

Musisz dodać powiązaną wtyczkę, do której można uzyskać dostęp Plugin manger, chodzi o Notepad ++ w wersji 7.5, menedżer wtyczek nie jest już dostarczany z Notepad ++
Mohammad Musavi

Odpowiedzi:


127

TextFX -> HTML Tidy -> Tidy: Reindent XML

Pamiętaj, aby wybrać kod HTML, zanim to zrobisz.


1
Cześć, użyłem tego i działa ładnie tylko z HTML. Wydaje się jednak, że w przypadku tagów django wystarczy je usunąć lub nieprawidłowo sformatować. Jak dotąd jest najbliżej. Ta za wskazówkę.
darren

158
Dla tych, którzy pobierają nowy Notepad ++. TextFX nie jest już w pakiecie. Musisz tam przejść Plugins > Plugin Manager > Show Plugin Manageri pobrać TextFX. Ponadto prawdopodobnie okaże się, że TextFX nie może znaleźć libTidy.dll. Aby to naprawić, możesz to zrobić stackoverflow.com/questions/6985637/... Po tym wszystkim powinieneś być w stanie, TextFX -> HTML Tidy -> Tidy: Reindent XMLjak opisano w @gablin.
darren

2
Wygląda na to, że Notepad ++ chce utrudnić życie . NAWET jeśli masz wersję 6 lub wyższą , nadal musisz pobrać wersję zip 5.9 tutaj . Następnie skopiuj tidyfolder unicode\plugins\Configi wklej go do swojego C:\Program Files\Notepad++\plugins\Configfolderu.
darren

1
W moim przypadku nie było żadnych wtyczek wymienionych na karcie „Dostępne” w „Menedżerze wtyczek”. Aby to naprawić, musiałem zmienić reguły zapory dla Notepad ++, a „Menedżer wtyczek” wyświetlił pełną listę wtyczek do pobrania, zgodnie z oczekiwaniami.
Anthony Walsh

4
Tidy2Plugin będzie wykonać zadanie, Plugins > Plugin Manager > Show Plugin Managera następnie dodać Tidy2.
George,

76

istnieje taka wtyczka jak UniversalIndentGUI , można ją zainstalować bezpośrednio z poziomu menedżera wtyczek i ma ona możliwość ponownego użycia najczęściej używanych języków programowania.


10
+1 To działa świetnie! Zainstaluj wtyczkę UniversalIndentGUI i naciśnij Ctrl + Alt + Shift + J, aby sformatować.
T_D

1
Dzięki, to działa świetnie. Czy istnieje sposób automatycznego formatowania kodu podczas zapisywania? W tej chwili, gdy zaznaczę opcję włączania automatycznej aktualizacji tekstu, nie aktualizuje się on po zapisaniu lub zamknięciu pliku.
obesechicken13

2
Warto zauważyć, że „menedżer wtyczek” sam jest wtyczką, tak? Nieznajomość programu Notepad ++ wymagała sporo nieudanego przeszukiwania menu, a następnie Googling, aby to zrozumieć. Proces instalacji należy uwzględnić w „prostocie” tego rozwiązania, jeśli ktoś zaczyna od zera.
Stabledog

1
chociaż jest wtyczką, jest fabrycznie instalowany w domyślnych instalatorach Notepad ++
Dmitry Avtonomov

3
to nie działa ... Gdzie jest polecenie format / auto-indent? Nic nie działa. W tym dniu nic nie będzie automatycznie wciskać ani PHP, ani JS. Czy ktoś może wyjaśnić, co się dzieje nie tak i dlaczego prosty biznes polegający na automatycznym wcinaniu kodu PHP i JS okazuje się tak cholerny ból w ***?
gryzoni Mike

23

Jeśli przejdziesz do TextFXmenu i przejdziesz do TextFX Edit, zobaczysz pozycję menu Reindent C++ Code.

To również sformatuje kod C #.


Nie wcina się poprawnie w PHP. Czasami tworzy 2 lub 3 tabulatory zamiast jednego, aw niektórych sytuacjach nie robi żadnych, kiedy powinien.
Jo Smo

Nie mam menu TextFX ... o czym ty mówisz?
gryzoni Mike

Będziesz musiał zainstalować go za pomocą menedżera wtyczek. To się nazywa Znaki TextFX.
user890332

11

Oto lista dostępnych skrótów w Notepad ++.

Jeśli pożądana funkcjonalność nie jest dostępna, możesz zdefiniować własne makra i przypisać je do niestandardowego skrótu (nie jestem przyzwyczajony do używania makr).

AKTUALIZACJA : Zamieszczę tutaj skróty na wypadek, gdyby link utracił ważność:

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
Nie widzę tam opcji skrótu, która formatuje kod. Jeśli chodzi o makro, nie mam pojęcia, jak bym to zrobił. W każdym razie dzięki.
darren


35
Haha to wszystko i nie ma skrótu do pytania? Po co to publikować? -1
MH

9

Najnowsza wtyczka to tidy2, którą można zainstalować za pomocą wtyczek> Menedżer wtyczek> Pokaż menedżera wtyczek.

Sugeruję edycję konfiguracji 1 i ustawienie znaków cudzysłowu: nie, szczególnie jeśli masz skrypt wykorzystujący cudzysłowy.

Również sprzątanie więcej niż jeden raz może spowodować wstawienie ampersand za pierwszym razem, a następnie zastąpienie ampersand za drugim razem. Możesz zagrać z konfiguracją, aby dostać się tam, gdzie jest to potrzebne.


6

Nie do końca szukałeś odpowiedzi, ale to rozwiązanie, do którego doszedłem, gdy miałem to samo pytanie.

Jestem całkiem poważnym użytkownikiem Notepad ++, więc nie bierz tego źle. Zacząłem używać NetBeans 8do tworzenia stron internetowych oprócz Notepad ++, ponieważ możesz ustawić automatyczne formatowanie przy zapisywaniu dla wszystkich swoich języków, a istnieje mnóstwo opcji konfiguracji, jak wygląda formatowanie, aż do najdrobniejszych szczegółów. Możesz zajrzeć do niego i odkryć, że jest to godne narzędzie do użycia w połączeniu z notatnikiem ++. Jest to również oprogramowanie typu open source, całkowicie bezpłatne i zawiera wiele wtyczek i innych przydatnych rzeczy, takich jak automatyczne kompilowanie Sassa, jeśli również go używasz. Zdecydowanie nie jest tak szybki jak NP ++, więc nie jest świetny do małych edycji, ale może być miły dla długiej sesji kodowania.


Zdecydowanie nie jest to odpowiedź na to pytanie
skia.heliou

Czy możliwe jest automatyczne formatowanie PHP w Netbeans? Czy potrzebuję do tego dodatkowej wtyczki? Dzięki.
WM

Tak Netbeans autoformatuje PHP, ale prawdopodobnie musisz się upewnić, że masz wersję php lub przynajmniej zainstalowaną wtyczkę php. W systemie Windows kluczowym zestawem do automatycznego formatowania jest Alt + Shift + F.
user3413723 30.04.16


3

ODPOWIEDŹ NA Czerwiec 2019

Zainstaluj XML Toolswtyczkę z Administratora wtyczek (przynajmniej w Notepad ++ 7.7)

Następnie kliknij Wtyczki -> Narzędzia XML -> Ładny druk (tylko XML z podziałem linii)

To mi zrobiło.


1
To jest TYLKO rozwiązanie na tej stronie, które działało dla mnie i działa idealnie!
Don Kelley

2

W moim notatniku ++ wydaje się, że TextFX potrzebuje środowiska perlowego do formatowania plików HTML. Tidy2 nie wymaga niczego, więc myślę, że jest to bardziej przydatne.


2

Jeśli wszystko, czego potrzebujesz, to wyrównanie, wypróbuj wtyczkę o nazwie Code Alignment.

Możesz go pobrać z wbudowanego menedżera wtyczek w Notepad ++.


0

Nie. Notepad ++ nie może sam się sformatować. Formatowanie można łatwo wykonać w wielu środowiskach IDE, takich jak Eclipse, NetBeans, Visual Studio [Code].


Zła odpowiedź, do wbudowanego menedżera wtyczek Notepad ++ można zainstalować i aktywować funkcjonalność. IDE nie są wymagane.
Payedimaunt

"samodzielnie". Baw się dobrze, próbując sformatować Notepad ++, gdy nie masz dostępu do instalowania wtyczek.
Philip Rego

1
@Payedimaunt, proszę szczegółowo podać odpowiedź.
Shashi Shiva L

-1

Do sformatowania kodu możemy użyć następującego skrótu w najnowszej wersji notatnika ++

Alt + Ctrl + Shift + B

2
Zainstalowałem najnowszy notatnik ++, ale skrót nie działa dla mnie. Czy możesz podać inną odpowiedź.
Shashi Shiva L

W jakiej wersji i na jakim typie zawartości ten skrót ma działać? Próbowałem w Notepad ++ v7.7.1 bez efektu.
gia
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.