Автозаполнение Xcode - заменить текстовое нажатие клавиши?

Скажем, у нас есть TestClass с двумя методами, -getSomeString и -getAnotherString, и мы редактируем следующий код, а курсор находится в показанном месте:

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

Скажем, я хочу изменить его, чтобы использовать -getAnotherString. Если я открою всплывающее окно автозаполнения и выберу другой метод, нажав Enter или Tab, у меня останется:

NSString *aString = [TestClass getAnotherStringSomeString];

т. е. он не заменяет существующий текст, а просто вставляет его.

Есть ли специальное нажатие клавиши, чтобы заменить оставшийся текст?

См. IntelliJ для справки.


person nevster    schedule 29.11.2008    source источник


Ответы (4)


Я не думаю, что для этого существует одношаговая операция. Мое предложение было бы похоже на предложение Томаса Темплмана, но вместо двух шагов выбора слова вперед, а затем Удалить, я бы расширился до нужного автозаполнения, нажав Control + ., а затем нажав Option + удалить вперед, что убивает до конца слова.

person cms    schedule 18.12.2008

Я так не думаю. Я всегда использовал следующее

  • дважды щелкните по getSomeString
  • нажмите Escape (или клавишу автозаполнения)
  • найти метод замены

этот шаг двойного щелчка никогда меня не беспокоил, но мне было бы интересно, если бы кто-нибудь знал лучше!

person adam    schedule 16.12.2008

Мой обходной путь для этой проблемы таков: поскольку курсор будет сразу после вставленного текста, я просто нажимаю Shift-Option-Rightcursor, который выбирает слово за курсором, затем нажимаю клавишу Delete.

person Thomas Tempelmann    schedule 18.12.2008

Вы можете использовать клавишу Tab для выполнения «замены» вместо «вставки» при выборе метода из всплывающего окна автозаполнения в IntelliJ 9 (не знаю, доступно ли оно в предыдущих версиях).

person Al.    schedule 15.12.2009
comment
Да, IntelliJ великолепен — я использую его уже 6 лет. Однако вопрос в том, можете ли вы сделать эту замену автозаполнения в XCode. - person nevster; 17.12.2009
comment
Упс, похоже, меня смутила строка See IntelliJ for reference в тексте вопроса (и я не уделил должного внимания заголовку/названию). Мои извинения. - person Al.; 28.01.2010