2013-10-18 2 views
6

ich PyCharm verwende einige Python-Code zu schreiben und merken, dass ich in das folgende Problem laufen oft:Stopp PyCharm der automatischen Vervollständigung von Überschreibungs-Code vor meinem Cursor

ich eine Zeile Code wie diese

schreiben
for item in myList: 

Später merke ich, dass ich den Index item auch möchte, so dass ich versuchen, diese Linie in dieser zu drehen:

for i,item in enumerate(myList): 

um den erst li zu drehen ne in die zweite stelle ich den Cursor links von item und tippe i,. Dann setze ich den Cursor auf die linke Seite von myList und geben Sie enu; Zu diesem Zeitpunkt schlägt der Code-Completer vor, dass ich enumerate eingeben möchte, was genau das Verhalten ist, nach dem ich suche. Wenn ich traf Tab die vorgeschlagene enumerate zu implementieren, merke ich, dass meine Linie

for i,item in enumerate: 

Die myList in

dreht überschrieben wurde!
Das Verhalten, das ich erwarte, ist dies:

for i,item in enumerate(myList): 

mit dem Cursor direkt rechts entweder den myList oder :.

Kann ich Pycharm irgendwie nach meinen Erwartungen verhalten?

Gerade falls es darauf ankommt, meine dev Umgebung ist Mac OSX 10.7.5 (Lion)

Antwort

6

Dieses Verhalten ist von Entwurf, wenn Sie Tab vervollständigen verwenden. Bitte verwenden Sie Geben Sie anstelle von Tab ein, um die Abschlussvariante einzufügen, anstatt sie zu überschreiben.

Code-Vervollständigung Einstellungsdialog auch eine Option Variante, indem Sie Punkt, Raum usw.

+0

Dies! Das Überschreiben hat mich verrückt gemacht. Vielen Dank. – emh

+2

Gibt es eine Möglichkeit, diese Verhaltensweisen zu tauschen? – canyon289

1

Dies ist das Standardverhalten in PyCharm, wenn Sie TAB drücken einzufügen hat, während wie so en|myList an ein anderes Wort verbunden ist, dann wird myList gelöscht.

Was Sie können tun, ist dies, doppelklicken Sie auf myList, drücken CRTL + ALT + T, drücken ENTER und drücken Sie dann < -. Dann geben Sie einfach enumerate ein.

Wenn Sie dies regelmäßig tun, dann können Sie einfach eine Live-Vorlage, die umgibt.

+0

Die Idee von einer Live-Vorlage, die umgibt, ist sehr attraktiv für mich. Wie kann ich eine solche Live-Vorlage erstellen, um das Standardverhalten [TAB] außer Kraft zu setzen?Außerdem bin ich auf einem Mac (Frage aktualisiert), und "STRG + ALT + T" funktioniert nicht (noch "CMD + ALT + T"). Was wäre die analoge Mac-Tastenkombination? – inspectorG4dget

+0

@inspectorG4dget https://www.jetbrains.com/pycharm/webhelp/creating-code-constructs-using-surround-templates.html –

+0

@inspectorG4dget Wenn Sie irgendwelche Probleme haben, laden Sie mich in einen Chat-Raum oder etwas, und wir können es klären. –

Verwandte Themen