Есть ли способ автозаполнения Xcode 5, например Visual Studio?

Xcode 5 теперь вытеснил Xcode 4, и одна из распространенных жалоб, которые у меня были против обеих IDE, заключалась в том, что они не очень агрессивно выполняют автозаполнение. В Visual Studio автозаполнение фиксируется, как только вы нажимаете клавишу, не являющуюся идентификатором (например, круглую скобку, запятую, точку, пробел и т. д.). В Xcode 5 вам нужно нажать вкладку или ввести.

Есть ли известный способ приблизить поведение автозаполнения к Visual Studio?


person zneak    schedule 11.03.2011    source источник
comment
@zneak Хотя ответ на этот вопрос отрицательный, в моем ответе есть два предостережения в качестве альтернатив.   -  person Tommie C.    schedule 29.10.2013
comment
@TommieC. Я видел твой ответ вчера. Однако вы поймете, что этот вопрос был открыт с 2011 года, и что на данный момент, если я хотел принять «нет» в качестве ответа, у меня было более двух лет, чтобы сделать это :) В Xcode 3 был плагин это сделало автозаполнение в порядке. Я все еще не теряю надежды, что кто-то сделает что-то подобное для Xcode 5.   -  person zneak    schedule 29.10.2013


Ответы (9)


Вы можете выбрать следующие две опции из XCode->Preferences->Text Editing:

  1. Предлагайте дополнения во время набора текста.
  2. Включить завершение ввода текста

Вот изображение для справки.

person Mahadev Kale    schedule 22.07.2014

В xCode единственный способ автозаполнения - это нажать клавишу табуляции или "ctrl пробел", чтобы получить список всех методов и переменных, начинающихся с этой последовательности символов. Если вы хотите, вы можете настроить сочетание клавиш, нажав «cmd», и в разделе «Привязки клавиш» вы можете настроить его.

person Marco Mirisola    schedule 18.09.2013
comment
Все это знают. Я спрашивал, есть ли способ автозаполнения более агрессивно. В Visual Studio и других IDE нажатие одного из ,.(); выберет вариант автозаполнения. - person zneak; 18.09.2013

Вы можете использовать сочетание клавиш, чтобы отобразить список завершения.

Вы можете нажать «ctrl +», и он покажет список «Visual Studio Like and Feel» для автозаполнения.

person Daniel Gomez Rico    schedule 27.03.2012
comment
Он по-прежнему не фиксируется с первым введенным символом, не являющимся идентификатором, что является моей самой большой жалобой. :/ - person zneak; 27.03.2012
comment
Ctrl+ ничего не делает в моей версии; это с Xcode 4.3 DP или я что-то изменил в какой-то момент? - person zneak; 30.03.2012
comment
мда, я не знал, что Xcode 4.3 вышел. Я скачаю его и попробую еще раз. - person zneak; 30.03.2012
comment
^, определенно ничего не делает для меня (даже с Xcode 4.3). шпаргалка Xcode, которую я обнаружил, также не содержит этого ярлыка. Я что-то упускаю? - person zneak; 31.03.2012
comment
+ - это не символ, который вы должны нажать, вы должны нажать ctrl AND, - person Daniel Gomez Rico; 05.04.2012
comment
Я понял это. Я нажимаю ctrl и запятую, а Xcode просто издает звуковой сигнал. Когда я посмотрел в настройках привязки, эта комбинация клавиш ни для чего не использовалась. К показу завершений был привязан Ctrl+Пробел, но следов Ctrl+, не было. Показать завершения ждет, когда я нажму «ввод», чтобы подтвердить свой выбор. - person zneak; 05.04.2012
comment
ну, у меня сейчас Xcode 4.3.2. Как видно из названия вопроса, я ищу ответы Xcode 4. - person zneak; 16.04.2012
comment
@Daneil, с отображением все в порядке, но поведение отличается от автозаполнения Visual Studio C # или C ++. В Visual Studio при выделении записи вставка любого символа, который не может быть частью идентификатора (например, точка, пробел, круглая скобка, запятая и т. д.), зафиксирует автозаполнение. В Xcode это не так. - person zneak; 18.04.2012
comment
Теперь я понимаю, извините, я не знаю - person Daniel Gomez Rico; 18.04.2012

