pycharm converte automaticamente le tabulazioni in spazi


111

Sto usando pycharm IDE per lo sviluppo di python, funziona perfettamente per il codice django, quindi sospetto che la conversione di tabulazioni in spazi sia un comportamento predefinito, tuttavia in Python IDE sta dando errori ovunque perché non può convertire automaticamente tabulazioni in spazi c'è un modo per ottenere Questo.

Risposte:


124

Modifica lo stile del codice per utilizzare gli spazi invece delle tabulazioni:

spazi

Quindi seleziona una cartella che desideri convertire nella vista progetto e usa Code| Codice di riforma .


30
questa era la mia impostazione predefinita, tuttavia sembra che ci fosse qualche bug nell'IDE che non funzionava, quindi quello che ho fatto è stato Modifica> Converti rientro> Spazi
Vaibhav Mishra

1
Python dovrebbe avere un rientro di 4 spazi.
Josh

2
Questa risposta non funziona per me. Non sono sicuro del motivo per cui sia accettato, visto che non funziona nemmeno per OP. Follow-up domanda: stackoverflow.com/questions/47102828/...
Stefan Monov

3
Nel mio caso ho dovuto disabilitare Editor Config in Editor -> Code Style -> Enable Editor Config Support, perché inconsapevolmente avevo un ~/.editorconfigfile che sovrascrive le impostazioni di PyCharm.
Warlike Chimpanzee

1
Puoi forzarlo a utilizzare gli spazi anche per i file esistenti deselezionando "Rileva e usa i rientri dei file esistenti per la modifica" sotto lo "Stile codice" generale. Dopodiché, digitando tab su un file esistente inserirà immediatamente spazi anziché tabulazioni.
David Kinghorn

64

Per le selezioni, è anche possibile convertire la selezione utilizzando la funzione "A spazi". Di solito lo uso semplicemente tramite ctrl-shift-A, quindi da lì trovo "To Spaces".


non sembra funzionare per più file contemporaneamente. farlo individualmente per ogni file è una specie di seccatura ...
CGFoX

signore, sono un sapore di vita
Juggernaut

61

Questo converte solo le schede senza cambiare nient'altro:

Edit -> Convert Indents -> To Spaces

1
Ehi, questo dovrebbe essere accettato. Funziona localmente. Ad esempio utile per Makefile che deve avere una scheda come rientro
swdev

9

ctrl + maiusc + A => apri la finestra pop per selezionare le opzioni, seleziona spazi per convertire tutte le tabulazioni come spazio o tab per convertire tutti gli spazi come tabulazioni.


scheda per convertire come scheda? è un errore di battitura?
Anvesh Yalamarthy

7

PyCharm 2019.1

Se desideri modificare le impostazioni generali:

Apri le preferenze, in macOS ;o in Windows / Linux Ctrl+ Alt+ S.

Vai a Editor -> Stile codice -> Python e se vuoi seguire PEP-8, scegli Dimensione tabulazione: 4 , Rientro: 4 e Rientro continuazione: 8 come mostrato di seguito:

inserisci qui la descrizione dell'immagine

Applica le modifiche e fai clic su OK.

Se vuoi applicare le modifiche solo al file corrente

Opzione 1: puoi scegliere nella barra di navigazione: Modifica -> Converti rientro -> In spazi. (vedi immagine sotto)

inserisci qui la descrizione dell'immagine

Opzione 2: puoi eseguire l'azione "A spazi" eseguendo il collegamento Trova azione : Asu macOS o ctrlAsu Windows / Linux. Quindi digita "A spazi" ed esegui l'azione come mostrato nell'immagine sottostante.

inserisci qui la descrizione dell'immagine


1

ctr + alt + maiusc + L -> riformatta l'intero file :)


to tabs non ha funzionato per convertire un blocco di codice esistente. Questa è l'unica soluzione che ha funzionato per me. Grazie!
Jed

0

Per me aveva un file chiamato ~ / .editorconfig che sovrascriveva le mie impostazioni della scheda. L'ho rimosso (sicuramente questo mi morderà di nuovo un giorno) ma ha risolto il mio problema con il pycharm

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.