В Xcode есть новый автозаполнение. Вероятно, может быть полезно, потому что он проверяет не только начало имен и т.д. Но я обнаружил, что очень часто он не находит имя класса или имя константы вообще и т.д. Мне нужно набрать полное имя самостоятельно. Из-за всего, что я нашел, это усложняет жизнь и кодирует больше времени. Есть ли способ переключиться на старый способ, которым он работал?
Автозаполнение Xcode 7.3 настолько расстраивает
Ответ 1
Xcode 7.3.1
-
В Xcode > Настройки > Редактирование текста
снимите флажок
Enable type-over completions
-
перезапустить Xcode
Ответ 2
Кажется, что очистка флажка "Включить завершение ввода типа" в XCode → Настройки → Редактирование текста делает трюк. По крайней мере, в моем случае автозаполнение упало до своего прежнего пути, поэтому оно может автозаполнять имя класса, которое я должен был ввести вручную до этого.
Ответ 3
Это ни в коем случае не является адекватным решением, но это позволило мне (едва) поддерживать мое рассудочное отношение в последние несколько дней:
После каждой сборки вам необходимо удалить папку Derived Data. Вы можете найти эту папку в Xcode > Preferences > Locations > Derived Data
. Просто уничтожьте все это, и это приведет к повторному индексированию, который должен восстановить правильную функциональность автозаполнения.
К сожалению, я обнаружил, что после того, как я построю, поведение автозаполнения вернется к его сломанному состоянию.
Ответ 4
просто откройте папку с данными Xcode и удалите папку
/Users/yourUserName/Library/Developer/Xcode/DerivedData
затем перезапустите Xcode, теперь автозаполнение работает как чары
Ответ 5
У меня сложилось впечатление, что некоторые "части" автозаполнения просто проваливаются через некоторое время. Я использую для перезагрузки Mac, чтобы вернуть его. Но иногда это заканчивается совсем скоро. Возможно, ответ @Alex Быков в сочетании с перезагрузкой сделает трюк.
В любом случае: автозаполнение Xcode всегда было дерьмом. AppCode использовался, чтобы получить его намного лучше. К сожалению, еще не скоро.
Ответ 6
Закрыл Xcode, открыл Xcode, пусть он индексирует, он работал.
Ответ 7
он не находит имя класса
Как работа, вы можете попытаться нажать Команда + Shift + K и Команда + B Несколько раз он работает временно.
Ответ 8
Xcode 7.3.1
Я поделюсь еще одной возможной причиной, что через пару дней мы узнали. У нас есть несколько схем, и в одном из них заголовок моста импортирует файл, который больше не существует. Таким образом, он не прерывался при компиляции и запуске (заголовок принадлежит другой схеме), но это вызвало разрыв автозаполнения (не удалось найти класс objective-c).
Надеюсь, что это поможет кому-то!
Ответ 9
Попробовав разные методы:
- Удалить производные данные
- Модуль переключения включен в настройках сборки
- Полная очистка
- Перезапустить
Только это сработало:
- Найдите код с комментариями (/* abc */) после @end в ваших файлах и удалите.
Кредит Max_B: https://forums.developer.apple.com/thread/7439
В моем случае другие проекты были автоматически завершены. Если все ваши проекты не могут правильно предсказать код, тогда это может быть другая проблема, и другие ответы могут работать.
Ответ 10
Я столкнулся с этой проблемой, пытаясь сделать приложение OS X, и я смог исправить эту проблему, убедившись, что фактически была загружена документация Xcode 7.3 и документация OS X 10.11.4. Это полностью восстановило мои функции автозаполнения. Мои полные инструкции ниже, а также в моем ответе на аналогичный вопрос: fooobar.com/questions/59406/...
У меня была эта проблема сама, и, просмотрев все другие подобные вопросы и ответы об этом, я не смог найти решение. Однако, наконец, я нашел то, что сработало для меня.
Перейдите к
Xcode -> Preferences -> Components
. Там вы, вероятно, найдете экран, который выглядит следующим образом:Это показывает, что документация не была загружена, поэтому любые попытки переиндексации или повторной сборки приложения без загрузки документации не позволят вам использовать функциональность автозаполнения.
Как только я загрузил документацию Xcode 7.3 и документацию OSX 10.11.4, мне было достаточно, чтобы вернуть функциональность автозаполнения (я пытался создать приложение OS X, поэтому не стесняйтесь загружать столько документации, сколько релевантный для вас).
Ответ 11
Я не сталкивался с этим, пока не создал пару новых файлов классов. Другие классы работали нормально, но автозаполнение не работало ни для чего в новых файлах...
FIX (для меня) - мне пришлось добавлять эти файлы ко всем моим целям, включая цели unit test, хотя я еще не использовал их.