Automatyczne wcięcie w Notepad ++


187

Zawsze piszemy kod w następujący sposób:

void main(){
  if(){
    if()
    }

Tekst alternatywny

Ale kiedy używam Notepad ++ , wyświetlacz jest następujący:

void main(){
if(){
if()
}

Tekst alternatywny

Jak używać Notepad ++ do automatycznego wcięcia?

Dzięki Jonathanowi ustawiłem go, ale nie przynosi to żadnego efektu. Migawka znajduje się poniżej:

Tekst alternatywny

Używam Notepad ++ w wersji 5.1.3.

Odpowiedzi:


135

Notepad ++ automatycznie wstawi kolejne wcięcia tylko wtedy, gdy ręcznie wcniesz pierwszy wiersz w bloku; w przeciwnym razie możesz ponownie wciąć kod po użyciu TextFX > TextFX Edit > Reindent C++ code.


1
Jeśli w twojej wersji brakuje biblioteki DLL, możesz ją pobrać z wersji ZIP 5.9.0. Niektóre późniejsze wersje nie zawierały tej biblioteki DLL. notepad-plus-plus.org/download/v5.9.0.html
Fostah

2
Znalazłem to, szukając sposobu na sformatowanie kodu javascript. Okazuje się, że działa to również w przypadku plików .js!
sacredfaith

7
@Fostah: możesz także zainstalować „Text FX Character” poprzez> Wtyczki> Menedżer wtyczek> Pokaż Menedżera wtyczek
Adrien Be

@scronide, czy istnieje do tego klawisz skrótu?
Pacerier,

Zauważ, że pomimo nazwy absolutnie poprawne było również wcięcie kodu javascript, którego próbowałem naprawić. Nie ma powodu, bym się tego nie spodziewał, tylko wspominając, ponieważ nazwa jest raczej specyficzna. Nie wiem, dlaczego autor tej biblioteki uznał, że musi dać pierwszeństwo C ++ ...: D
neminem

99

Jeśli menu TextFX nie istnieje, musisz pobrać i zainstalować wtyczkę. Wtyczki-> Menedżer wtyczek-> Pokaż menedżera wtyczek, a następnie sprawdź znaki TextFX wtyczki . Kliknij „zainstaluj”, uruchom ponownie Notepad ++.

W wersji Notepad ++ v6.1.3 rozwiązuję za pomocą: Plugin Manager-> Show Plugin Manager **, a następnie zaznaczam wtyczkę „Indent By Fold”


2
Wcięcie po złożeniu jest niesamowite. Fakt, że działa w dowolnym formacie ( XML, C / ++ / # itp. ) Jest świetny. Jedynym problemem jest stos „cofania”. W przypadku użycia, jeśli chcesz cofnąć do pewnego momentu przed wcięciem, musisz cofnąć każde ponowne wcięcie wiersza, ponieważ nie jest ono dodawane do stosu jako pojedyncze polecenie. Zasadniczo należy zachować ostrożność podczas pracy z długimi plikami.
Dan Lugg

Cześć @ Czy problem cofania wydaje się rozwiązany w nowszej wersji wcięcia przez fold ...
538ROMEO

1
Tak, nie istnieje i nie ma Menedżera wtyczek.
Beyondo

31

Wydaje się, że istnieje przynajmniej opcja automatycznego formatowania XML. Można go znaleźć pod adresem TextFX -> TextFX HTML Tidy -> Tidy: reindent XML.


2
potrzebujesz do tego wtyczki TextFx
arviman

29

Większość programistów programów do edycji tekstu niewłaściwie używa tej nazwy (automatyczne wcięcie). Prawidłowa nazwa to „utrzymuj wcięcie”. Auto-wcięcie jest tym, czego naprawdę chcesz, ale nie jest zaimplementowane.

Chciałbym również zobaczyć tę funkcję w Notepad ++.


22

W najnowszej wersji (przynajmniej) możesz to znaleźć poprzez:

  • Ustawienia (menu)
  • Preferencje...
  • MISC (zakładka)
  • dolna lewa lista pól wyboru
  • Automatyczne wcięcie ” jest drugą opcją w tej grupie

[ EDYCJA ] Chociaż nie sądzę, że ma najlepszą implementację automatycznego wcięcia. Sprawdź więc, czy masz wersję 5.1 - automatyczne wcięcie przeszło niedawno przegląd, więc automatycznie poprawia wcięcie.


Zauważ też, że brakuje ci bloku drugiego if:

void main(){
  if(){
    if() { }  # here
  }
}

8
Zauważ, że to ustawienie automatycznego wcięcia w Notepad ++ zakłada, że ​​pierwsze wcięcie w bloku wykonujesz ręcznie; nie formatuje automatycznie kodu.
scronide

Rozumiem teraz twoje znaczenie, proszę wybacz mojemu biednemu inżynierowi ... Moim językiem ojczystym jest chiński ...
Turion

14

Możesz użyć wtyczki „Wcięcie przez złożenie”. Zainstaluj go z menedżera wtyczek. Działa dla mnie dobrze.


2
Wcięcie po fold jest świetne, z tym wyjątkiem, że wcina się tylko po fold;) W sytuacjach, w których wcięto inicjalizację listy, chyba że język używa znaku składającego do ograniczenia inicjalizatora, skończy się to wcięciem. Przykładem jest inicjalizacja tablic wieloliniowych w PHP przy użyciu array( ... ), gdzie ()nie są składane.
Dan Lugg

5

W wersji 6.6.8 zainstalowałem wtyczkę NppAutoIndent z wtyczek> Menedżer wtyczek> Pokaż menedżera wtyczek. Następnie wybrałem opcję Inteligentne wcięcie we wtyczce> NppAutoIndent. Mam nadzieję że to pomoże.


4

Mała aktualizacja: możesz pominąć wtyczkę TextFX i po prostu użyć Tidy2 . Tutaj możesz skonfigurować własne reguły formatowania dla różnych typów kodów. Łatwy w instalacji i usuwaniu

Notepad ++> Wtyczki> Menedżer wtyczek> Pokaż menedżera wtyczek

i po prostu wyszukaj Tidy2 i zainstaluj go. Gotowe.


Czy możesz wyjaśnić coś więcej?
Dieter Meemken 14.04.16

Więcej informacji na temat konfiguracji można znaleźć tutaj: stackoverflow.com/questions/14865770/using-tydy2-for-notepad
Sven Ya

jest to dość trudne w użyciu w porównaniu do innych wtyczek
Gaurav khurana

4

Dla tych, którzy używają Notepad ++ v6.8.1 i nowszych, ustawienie automatycznego wcięcia jest teraz umieszczone w menu UstawieniaPreferencjeMISC. Automatyczne wcięcie .

Wpisz opis zdjęcia tutaj



2

To może wydawać się głupie, ale w pierwotnym pytaniu Turion edytował zwykły plik tekstowy. Upewnij się, że wybrałeś właściwy język z menu Język


2
Menu TextFX → TextFX Edit → Reindent C++ code

wprowadź opis zdjęcia tutaj

Ale Notepad ++ nie jest dostarczany z tą wtyczką „Text FX Character”. Będziesz musiał zainstalować go za pośrednictwem

Plugins → Plugin Manager → Show Plugin Manager.

Aby dodać skrót do wcięcia .

Kliknij UstawieniaMapowanie skrótów ... ustaw preferowany klawisz skrótu. Wolę Ctrl+ =.

Wpisz opis zdjęcia tutaj



1

Najpierw pobierz wtyczkę, zarządzaj tym linkiem a następnie rozpakuj folder zip i skopiuj go do folderu programu / notatnika ++. następnie ponownie uruchom notatnik ++. wtedy zobaczysz menedżera wtyczek w menu wtyczek. następnie kliknij menedżer wtyczek, a następnie kliknij pokaż menedżera wtyczek. Pokazuje całą listę wtyczek. z listy u dołu znajdź narzędzia XML, zaznacz je i zainstaluj. następnie ponownie uruchom notatnik ++. Po otwarciu dokumentu, a następnie wtyczki / narzędzia xml / ładny zwykły (tekst wcięcia), a następnie cieszyć się.


0

Dla tych, którzy używają wersji 7.8.5, ustawienia Auto-wcięcia znajdują się teraz w „Ustawienia” -> „Preferencje ...” -> „Autouzupełnianie”.

wprowadź opis zdjęcia tutaj


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.