Вопрос

РЕДАКТИРОВАТЬ: Это странно...если я дважды щелкну элемент «Последние проекты» для проекта на экране приветствия, восприятие кода и раскраска будут работать нормально, но если я просто нажму Open (внизу справа на экране приветствия) нет.Открытие с File > Recent projects тоже не работает, как и двойной щелчок по .xcodeproj файл в Finder.


Смысл кода для проекта iPhone OS 3.0, над которым я работал несколько месяцев (с помощью разных установок/версий XCode), больше не работает.Например, если я сделаю NSString *myString, весь код будет черным (без цвета, без Option + двойного щелчка, без завершения кода).Code Sense «работает» только для моих собственных классов/методов/свойств, но не для каких-либо классов SDK.Если я создаю новый проект с нуля, все это работает.

Я уже пробовал изменить «Базовый SDK для всех конфигураций» в этом проекте.Я уже пробовал «Восстановить индекс смысла кода».Я уже пробовал «Очистить все цели».

Документация в настройках вся загружена и работает.Например, если я выберу NSString выше и выполните щелчок правой кнопкой мыши -> Найти текст в документации, я получу окно со всеми ссылками на класс.

Любые идеи будут с благодарностью оценены.

Это было полезно?

Решение

Получите информацию о проекте в XCode и измените формат проекта в соответствии с версией XCode, которую вы используете (на момент написания статьи, " Xcode 3.2-совместимая ").

Вы также можете удалить производные данные, но если вы не обновили формат своего проекта, ошибка повторится почти сразу. (Это может произойти даже после обновления формата вашего проекта, но раньше мне приходилось удалять DerivedData несколько раз в день, и я думаю, что я делал это только один раз с момента исправления проекта.)

Как уже отмечалось, переключение на LLVM может помочь. Но когда я обновлю этот ответ (2012), вы все равно должны использовать LLVM.

Другие советы

В Xcode 4 мне не удалось найти " перестроить смысл кода " кнопка, но если вы идете в окно - > Организатор, выберите вкладку Проект и нажмите " Удалить ... " рядом с папкой производных данных, похоже, тот же эффект. (Я получил этот совет от http: / /blog.slidetorock.com/xcode-4-code-sense-autocompletion-problems , который указывает, что он получил его по очереди с https://stackoverflow.com/questions/2138047/xcode-code-loses-syntax-coloring - но я этого не вижу в любом из ответов нет. Очень любопытно.)

Раскраска синтаксиса снова работает после выполнения следующих шагов:

  • Перейдите в организатор> Project> Удалить полученные данные из вашего текущего проекта
  • Очистить и построить
  • Закройте и закройте XCode и снова откройте проект.
  • Раскраска синтаксиса становится лучше после переиндексации проекта.

P.S.

  • Компилятор LLVM 3.0
  • я использовал флаги компилятора -fno-objc-arc для всех сторонних библиотек (например.АСИХТТПреквест)
  • Мой проект создан из XCode 4.2.

Просто запускайте в терминале каждый раз, когда это необходимо

rm -fR ~/Library/Developer/Xcode/DerivedData

Работает нормально. Подсветка и CodeSense обратно ко мне! Когда-нибудь нужно было сделать Clean Clean, чтобы оно работало.

примечание: как я вижу, он удаляет снимок и другие «функции» Xcode4 Но мы не используем его:)

У меня была такая же проблема в Xcode 4, и я решил ее, изменив компилятор с GCC 4.2 на LLVM GCC 4.2.

Я нашел способ избежать этой ошибки. Я видел, что ошибка появляется каждый раз, когда я изменяю файл, который импортируется в prefix.pch.

Попробуйте импортировать свой собственный файл в верхней части списка импорта над UIKit.h и Fonudation.h, а НЕ в конце, как это делают все.

В моем файле prefix.pch:

#ifdef __OBJC__
    #import "myFile.h"
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
#endif

Кажется, существует множество возможных причин и решений этой проблемы, и я думаю, что перепробовал большинство из них.Что в конечном итоге сработало для меня (в Xcode 4.1), так это:

  • удалить ссылки на проблемные файлы в навигаторе проекта
  • переместите проблемные файлы из папки проекта в Finder
  • Вернувшись в навигатор проекта, щелкните правой кнопкой мыши и выберите «Добавить файлы в...».
  • найдите файлы, которые я только что переместил, и добавьте их обратно в проект, убедившись, что выбран вариант «Копировать элементы в папку целевой группы (при необходимости)».

Code Sense восстановлен.

Чтобы быть более конкретным, моя точная проблема заключается в том, что когда я создаю новый класс с помощью щелчка правой кнопкой мыши в навигаторе проекта, около 30–40% значения временного кода не работает в заголовочном файле нового класса.Интересно, что это работает в реализации.

Вещи, которые я пробовал, но не удалось:

  • удаление папки производных данных в Органайзере
  • удаление папки производных данных в Finder
  • создание совершенно нового класса с нуля (понятия не имею, почему это не сработало).
  • изменение языка раскраски синтаксиса
  • несколько раз меняя компилятор на все параметры и обратно
  • указание конкретного пути поиска заголовков

