Сегодня утром Xcode 9.0 (9A235) показывает новое / странное поле Auto Complete, которое совсем не то, что было раньше. Как мне получить поле полного автозаполнения, чтобы автозаполнение выглядело так, как обычно?
Сегодня утром Xcode 9.0 (9A235) показывает новое / странное поле Auto Complete, которое совсем не то, что было раньше. Как мне получить поле полного автозаполнения, чтобы автозаполнение выглядело так, как обычно?
Ответы:
Пытаться:
Удаление папки DERIVED DATA, похоже, решило мою проблему. Благодаря этому сообщению: swift println () не показывает параметры автозаполнения при написании кода
Что стоит попробовать:
Выполните эту команду в каталоге проекта, если вы используете cocoapods:
rm -rf ~/Library/Caches/CocoaPods;
rm -rf Pods; rm -rf ~/Library/Developer/Xcode/DerivedData/*;
pod deintegrate; pod setup; pod install;
Очистить кэшированные данные
Очистить проект -> Cmd + Shift + K
Очистить папку сборки -> Cmd + Shift + Option + K
Если вы пропустили первый шаг:
Удалить производные данные
Xcode Preferences
-> Locations
->
Символ стрелки. Переход к DerrivedData
-> Удалить папку.
Проверьте источники компиляции вашей фазы сборки.
Каждые .swift
и .m
файл в проекте , должны быть в этом списке , или он не будет автозаполнение в этих файлах.
Оптимизируйте свой редактор:
Используйте fileprivate для каждого свойства и функции класса, которые вы можете, чтобы уменьшить объем работы компиляторов для каждого элемента.
Напишите модульный код / ООП, чтобы у вас было меньше кода для чтения компилятором.
Избегайте использования Type Inferance, когда результатом является сложное вычисление, и попытайтесь разбить сложные вычисления на let this = smallerOperation
утверждения.
Xcode версии 11.0 (11A420a)
Я пробовал решение от Lal Krishna для Xcode V11.0. Несколько раз получалось, но потом результата не было.
Я нашел одно решение. Вы должны удалить два файла:
Это решение помогает мне сейчас. Может быть полезно другим 😉
Это может произойти, если файл не является членом Target. Откройте файл, в котором не работает автозаполнение, и покажите вкладку «Утилиты» в правом верхнем углу Xcode (синий на скриншоте ниже).
Убедитесь, что ваша цель (обычно имя вашего приложения) отмечена. Автозаполнение должно работать почти мгновенно без перезапуска Xcode, очистки или удаления производных данных.
Если он уже отмечен, обязательно снимите флажок и снова установите его. Для меня это сработало.
Я использую Xcode 10.2, и у меня была такая же проблема.
Этот ответ от акселя помог мне исправить.
Во всяком случае, я опишу еще немного:
YourProject.xcodeproj
, щелкнув правой кнопкой мыши, и откройтеShow Package Contents
xcuserdata
и удалите свойyouruser.xcuserdatad
Если у вас также есть xcworkspace
(если у вас уже установлены какие-либо модули ), выполните шаги 3 и 4, если нет, просто пропустите шаги 3 и 4:
YourProject.xcworkspace
, щелкнув правой кнопкой мыши, и откройтеShow Package Contents
Зайдите xcuserdata
и удалите свойyouruser.xcuserdatad
Выйти из Xcode
rm -rf ~ / Библиотека / Разработчик / Xcode / DerivedData
Это также может произойти, если вы дали своим файлам избыточные имена. Например,
Data.swift
Data.swift
Удаление файла из тестовых целей устранило мою проблему.
Пожалуйста, попробуйте сделать это:
Выберите файл >> проверьте, добавлен ли файл в целевые объекты UITesting или UnitTesting (Инспектор файлов -> Целевое членство) . Если да, снимите эти два флажка и убедитесь, что выбрана только цель проекта. Затем создайте и попробуйте, если автозаполнение работает нормально.
Это сработало для меня. Надеюсь, это кому-то поможет.
Вот небольшой обходной путь, но он работает.
Очистить проект ... Command + Shift + K
Очистите папку сборки ... Command + Shift + Options (Alt) + K
Удалить производные данные для проекта ... Это можно сделать по этой ссылке:
Закройте XCode.
Снова откройте XCode (дайте завершение индексации) и соберите проект ... Command + B
Как только строительство будет завершено, предложения вернутся. Я пробовал дважды.
Обновить:
Иногда проблема может быть такой же простой, как повторяющиеся имена файлов. Внимательно проверьте, не конфликтуют ли добавленные вами новые имена файлов со старыми файлами.
В Xcode 11.4, даже если вы переместите существующий файл в другую группу, предложения исчезнут. Это можно исправить, просто перезапустив Xcode.
После долгих поисков я наконец решил проблему. В Xcode> Настройки> Редактирование текста в разделе «Завершение кода» я по какой-то причине проверил «Использовать клавишу Escape для отображения предложений завершения». Как только я снял этот флажок, автозавершение работало как шарм, даже без перезапуска Xcode! (Xcode 10)
Просто потерял день, пытаясь решить кошмар автозаполнения Xcode (9.2). Удаление производных данных, казалось, сработало ненадолго, затем все вернулось. Перезагрузки и т. Д. И другие предлагаемые вуду не помогли.
Я сдался и загрузил 30-дневную пробную версию AppCode от Jet Brains. Автозаполнение там отлично работало, и это может быть совпадение, но затем оно снова начало работать в моем проекте в Xcode. Не могу гарантировать, что он продолжит работать ...
Проблемы в основном из-за отсутствия местоположения некоторых файлов в навигаторе проекта (ошибки сборки)
Project Navigator
панельИли вы можете:
Надеюсь это поможет
Xcode 11.3, macOS catalina
процесс parsecd достигает 100% ЦП, поэтому убейте его, это поможет мне
Для меня проблема возникла, когда я отменил все изменения одного файла (в разделе «Управление исходным кодом»> «Зафиксировать»), что фактически удалило файл. Это то, что я хотел, и я подумал, что файл и все ссылки на него тоже будут удалены.
Тем не менее, в навигаторе проекта все еще была ссылка на файл (показанный красным). Удаление (теперь уже несуществующего) файла в навигаторе проекта волшебным образом вернуло автоматическое завершение.
Никакая очистка, удаление производных данных и т. Д. Не помогли. Я понял, что удаленный файл все еще отображается, когда я попытался собрать свой проект, что, конечно же, не удалось, потому что он не смог найти этот файл.
Надеюсь, это поможет кому-то сэкономить 30 минут :)
Мой случай может показаться слишком конкретным, чтобы помочь, но он может дать кому-то представление о том, как решить проблему неработающего автозаполнения. Xcode 10.2.1.
В моем случае автозаполнение полностью перестало работать, и ни один из этих ответов мне не помог. Кроме того, было слышно, как вентилятор на компьютере работает громче, указывая на то, что что-то перегружено (другие приложения не работают), следует отметить, что я редактировал на ноутбуке MacBook Pro. Похоже, это было связано с тем, что редактор изо всех сил пытался разобрать уравнение, которое я написал:
switch mtype {
case .indeterminate:
newPosition.x = (frame.width - mainFigureText.frame.width) / 2
case .right:
newPosition.x = (((frame.width / 2) - mainFigureText.frame.width) / 2) + (frame.width / 2)
case .left:
newPosition.x = (((frame.width / 2) - mainFigureText.frame.width) / 2)
}
Я хотел анимировать текстовое представление слева, справа или посередине в зависимости от пользовательских настроек. Это newPosition
объект CGPoint
, в который будет выполняться анимация текста. Так или иначе, я разделил уравнения на части, и внезапно автозаполнение начало работать, и вентилятор затих! Мне удалось воссоздать эту конкретную проблему более одного раза, повторно набрав приведенный выше код, а затем заменив его на:
let halfFrameWidth: CGFloat = frame.width / 2
let middleLeft = (halfFrameWidth - mainFigureText.frame.width) / 2
switch doseType {
case .right:
newPosition.x = middleLeft + halfFrameWidth
case .left:
newPosition.x = middleLeft
default:
newPosition.x = (frame.width - mainFigureText.frame.width) / 2
}
Я хотел бы добавить еще одно в кучу решений, потому что это единственное, которое у меня сработало и его здесь нигде не найти.
Xcode обычно поставляется с двумя конфигурациями сборки по умолчанию для каждого проекта. Release
& Debug
. У меня есть еще один для моих модульных тестов, который называется Testing
. В Xcode 10.1, 10.2, 10.3 и 11 beta новой системе сборки это, похоже, не нравится, и она будет выполняться автоматически, только если вы используете Release
или Debug
. Любая настраиваемая конфигурация сборки прерывает автозаполнение в смешанном (swift + objc) проекте с модульными тестами.
Эта ссылка мне помогла. Откройте настройки сборки и заполните пути поиска фреймворка. См. Изображение ниже.
У меня была проблема со 100% неработающим автозаполнением, ничего из написанного здесь не помогло. Я заметил одну вещь - он был сломан сразу после добавления некоторых сущностей в файл .xcdatamodel, которые по умолчанию имеют определение класса codegen.
Поэтому я не удивился, когда при использовании старого стиля codegen none (и, конечно, генерации классов) проблема сразу устранилась, даже без перезапуска xcode.
Если у вас возникла проблема со странным завершением / автозаполнением / intellisense (не показывающими вещи по умолчанию, такие как методы делегатов и протоколов источников данных), просто измените свою цель (например, с симулятора iPhone 8 на реальное устройство), создайте проект и вернитесь к исходной цели ,
Аналогично проблемам с Interface Builder (раскадровки), который ничего не показывает, а только «ничего не выбрано» всякий раз, когда вы выбираете какую-либо часть представления. Просто переключитесь на другой Xib / Storyboard (или даже создайте новый), проверьте, работает ли он там, и переключитесь обратно.
Эти обходные пути сработали для меня в обоих случаях (обе проблемы были устранены за один день с одним проектом на Xcode 10.2.1). Судя по тому, что я видел на интернет-форумах, кажется, что это ошибки, которые никогда не исправлялись начиная с Xcode 6.x или около того.
Ура!
В моем случае (Xcode 11.1) это произошло, когда я остановил автоиндексирование Xcode с помощью этой команды defaults write com.apple.dt.Xcode IDEIndexDisable -bool true
.
Так что откатываю с помощью defaults write com.apple.dt.Xcode IDEIndexDisable -bool false
. затем перезапустите macOS и снова запустите Xcode.
Была такая же проблема с Xcode 11.3. Ничего из вышеперечисленного не помогло, оказалось, что у меня были ошибки сборки. Просто исправьте ошибки сборки, и автозаполнение снова заработает.