Сьогодні вранці в Xcode 9.0 (9A235) показано нове / дивне поле автоматичного завершення, яке зовсім не таке, як раніше. Як отримати повне автоматичне заповнення вікна, щоб автоматичне заповнення виглядало як зазвичай це робиться?
Сьогодні вранці в Xcode 9.0 (9A235) показано нове / дивне поле автоматичного завершення, яке зовсім не таке, як раніше. Як отримати повне автоматичне заповнення вікна, щоб автоматичне заповнення виглядало як зазвичай це робиться?
Відповіді:
Спробуйте:
Видалення папки 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 для кожного класу властивостей і функцій, які ви можете зменшити в обсязі роботи компіляторів на кожен елемент.
Пишіть модульний / OOP-код, щоб у вас було менше коду для читання компілятора.
Уникайте використання типу Inferance, коли результат є складним обчисленням, і намагайтеся розділити складні обчислення на let this = smallerOperation
оператори
Версія Xcode 11.0 (11A420a)
Я спробував рішення від Lal Krishna для Xcode V11.0. Це працювало кілька разів, але пізніше я не отримав жодного результату.
Я знайшов одне рішення. Ви повинні видалити два файли:
Це рішення мені зараз допомагає. Може бути корисним для інших 😉
Це може статися, коли файл не є членом Цілі. Відкрийте файл, де функція автозаповнення не працює, і покажіть вкладку «Утиліти» у верхньому правому куті Xcode (синій на скріншоті нижче).
Переконайтесь, що ваша ціль (зазвичай назва програми) встановлена. Автозаповнення має працювати майже миттєво, не перезавантажуючи Xcode, чистячи чи видаляючи отримані дані.
Якщо це вже встановлено, зніміть його та повторіть його ще раз. Для мене це зробило трюк.
Я використовую Xcode 10.2, і у мене була та сама проблема.
Ця відповідь від axel допомогла мені виправити.
У будь-якому випадку я розповім трохи більше:
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 (Інспектор файлів -> Цільове членство) . Якщо так, зніміть прапорці з цих двох і переконайтесь, що вибрано лише ціль проекту. Потім складіть і спробуйте, якщо автозаповнення працює нормально.
Це працювало для мене. Сподіваюся, це допоможе комусь.
Після довгого пошуку я нарешті вирішив проблему. У Xcode> Налаштуваннях> Редагування тексту у розділі "Завершення коду" я чомусь перевірив "Використовувати клавішу Escape для показу пропозицій щодо завершення". Як тільки я зняв цей прапорець, автоматичне завершення спрацювало як шарм, навіть не потребуючи перезавантаження Xcode! (Xcode 10)
Ось трохи вирішення, але працює.
Очистіть проект ... Command + Shift + K
Очистіть папку збірки ... Command + Shift + Options (Alt) + K
Видалити отримані дані для проекту ... Це можна зробити за допомогою цього посилання:
Закрити XCode.
Повторно відкрити XCode (нехай завершення індексації) та побудувати проект ... Command + B
Як тільки це буде зроблено зі створенням, пропозиції повернуться. Я пробував це вже двічі.
Оновлення:
Іноді проблема може бути такою ж простою, як і копії імен файлів. Уважно перевірте, чи додані вами нові імена файлів суперечать старішим файлам.
У Xcode 11.4, навіть якщо ви перемістите існуючий файл до іншої групи, пропозиції зникають. Це можна вилікувати, просто перезавантаживши Xcode.
Щойно втратили день, намагаючись вирішити автозаповнення кошмару Xcode (9.2). Видалення отриманих даних, здавалося, працює коротко, тоді все обернено. Перезавантаження тощо та інші запропоновані вуду не змогли змінити значення.
Я відмовився і завантажив 30-денну пробну версію AppCode від Jet Brains. Автозаповнення добре працювало там, і це, можливо, збіг обставин, але потім він знову почав працювати в моєму проекті в Xcode. Не можу гарантувати, що він продовжить працювати ...
Здається, у моєму випадку конкретний файл (Xcode 9.2). Для мене виправлення було таким:
Нарешті, через 3 години спроб все - автозавершення працює як слід.
Проблеми здебільшого тому, що в навігаторі проектів відсутнє розташування деяких файлів (помилки побудови)
Project Navigator
панеліАбо ви можете:
Сподіваюся, це допомагає
Xcode 11.3, macOS каталіна
процес 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 нова система складання, схоже, не сподобається, і вона автоматично завершиться лише в тому випадку, якщо ви її використовуєте Release
або Debug
. Будь-яка спеціальна конфігурація збірки порушує автоматичне завершення в змішаному (swift + objc) проекті з тестовими одиницями.
Це Посилання мені допомогло. Відкрийте Налаштування збірки та заповніть рамки пошуку шляхів. Дивіться зображення нижче.
У мене виникла проблема, коли 100% не працює автозаповнення, жодне з написаних тут не допомогло. Я зауважив одне - це було порушено відразу після додавання деяких сутностей у файл .xcdatamodel, які за замовчуванням мають визначення класу кодена.
Тож я не здивувався, використовуючи кодеген старого стилю, жоден (і генеруючи класи звичайно) проблему не виправив негайно, навіть не перезавантажуючи xcode.
Якщо у вас виникли проблеми зі дивним завершенням / автоматичним доповненням / інтелігенцією (не відображаються за замовчуванням речі, такі як делегати та методи протоколів джерел даних), просто змініть свою ціль (наприклад, з імітатора 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. Ніщо вище не допомогло, виявилося, що у мене були помилки в побудові. Просто виправте помилки збірки і автоматичне завершення знову запрацює.