pycharm convertit automatiquement les onglets en espaces

112

J'utilise pycharm IDE pour le développement python, cela fonctionne parfaitement bien pour le code django, donc suspecté que la conversion des onglets en espaces est le comportement par défaut, cependant en python IDE donne des erreurs partout car il ne peut pas convertir automatiquement les onglets en espaces y a-t-il un moyen de le faire ce.

Vaibhav Mishra
la source

Réponses:

125

Modifiez le style de code pour utiliser des espaces au lieu de tabulations:

les espaces

Sélectionnez ensuite un dossier que vous souhaitez convertir dans la vue Projet et utilisez Code| Reformater le code .

CrazyCoder
la source
31
c'était mon paramètre par défaut, mais il semble qu'il y ait eu un bogue dans l'EDI qui ne fonctionnait pas, alors ce que j'ai fait, c'est Edit> Convert Indent> Spaces
Vaibhav Mishra
1
Python doit avoir une indentation de 4 espaces.
Josh
2
Cette réponse ne fonctionne pas pour moi. Je ne sais pas pourquoi il est accepté, car cela ne fonctionne pas non plus pour OP. Question de suivi: stackoverflow.com/questions/47102828/…
Stefan Monov
3
Dans mon cas, j'ai dû désactiver Editor Config sous Editor -> Code Style -> Enable Editor Config Support, car j'avais à mon insu un ~/.editorconfigfichier remplaçant les paramètres de PyCharm.
Warlike Chimpanzee
1
Vous pouvez le forcer à utiliser des espaces même pour les fichiers existants en décochant "Détecter et utiliser les retraits de fichiers existants pour l'édition" sous le "Style de code" général. Après cela, taper tab sur un fichier existant insérera immédiatement des espaces plutôt que des tabulations.
David Kinghorn
64

Pour les sélections, vous pouvez également convertir la sélection à l'aide de la fonction «En espaces». Je l'utilise généralement simplement via le ctrl-shift-A puis trouve "To Spaces" à partir de là.

Faible Kian Seong
la source
ne semble pas fonctionner pour plusieurs fichiers à la fois. le faire pour chaque fichier individuellement est une sorte de tracas ...
CGFoX
vous monsieur, êtes une saveur de vie
Juggernaut
61

Cela ne convertit que les onglets sans rien changer d'autre:

Edit -> Convert Indents -> To Spaces
runDOSrun
la source
1
Hé, ça devrait être accepté. Cela fonctionne localement. Par exemple, utile pour Makefile qui doit avoir une tabulation comme indentation
swdev
9

ctrl + shift + A => ouvrir la fenêtre contextuelle pour sélectionner les options, sélectionner les espaces pour convertir tous les onglets en tant qu'espace, ou en tabulation pour convertir tous les espaces en tabulation.

Ravi
la source
onglet à convertir en onglet? est-ce une faute de frappe?
Anvesh Yalamarthy
7

PyCharm 2019.1

Si vous souhaitez modifier les paramètres généraux:

Ouvrir les préférences, sous macOS ;ou sous Windows / Linux Ctrl+ Alt+S .

Allez dans Editor -> Code Style -> Python, et si vous voulez suivre PEP-8, choisissez Tab size: 4 , Indent: 4 et Continuation indent : 8 comme indiqué ci-dessous:

entrez la description de l'image ici

Appliquez les modifications et cliquez sur OK.

Si vous souhaitez appliquer les modifications uniquement au fichier actuel

Option 1: Vous pouvez choisir dans la barre de navigation: Edition -> Convertir le retrait -> En espaces. (voir l'image ci-dessous)

entrez la description de l'image ici

Option 2: vous pouvez exécuter l'action «Vers les espaces» en exécutant le raccourci Rechercher une action : Asous macOS ou ctrlAsous Windows / Linux. Tapez ensuite "To Spaces" et exécutez l'action comme indiqué dans l'image ci-dessous.

entrez la description de l'image ici

lmiguelvargasf
la source
1

ctr + alt + shift + L -> reformater le fichier entier :)

Aurel Curea
la source
en onglets ne fonctionnait pas pour convertir un bloc de code existant. C'est la seule solution qui a fonctionné pour moi. Merci!
Jed
0

Pour moi, il y avait un fichier appelé ~ / .editorconfig qui remplaçait mes paramètres d'onglet. J'ai supprimé cela (cela me mordra sûrement à nouveau un jour) mais cela a résolu mon problème de pycharm

Ken Myers
la source