Rientro automatico in Notepad ++


187

Scriviamo sempre codice come questo formale:

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

Testo alternativo

Ma quando uso Notepad ++ , il display è:

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

Testo alternativo

Come posso usare Notepad ++ per il rientro automatico?

Grazie a Jonathan , l'ho impostato, ma non ha alcun effetto. L'istantanea è di seguito:

Testo alternativo

Sto usando Notepad ++ versione 5.1.3.

Risposte:


135

Notepad ++ inserirà automaticamente i rientri successivi solo se rientri manualmente la prima riga in un blocco; in caso contrario è possibile rientrare in rientro il codice dopo averlo utilizzato TextFX > TextFX Edit > Reindent C++ code.


1
Se nella tua versione manca la DLL, puoi ottenerla dalla versione ZIP 5.9.0. Alcune delle versioni successive non includevano questa DLL. notepad-plus-plus.org/download/v5.9.0.html
Fostah

2
In realtà l'ho trovato mentre cercavo un modo per formattare il codice JavaScript. A quanto pare, funziona anche con i file .js!
sacredfaith,

7
@Fostah: puoi anche installare il "Carattere FX di testo" tramite> Plugin> Plugin Manager> Mostra Plugin Manager
Adrien Be

@scronide, c'è un tasto di scelta rapida per questo?
Pacerier,

Si noti che, nonostante il nome, rientrava correttamente anche correttamente il codice javascript di cui stavo cercando di correggere il rientro. Non c'è motivo per cui mi aspetterei di non farlo, solo menzionandolo, poiché il nome è piuttosto specifico. Non so perché l'autore di quella biblioteca sentisse di dover dare una preferenza speciale al C ++ ...: D
neminem

99

Se il menu TextFX non esiste, è necessario scaricare e installare il plug-in. Plugin-> Plugin Manager-> Mostra Plugin Manager e quindi controlla i caratteri TextFX del plugin . Fai clic su "Installa", riavvia Notepad ++.

Nella versione Notepad ++ v6.1.3, risolvo con: Plugin Manager-> Show Plugin Manager ** e quindi controlla il plugin "Indent By Fold"


2
Indent by fold è fantastico. Il fatto che funzioni con una formattazione arbitraria ( XML, C / ++ / #, ecc. ) È fantastico. L'unico problema è lo stack "annulla". Se utilizzato, se si desidera annullare un punto precedente al rientro, è necessario annullare ogni rientro di ogni riga, poiché non viene aggiunto allo stack come un singolo comando. Fondamentalmente, fai attenzione quando lavori con file lunghi .
Dan Lugg,

Ciao @Dan il problema di annullamento sembra essere stato risolto nella nuova versione di indent by fold ...
538ROMEO

1
Sì, non esiste e non esiste Plugin Manager.
Beyondo,

31

Sembra esserci almeno un'opzione per il formato automatico di XML. Può essere trovato a TextFX -> TextFX HTML Tidy -> Tidy: reindent XML.


2
hai bisogno del plugin TextFx per questo
arviman

29

La maggior parte degli sviluppatori di programmi di modifica del testo abusa di questo nome (rientro automatico). Il nome corretto è "Mantieni rientro". Il rientro automatico è ciò che si desidera effettivamente, ma non è implementato.

Vorrei anche vedere questa funzione in Notepad ++.


22

Nell'ultima versione (almeno), puoi trovarlo attraverso:

  • Impostazioni (menu)
  • Preferenze ...
  • MISC (scheda)
  • elenco di controllo in basso a sinistra
  • " Rientro automatico " è la seconda opzione in questo gruppo

[ EDIT ] Tuttavia, non credo che abbia avuto la migliore implementazione del rientro automatico. Quindi, assicurati di avere la versione 5.1: il rientro automatico è stato revisionato di recente, quindi corregge automaticamente il rientro.


Nota anche che ti manca il blocco per il 2 ° if:

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

8
Si noti che questa impostazione di rientro automatico in Notepad ++ presuppone che si esegua manualmente il primo rientro in un blocco; non formatta automaticamente il codice per te.
scronide,

Ho capito il tuo significato proprio ora, per favore perdona il mio povero Eng ... La mia lingua madre è il cinese ...
Turion,

14

Puoi usare il plugin 'Indent by fold'. Installalo dal gestore plugin. Funziona bene per me.


2
Indent by fold è ottimo, tranne per il fatto che rientra solo da fold;) Nelle situazioni in cui hai indentato un'inizializzazione dell'elenco, a meno che la lingua non utilizzi un carattere pieghevole per delimitare l'inizializzatore, finirà per non rientrare. Un esempio è un'inizializzazione dell'array multilinea in PHP che utilizza array( ... ), dove ()sono non pieghevoli.
Dan Lugg,

5

Nella versione 6.6.8 ho installato il plug-in NppAutoIndent da Plugin> Gestione plug-in> Mostra gestore plug-in. Quindi ho selezionato l'opzione Rientro intelligente in Plugin> NppAutoIndent. Spero che questo ti aiuti.


4

Un piccolo aggiornamento: puoi saltare il plugin TextFX e usare Tidy2 . Qui puoi configurare le tue regole di formattazione per diversi tipi di codici. Facile da installare e rimuovere all'interno

Blocco note ++> Plugin> Gestione plugin> Mostra Gestione plugin

e basta cercare Tidy2 e installarlo. Fatto.


Puoi spiegarci un po 'di più?
Dieter Meemken,

Ulteriori informazioni sulla configurazione sono disponibili qui: stackoverflow.com/questions/14865770/using-tydy2-for-notepad
Sven Ya

è abbastanza difficile usare questo confronto con altri plugin
Gaurav khurana

4

Per coloro che utilizzano Notepad ++ v6.8.1 e versioni successive, l'impostazione di rientro automatico ora viene posizionata nel menu ImpostazioniPreferenzeMISC. Rientro automatico .

Inserisci qui la descrizione dell'immagine



2

Questo può sembrare sciocco, ma nella domanda originale, Turion stava modificando un file di testo semplice. Assicurati di scegliere la lingua corretta dal menu Lingua


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

inserisci qui la descrizione dell'immagine

Ma Notepad ++ non viene fornito con questo plugin "Text FX Character". Dovrai installarlo tramite

Plugins → Plugin Manager → Show Plugin Manager.

Per aggiungere un collegamento per il rientro .

Fai clic su ImpostazioniMappatore scorciatoie ... imposta il tasto di scelta rapida che preferisci. Preferisco Ctrl+ =.

Inserisci qui la descrizione dell'immagine


1

Installa il plugin Tidy2. Ho Notepad ++ v6.2.2 e Tidy2 funziona bene finora.


1

Per prima cosa scarica il plugin manager questo link quindi decomprimere la cartella zip e copiarla nella cartella programma / blocco note ++. quindi riavvia Notepad ++. poi vedi il gestore dei plugin nel menu dei plugin quindi fai clic su gestore plug-in, quindi fai clic su mostra gestore plug-in. Mostra tutto l'elenco dei plug-in. dall'elenco in basso trova gli strumenti XML, controllalo e installalo. quindi riavvia Notepad ++. Dopo aver aperto un documento, plugins / xml tools / pretty plain (indent text), quindi divertiti.


0

Per coloro che utilizzano la versione 7.8.5, le impostazioni di rientro automatico ora si trovano in "Impostazioni" -> "Preferenze ..." -> "Completamento automatico".

inserisci qui la descrizione dell'immagine


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.