Question

Comme j'écrire du code en python et je me sens tout à coup comme l'ajout d'un nouveau bloc devant le code que je l'ai déjà écrit .... l'indentation du code complet est affecté .. il est procédé très fastidieux de passer à chaque ligne et changer l'indentation ... est-il possible de faire l'auto-indentation ou quelque chose ...

par exemple:

def somefunction:
     x =5
     return x

si je veux ajouter un bloc contrl

par exemple:

def somefunction:
     if True:
         x =5
         return x
     return 0

ce petit changement d'ajout d'un bloc de contrôle a pris beaucoup de travail onglet ....

est-il un raccourci ou Sumthing faire facilement?

Était-ce utile?

La solution

Je ne sais pas ce que tout le monde loufoque planètes vient, mais dans la plupart des éditeurs qui ne remontent pas à l'âge de pierre, indenter blocs de code en général seulement exige qu'un bloc de texte sélectionné et Tab être pressé. D'un autre côté, Maj + Tab UNdents généralement le bloc.

Ceci est vrai pour Visual Studio, Notepad2, e, TextMate, Slickedit, #Develop, etc., etc., etc.

Si vous ne faites pas de grands projets multi-fichiers, je vous recommande fortement Notepad2 . Son très léger, gratuit, facile à utiliser le bloc-notes de remplacement avec juste assez de fonctionnalités centrée sur le code (numéros de ligne, guides d'indentation, mise en évidence de code, etc.)

Autres conseils

Dans l'éditeur d'accueil, vous pouvez simplement sélectionner les lignes que vous souhaitez mettre en retrait et appuyez sur Tab.

Je dois souligner que cela ne fait insérer des onglets dans votre source seulement des espaces.

Dans IDLE Je viens d'utiliser ctrl +] et ctrl + [sur un bloc de code.

Avec emacs il y a le mode Python. Dans ce mode, vous sélectionnez et faites:

ctrl-c >
ctrl-c <

Utilisez VI et ne jamais programmer le même. : ^)

[drôle ;-)] Mec, je vous ai dit que vous auriez besoin d'un développeur moins si vous aviez ce nouveau modèle de clavier clavier Pythonic http://img22.imageshack.us/img22/7318/pythonkeyboard.jpg

Si vous utilisez vim il y a un plugin spécifique pour cela: Python_fn. vim

Il fournit des fonctions de python utiles (et équivalents de menu):

]t      -- Jump to beginning of block
]e      -- Jump to end of block
]v      -- Select (Visual Line Mode) block
]<      -- Shift block to left
]>      -- Shift block to right
]#      -- Comment selection
]u      -- Uncomment selection
]c      -- Select current/previous class
]d      -- Select current/previous function
]<up>   -- Jump to previous line with the same/lower indentation
]<down> -- Jump to next line with the same/lower indentation

Vim: passage en mode visuel, sélectionner le bloc, l'utilisation> mettre en retrait (ou <. À Désindenter)

Voir aussi: plusieurs lignes rapidement Indente en vi

Dans TextMate, juste mettre en évidence les lignes que vous souhaitez mettre en retrait et à l'utilisation:


⌘ + [
ou
⌘ +]

Pour déplacer le texte dans la direction appropriée.

PyDev, que vous pouvez trouver http://pydev.sourceforge.net/ a un " code Formatter ». Il a également fonction autoindent. Il est un plugin pour Eclipse qui est disponible gratuitement pour Mac aussi.

Une autre option serait http://code.google.com/p/macvim/ si vous connaissez ou investir du temps pour VIM, qui a beaucoup de caractéristiques de autoindent pas seulement pour Python.

Mais, ne pas oublier que, en Python, indentation modifie le sens du programme contrairement à des langues de la famille C. Par exemple, pour C ou C #, un programme utilitaire peut embellir le code selon les « { » et « } » symboles. Mais, en Python qui serait ambigu car un programme ne peut pas formater les éléments suivants:

#Say we wrote the following and expect it to be formatted.
a = 1
for i in range(5):
print i
a = a + i
print a

Vous attendez-vous à être

a = 1
for i in range(5):
    print i
a = a + i
print a #Will print 5

ou

a = 1
for i in range(5):
    print i
    a = a + i
print a #Will print 11

qui sont deux extraits différents.

Dans l'onglet Komodo et Shift Tab à la fois le travail comme prévu et à mettre en retrait désindentation gros blocs de code.

Dans vim, vous pouvez entrer:

>>

pour mettre en retrait une ligne. Si vous entrez:

5>>

tiret, les 5 lignes et au-dessous du curseur. Fait l'inverse 5<<.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top