Мне бы хотелось получить другие возможные предложения, чтобы положить конец этой проблеме, потому что это действительно раздражает!

У меня тоже была эта проблема. Ранее я отключил индексирование для ускорения операций с xcode и не знал, что это остановит подсветку кода. Если вы сделали это, вы можете снова включить индексирование, введя это в терминале:

defaults write com.apple.dt.XCode IDEIndexDisable 0

если вы хотите отключить индексацию, введите это в терминал:

defaults write com.apple.dt.XCode IDEIndexDisable 1

Были такие же проблемы в Xcode 4.0.2. Смысл кода работал во всех, кроме двух файлах: одном .m-файле и соответствующем .h-файле. Перепробовал все - кроме пересоздания индекса смысла кода, потому что я нигде не мог найти кнопку - ничего не получалось. В конце я удалил связанные файлы, .m, .h и .xib. Созданы новые файлы, теперь все работает как положено.

В дополнение к тому, что мне пришлось сделать, нужно было нажать кнопку «Перестроить индекс смысла кода». кнопка. Это в нижней части "Общие" вкладка в Get Info о проекте.

Если вы заметили, что это происходит только с некоторыми вашими файлами, убедитесь, что файл .m является членом вашей цели.

Подсветка синтаксиса, автозаполнение, переход к файлам заголовков и т. д. полностью отключены для меня с XCode4. Мой символ навигатора полностью пуст. Не осознавая, насколько я зависел от автозаполнения, моя производительность снизилась в несколько раз. Что странно, так это то, что мои товарищи по команде видят различные комбинации отсутствующих функций - только мне повезло, что я все потерял. FWIW Я на последнем поколении MBP.

У меня была эта проблема только с одним из моих файлов .m, и после того, как я попробовал многое из вышеперечисленного, оказалось, что в какой-то момент XCode удалил расширение .m. Он по-прежнему указывался в навигаторе проекта как «Myclass.m», но при щелчке правой кнопкой мыши по нему и выборе «Показать в поиске» файл просто назывался «Myclass» (и был странным образом помещен в подпапку en.lproj!).

Удаление ссылки из навигатора проекта, переименование и перемещение файла и повторное добавление его в проект устранили мою проблему.

  

Поиск "GCC_INCREASE_PRECOMPILED_HEADER_SHARING" в настройках сборки   и измените его на ДА. - Это сработало для меня!

введите описание изображения здесь

Для меня сработало изменение компилятора на «LLVM Compiler 2.0».

Чувство кода работало для большинства файлов, за исключением файлов 3 или 4 .m / .h. Я перепробовал все выше, и единственное, что сработало для меня, было решение drct. Я закрыл xCode, переместил проект в другую папку и снова открыл.

Теперь я обнаружил, что если щелкнуть правой кнопкой мыши папку (или группу) в Навигаторе проектов и выбрать «Новый файл ...», Code Sense не работает.

Если вместо этого я использую главное меню и выбираю «Файл > > Новый > > Новый код 'смысл кода работает нормально.

Одна вещь, с которой я столкнулся сегодня и которая повлияла на раскраску кода, заключается в том, что я случайно добавил файл заголовка (.h) в Target - > Этапы сборки - > Компилировать источники. После удаления цвет кода волшебным образом вернулся :)

У меня была точно такая же проблема, но ничего из вышеперечисленного не помогло мне, в конце концов, мне пришлось открыть xcode, перейти на

File>Open Recent> Clear Menu

Это исправило проблему для меня, кажется, что когда я импортировал проект github, который испортил мой смысл кода после очистки последних и последующего открытия проекта, все работало нормально.

Иногда добавление многострочных комментариев в конце оператора @end в коде предотвращает автоматическое завершение в Xcode 6.0.1. Я была такая же проблема. Просто проверьте это.

Почему я снова счастлив:)

У меня была эта проблема, но когда-то перед тем, как я отключил процесс индексации XCode.

Решил, поместив эту команду в терминал. Надеюсь, это кому-нибудь поможет.

defaults write com.apple.dt.XCode IDEIndexDisable 0

И да, я использую Xcode 7.0

В моем случае, только один файл .m имеет эту проблему. Автозаполнение всплывает нормально, но это не все показывает. Например, когда я набираю «NS» тогда автозаполнение появляется только с «NSMutableDictionary». только и больше ничего нет! Я перепробовал все, искал везде 1 час +, но ничего не исправило.

Затем из любопытства я удалил блок комментариев, который вставил ранее в конец файла .m (ниже слова @end). После удаления автозаполнение снова работает как обычно!

Вот виновник: введите описание изображения здесь

Итак, если ваше автозаполнение завершится неудачно только для одного файла, возможно, вы захотите проверить это и удалить все, что находится ниже @end word.

Попробуйте закрыть и открыть IDE XCODE.

Для кого-то все еще не знаю почему. Откройте с помощью XCode 8.2 для меня. Кажется, новейший XCode получил эту проблему

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top