Подтвердить что ты не робот

Заполнение кода кода Xcode 8.2 не работает

По какой-то причине в Xcode 8.2 мое завершение кода перестало работать. Я очистил свой продукт, перезапустил Xcode, перезапустил свой компьютер и удалил полученные данные, и до сих пор не повезло. Я отправил это в службу поддержки Apple. Кто-нибудь сталкивался с этим раньше и смог его исправить?

4b9b3361

Ответ 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

Если у вас есть большие статические литералы, попробуйте прокомментировать их. Иногда они могут отключить компилятор.