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ć.

darren
źródło
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.

gablin
źródło
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.

Dmitrij Avtonomov
źródło
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 #.

użytkownik890332
źródło
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
Thariama
źródło
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
makra są opisane tutaj: stackoverflow.com/questions/362444/…
Thariama
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.

JackArbiter
źródło
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.

użytkownik3413723
źródło
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
5

Do formatowania JavaScript używam Notepad ++ JSMin Plugin.Quite Handy

panky sharma
źródło
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.

Grandizer
źródł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.

Danny
źródło
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 ++.

wildwildwilliam
źródło
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].

Philip Rego
źródło
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
itzmebibin
źródło
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