По какой-то причине в Xcode 8.2 мое завершение кода перестало работать. Я очистил свой продукт, перезапустил Xcode, перезапустил свой компьютер и удалил полученные данные, и до сих пор не повезло. Я отправил это в службу поддержки Apple. Кто-нибудь сталкивался с этим раньше и смог его исправить?
Заполнение кода кода Xcode 8.2 не работает
Ответ 1
Завершение кода также прекратило работать для меня в Xcode 8.2.1, и никакая сумма очистки, выведенных данных или перезагрузки не зафиксировала ее. Через некоторое время я понял, что завершение кода было нарушено только в области расширения, над которой я работал. Если вы набрали вручную, код будет правильно подсвечен и будет компилироваться в порядке, поэтому проблема не в том, что исходный код отбрасывает все парсер, отвечающий за завершение кода.
Вот конкретный контекст, в котором это происходит, в этом очень простом примере:
struct SomeStruct {
static let foobar1 = {
return NSBezierPath()
}()
}
extension SomeStruct {
static let foobar2 = {
return NSBezierPath()
}()
}
Кодовое завершение работает нормально в блоке реализации foobar1
, но не для foobar2
. Это наличие static let
в пределах расширения, которое, похоже, вызывает его. Проблема возникает как для структуры, так и для класса.
Похож на ошибку с Xcode, поэтому единственным обходным решением для меня было перемещение foobar2
в основное определение SomeStruct
.
Ответ 2
Update: В соответствии с приведенным ниже решением @Dareon также работает для Xcode Version 8.3 (8E162) и 8.3.2 (8E2002). Спасибо, @Dareon за подтверждение.:)
Я столкнулся с той же проблемой, и после этого работал на меня.
Я использую Xcode Version 8.2.1 (8C1002).
- Перейдите в Xcode > Настройки > Редактирование текста
- По завершению кода - Снимите флажок "Предложить завершение при вводе"
- Выйдите из Xcode и затем перезапустите Xcode.
- Перейдите в Xcode > Настройки > Редактирование текста снова
- Выйдите из Xcode и затем перезапустите Xcode.
- Теперь перейдите к завершению кода и проверить. Предложите завершение при вводе '.
- Попробуйте ввести библиотечную функцию или enum и наслаждайтесь!
По крайней мере, это сработало для меня.
Ответ 3
Просто перезагрузка XCode сработала для меня.
Ответ 4
У меня были серьезные проблемы с этим. Для меня завершение кода и форматирование теряются в текущем рабочем исходном файле, когда я когда-либо делаю компиляцию. Если я вернусь и перейду на другую вкладку и вернусь, через секунду или две она снова начнет работать. Иногда даже это не работает, и я должен оставаться на одной вкладке и открывать другой файл, а затем перемещаться назад.
Даже те методы не работают, если я оставляю Xcode открытым и заставляю компьютер спать в течение нескольких часов и возвращаться. Когда это случается, мне нужно выйти из Xcode, иногда Force Quit it, а затем после того, как вы вернетесь, выполните описанные выше шаги. Но мне приходилось обходиться с ним после каждой компиляции или компиляции и запуска. Еще не пробовал 8.3 beta.
Ответ 5
Просто очистите и создайте приложение один раз на Generic iOS Device
, возможно, это связано с некоторой проблемой времени компиляции, которая отключает интеллект. Я вижу эту ошибку с Xcode 8.2.1.
Ответ 6
У меня была такая же проблема, когда "индексация" не работала. Поскольку я использовал pod и статические библиотеки. Я просто перестраивал статические библиотеки отдельно.
Надеюсь, что это поможет.
Ответ 7
Если у вас есть большие статические литералы, попробуйте прокомментировать их. Иногда они могут отключить компилятор.