web-dev-qa-db-fra.com

Bloc-notes ++ indentation foiré

Je code en Python et j'aime vraiment Notepad ++. Cependant, tard lorsque j'utilise tab pour indenter, cela semble correct dans Notepad ++, mais lorsque j'exécute le programme, j'obtiens une erreur d'indentation, et lorsque je vérifie mon code dans Emacs ou quelque chose du genre, je trouve que le Bloc-notes ++ ajoute en fait plus d'espaces de tabulation qu'il n'en affiche à l'écran.

44
iman453

Il n'y a pas de taille de tabulation universelle, donc je m'assure toujours de remplacer les tabulations par des espaces (afin que vous sachiez ce que vous voyez est ce que vous obtenez partout ailleurs également)

Allez dans Paramètres -> "Préférences ..." -> Paramètres de menu/onglet de langue et cochez "Remplacer par l'espace"

97
ikottman

Je suggère d'aller dans Affichage> Afficher le symbole> Afficher l'espace blanc et l'onglet pour avoir une meilleure idée de l'apparence de vos indentations.

38
Ashley Grenon

PEP 8 nous dit d'utiliser des espaces au lieu des tabulations dans Python pour la compatibilité et la cohérence entre les éditeurs:

http://www.python.org/dev/peps/pep-0008/

Jetez un œil à cette réponse pour savoir comment modifier les tabulations en espaces dans Notepad ++

Convertir les tabulations en espaces dans Notepad ++

Peut-être que cela résoudra votre problème

7
Nobody

Utilisez Python Plug-in d'indentation pour Notepad ++: j'ai utilisé à la fois Pycharm et Notepad ++, et franchement - même si les deux sont installés sur ma machine en ce moment, je préfère utiliser Notepad ++. Donc, si vous voulez continuer à utiliser Notepad ++ for Python vous devez absolument installer le plugin 'Python Indent'. Ce plugin créera automatiquement des onglets pour vous lors de l'écriture du code Python. Le seul inconvénient de le plugin est que vous devez vous rappeler de l'activer (en allant dans Plugins -> Python Retrait puis en cliquant sur "Activer") lorsque vous souhaitez l'utiliser.

Pour installer le plugin Python Indent dans Notepad ++, allez simplement dans 'Plugins' -> 'Plugin Manager' puis cliquez sur 'Show Plugin Manager'. Cochez ensuite 'Python Indent' et cliquez sur le bouton "Installer".

De plus, vous devez suivre le guide d'utilisation de Python: l'espacement des tabulations peut différer d'un programme à l'autre et, en suivant les recommandations de PEP8 (Python Enhancement Proposals Number 8 - qui est le guide de style et d'utilisation accepté de Python), vous devez utiliser la barre d'espace pour faire vos retraits. Consultez la page PEP8 sur l'espacement ici: https://www.python.org/dev/peps/pep-0008/#tabs-or-spaces

Bonne chance!

2
Jaxian

Petite mise à jour - pour obtenir des espaces sous forme d'onglets, vous allez maintenant dans Paramètres >> Préférences >> Paramètres des onglets et cochez la case "Remplacer par l'espace"

2
NotAnAmbiTurner

Je suis nouveau sur python et j'ai commencé à utiliser Notepad ++. Mais j'ai rencontré le même problème que vous ... Problèmes d'indentation. Sur les conseils de mon senior, je suis passé à l'édition communautaire PyCharm. J'ai collé le code de Notepad ++ à PyCharm et il a mis en évidence le bloc avec des problèmes d'indentation ... Le problème était que certaines lignes utilisaient des espaces et des tabulations. Cela est arrivé parce que le code sur lequel je travaillais était tiré d'Internet.

La vérification de telles incohérences résoudrait le problème. Ou, il y a une meilleure alternative ... Passez à PyCharm. Il est exclusivement conçu pour le codage python .. J'espère que cela aide les gens comme moi à rechercher des solutions aux problèmes d'indentation dans Notepad ++

2
Vikas