Вы не указываете другую проблему: XCode автоматически заполняет алфавитные значения, а не совместимые. Visual Studio на самом деле дает вам то, что работает, но в XCode вы можете запихнуть Int в класс или наоборот благодаря автозаполнению.

Ближайшие параметры находятся в меню XCode->Настройки->Редактирование текста. Однако в нем нет того, что вам нужно. Я замечаю, что автозаполнение скобок не очень умно, и я могу скоро отключить свой.

Во всяком случае, альтернативная IDE XCode на самом деле имеет контекстное автозаполнение, что значительно улучшает вашу способность кодировать, не заглядывая в документы. Не уверен, каковы его предпочтения, но, возможно, стоит посмотреть. Я не пытаюсь рекламировать это, поэтому я позволю вам поискать альтернативу XCode, если вы хотите.

На практике. и «остановка» автозаполнения на самом деле спасает меня много раз. Например, напишите for(int x = 0; x ‹ 5; x++) {}, затем попробуйте заменить x на y. Автозаполнение вмешается и полностью отбросит вас, если вы не нажмете пробел или . или же ,. Если бы у вас было агрессивное автозаполнение, оно бы засовывало нерабочее алфавитное значение вверху списка.

Короче говоря, XCode 4 не отделен от остальной части Mac, кошмар, когда вы пытаетесь его использовать. В качестве одного наглядного примера возьмите большой текстовый файл в TextEdit и прокрутите его наполовину вниз. Подождите секунду, теперь попробуйте выделить половину документа. (Ваша полоса прокрутки исчезнет, ​​прежде чем вы, например, сможете что-то сделать).

Ответ, который вы ищете, может существовать, а может и не существовать, но я надеялся предоставить вам некоторые альтернативы, которые могут удовлетворить вашу тягу. Пример в конце просто показывает истинную природу инструментов и принцип их пользовательского интерфейса.

Всегда есть Monodevelop (не объективный C, но он должен быть более настраиваемым) или, возможно, ide с Objective C, если вы не возражаете против альтернативного кодирования.

Удачи, я бы хотел, чтобы в XCode было больше настроек.

person Stephen J    schedule 30.11.2012
comment
На самом деле я давний пользователь Mac, и я считаю ваши опасения по поводу удобства использования необоснованными. Я намного продуктивнее работаю с Mac OS, чем с Windows, не считая автозаполнения IDE. - person zneak; 30.11.2012
comment
Если вам не нравится исчезающая полоса прокрутки, перейдите в «Системные настройки» -> «Основные» и выберите «Всегда» в разделе «Показывать полосы прокрутки». Кроме этого, для выбора половины документа вы можете поместить указатель мыши туда, где вы хотите начать выделение, а затем нажать shift+cmd+up, чтобы выбрать все от начала документа до этого места. - person zneak; 30.11.2012
comment
А, спасибо за указатель! Я стараюсь использовать свои анти-точки в качестве вариантов использования. Например, Mac просто отключил питание USB, потому что я подключил Arduino более чем на 5 минут. Или у меня включен режим разработчика, и я не могу устанавливать веб-приложения, не находя настройки, как вы описали, спрятанные в странных местах. Вы не можете показать скрытые папки, не погуглив команду терминала. В XCode есть ошибки, о которых я говорил выше, он далеко не дружелюбен к разработчикам. Попробуйте найти определение MKMapRect в документации... в любом случае, я воспользуюсь вашими советами и оценю их. Обратите внимание, что мы все еще не можем ответить на вопрос парня! - person Stephen J; 30.11.2012
comment
Парнем оказался я. ;) (Кроме того, вам может понравиться это, если вам нужно иметь дело с невидимыми папками: возможно, вы знаете, как shift+cmd+g позволяет перейти к папке по ее пути? Вы можете сделать то же самое в диалогах открытия и сохранения. ) Я не говорю, что все эти вещи для опытных пользователей интуитивно понятны для опытных пользователей с других платформ, но как случайный пользователь Mac, который превратился в разработчика, я ничего не делаю в Windows, что я не знаю, как сделать/сделать лучше на Mac OS. (Конечно, я придерживаюсь довольно стандартных целей разработки, так что YMMV, если вам нравятся менее мейнстримные вещи.) - person zneak; 30.11.2012
comment
(И опять же, это исключает количество особенностей IDE. Visual Studio определенно лучше, чем Xcode, но мне больше нравится Mac OS, чем Windows.) - person zneak; 30.11.2012
comment
хе-хе, я не проверил имя, упс. Я делаю то же самое, пытаясь придерживаться мейнстрима. У Mac есть ошибки, которые появляются случайным образом, но всегда раздражают меня до чертиков. Весь текст иногда фильтруется в поле поиска, несмотря ни на что. В Windows определенно больше возможностей, но Mac, похоже, лишает меня возможности быть продуктивным. Стирание отношения основных данных привело к сбою XCode, пока я не вернул файл ... в любом случае, я хотел поблагодарить за советы по невидимым папкам, и я поищу ярлыки, чтобы попытаться освоить их. Я читал прогу. гиды и знаю системы довольно хорошо. Вы ответили на мои вопросы! ржунимагу - person Stephen J; 30.11.2012

