2008-11-29 4 views
8

Sagen wir ein Testclass mit den zwei Methoden, -getSomeString und -getAnotherString, und wir bearbeiten den folgenden Code ein, und der Cursor ist in der Lage gezeigt:Xcode Auto-Vervollständigung - Text-Tastenanschlag ersetzen?

NSString *aString = [TestClass get<cursorIsHere>SomeString]; 

sagen, ich will, es ändern -getAnotherString zu verwenden. Wenn ich die Auto-Vervollständigung Popup aufzurufen, und wählen Sie die andere Methode über Eingabe oder Tab schlagen, ich bin links mit:

NSString *aString = [TestClass getAnotherStringSomeString]; 

das heißt, es nicht den vorhandenen Text ersetzen, sondern nur einfügt.

Gibt es einen speziellen Tastendruck, um den restlichen Text zu ersetzen?

Siehe IntelliJ als Referenz.

Antwort

3

Ich denke nicht, dass es eine einstufige Operation gibt, um dies zu erreichen. Mein Vorschlag wäre ähnlich wie bei Thomas Templemann, aber statt zwei Schritte der Vorwärts-Wortauswahl und dann Löschen, würde ich auf die gewünschte automatische Vervollständigung expandieren, indem ich auf Control + hüpfe. und dann drücken Sie Option + vorwärts löschen, die bis zum Ende des Wortes tötet.

0

Ich glaube nicht. Ich habe früher immer den folgenden

  • Doppelklick auf getSomeString
  • drückt Escape (oder Ihre Autocomplete-Taste)
  • Fund Ersatzmethode

dass Doppelklick auf Schritt hat mich nie wirklich gestört, aber Ich wäre interessiert, wenn es jemand besser weiß!

0

Meine Umgehung für dieses Problem ist das: Da der Cursor direkt nach dem eingefügten Text ist, drücke ich nur Shift-Option-Rightcursor, der das Wort nach dem Cursor wählt, dann drücke ich die Entf-Taste.

0

Sie können die Tabulatortaste verwenden, um "ersetzen" anstelle von "einfügen" bei der Auswahl der Methode aus dem Auto-Vervollständigen-Popup in IntelliJ 9 (weiß nicht, ob es in früheren Versionen verfügbar war).

+0

Ja, IntelliJ ist fantastisch - ich benutze es seit 6 Jahren. Die Frage ist jedoch, ob Sie diesen Autocomplete-Austausch in XCode durchführen können. – nevster

+0

Hoppla, es sieht so aus, als ob ich von der "IntelliJ for reference" -Zeile im Fragetext verwirrt wurde (und dem Header/Titel nicht genug Aufmerksamkeit geschenkt habe). Entschuldigen Sie. –