2 Stimmen

Einrückung in einer Python-GUI

Wenn ich Code in Python schreibe und plötzlich Lust habe, einen neuen Block vor den bereits geschriebenen Code zu setzen... wird die Einrückung des gesamten Codes beeinflusst...

Es ist ein sehr mühsamer Prozess, zu jeder Zeile zu gehen und die Einrückung zu ändern... gibt es eine Möglichkeit, die Einrückung automatisch vorzunehmen oder so?

Zum Beispiel:

def somefunction:
     x =5
     return x

Wenn ich einen Kontrollblock hinzufügen möchte

Zum Beispiel:

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

Diese kleine Änderung, das Hinzufügen eines Kontrollblocks, erforderte eine Menge Tabulatorarbeit...

Gibt es eine Abkürzung oder eine andere Möglichkeit, dies einfach zu tun?

1voto

Sergio Punkte 4389

[Kumpel, ich habe dir gesagt, dass du einen Entwickler weniger brauchst, wenn du dieses neue Tastaturmodell hast. Pythonische Tastatur http://img22.imageshack.us/img22/7318/pythonkeyboard.jpg

1voto

e1i45 Punkte 1447

Vim: Wechseln Sie in den visuellen Modus, wählen Sie den Block aus, benutzen Sie > zum Einrücken (oder < zum Ausrücken).

Siehe auch: Mehrere Zeilen in vi schnell einrücken

1voto

redacted Punkte 2429

Wenn Sie vim verwenden, gibt es ein spezielles Plugin für diesen Zweck: Python_fn.vim

Es bietet nützliche Python-Funktionen (und Menü-Entsprechungen):

]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

0voto

Aaron Punkte 566

Markieren Sie in TextMate einfach die Zeilen, die Sie einrücken möchten, und verwenden Sie :

+ [
oder
+ ]

Zum Verschieben des Textes in die entsprechende Richtung.

0voto

Caglar Toklu Punkte 576

PyDev, die Sie unter folgender Adresse finden können http://pydev.sourceforge.net/ hat einen "Code Formatter". Es hat auch Autoindent-Funktion. Es ist ein Plugin für Eclipse, das auch für Mac frei verfügbar ist.

Eine andere Möglichkeit wäre http://code.google.com/p/macvim/ wenn Sie mit Vim vertraut sind oder Zeit für Vim investieren, das viele Autoindent-Funktionen nicht nur für Python hat.

Vergessen Sie aber nicht, dass die Einrückung in Python im Gegensatz zu Sprachen der C-Familie die Bedeutung des Programms verändert. In C oder C# zum Beispiel kann ein Hilfsprogramm den Code entsprechend den Symbolen "{" und "}" verschönern. In Python wäre dies jedoch zweideutig, da ein Programm nicht wie folgt formatiert werden kann:

#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

Erwarten Sie, dass es

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

oder

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

die zwei verschiedene Ausschnitte sind.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X