Для завершения кода доступны следующие параметры привязки клавиш. Я не верю, что есть какой-либо способ изменить базовый движок, чтобы упростить поиск подходящих дополнений, однако можно написать столько фрагментов кода, сколько необходимо, чтобы быстро повторно использовать код.

Ярлыки завершения кода

Альтернативный

Я предваряю свои фрагменты кода своими инициалами, за которыми следуют мои собственные логически сформулированные структуры. Это представляет собой довольно полезный [фальшивый] индекс, который позволяет мне сократить процедуры автоматического завершения.

например Структура типичного пользовательского сниппета

[tnc][AddMethod][Somename]

При необходимости я запускаю tnc..., чтобы получить доступ к моему [фальшивому] индексу часто используемых фрагментов.

Фрагменты не являются автозаполнением сами по себе, но они представляют собой альтернативный индекс для кодирования автозаполнения и могут решить проблему быстрого поиска нужной информации.

person Tommie C.    schedule 28.10.2013

Теперь, если вы начнете печатать, появится автозаполнение. Вам ничего не нужно делать.
РЕДАКТИРОВАТЬ
Извините за это. Неправильно понял вопрос. Единственный способ выбрать автозаполнение — нажать клавишу Tab, Enter или клавишу со стрелкой вправо. В обычном XCode это сделать невозможно.

person charleyh    schedule 13.11.2012
comment
Но это все еще не автозаполнение, как мне бы хотелось. Как указано в моем вопросе, вы должны нажать Enter, чтобы выбрать вариант автозаполнения. В Visual Studio вам просто нужно ввести символ, который не может быть частью идентификатора, чтобы выбрать этот вариант (например, ввод, пробел, круглая скобка, запятая, точка,...) - person zneak; 13.11.2012

контроль+пробел, вероятно, единственная функция, которую я знаю. Я согласен, что xcode не имеет автоматического завершения, о котором я знаю.

Но в остальном, поскольку визуальная студия продолжает обновляться большую часть времени. Автодополнение на нем работает нормально. В какой-то момент Xcode может добавить подобную функцию в свои будущие обновления.

person Ricardo    schedule 16.06.2014

Я не знаю, работает ли это с xCode 4, но стоит попробовать http://code.google.com/p/xcode-auto-assistant/

person Konrad77    schedule 11.03.2011
comment
API-интерфейс плагина Xcode является частным и изменился между Xcode 3 и Xcode 4. Он в значительной степени обречен на сбой, но все равно спасибо. - person zneak; 11.03.2011

Если вы хотите выполнять одно и то же каждый раз, вы можете использовать для этого стороннее программное обеспечение, такое как расширитель текста, или использовать встроенную функцию замены текста Snow Leopards.

person Denshi    schedule 13.04.2011
comment
Весь смысл автозаполнения заключается в предоставлении контекстных предложений. Обычные текстовые автозаполнения не могут этого сделать. - person zneak; 13.04.2011