Код цвета кода кодирования xcode/не работает

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


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

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

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

Приветствуются любые идеи.

Ответ 1

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

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

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

Ответ 2

В Xcode 4 я также не смог найти кнопку "Сменить код", но если вы перейдете в Window → Organizer, выберите вкладку "Проект" и нажмите "Удалить..." рядом с Derived Data, похоже, имеет тот же эффект. (Я получил этот совет от http://blog.slidetorock.com/xcode-4-code-sense-autocompletion-problems, что указывает на то, что оно получило его по очереди от fooobar.com/questions/71163/... - но я не вижу его ни в одном из ответов. Очень любопытно.)

Ответ 3

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

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

Прекрасно работает. Подчеркивание и кодовое слово обратно ко мне! Иногда требуется Make Clean для поддержки работы.

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

Ответ 4

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

  • Перейдите в "Организатор" > "Проект" > "Удалить производные данные" из вашего текущего проект
  • Очистка и сборка
  • Закрыть и выйти из XCode и снова открыть проект
  • Синтаксическая раскраска становится хорошо после переопределения проекта

P.S.

  • LLVM Complier 3.0
  • Я использовал -fno-objc-arc Complier Flags для всех сторонних библиотек (например, ASIHTTPRequest)
  • Мой проект создан из XCode 4.2

Ответ 5

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

Ответ 6

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

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

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

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

Ответ 7

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

defaults write com.apple.dt.XCode IDEIndexDisable 0

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

defaults write com.apple.dt.XCode IDEIndexDisable 1

Ответ 8

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

Ответ 9

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

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

Чувство кода восстановлено.

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

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

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

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

Ответ 10

В дополнение к тому, что tewha мне пришлось нажать кнопку "Восстановить индекс кода". Он находится внизу вкладки "Общие" в разделе "Получить информацию о проекте".

Ответ 11

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

Ответ 12

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

Ответ 13

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

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

Ответ 14

Найти 'GCC_INCREASE_PRECOMPILED_HEADER_SHARING' в настройках сборки и измените его на YES. - Это сработало для меня!

enter image description here

Ответ 15

Что сработало для меня, это сменить компилятор на "LLVM Compiler 2.0".

Ответ 16

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

Теперь я нахожусь, если я щелкнул правой кнопкой мыши по папке (или группе) в Навигаторе проектов и выберите "Новый файл". Код Смысл не работает.

Если вместо этого я использую главное меню и выберите "Файл → Новый → Новый файл", код отлично работает.

Ответ 17

Одна вещь, с которой я столкнулся сегодня и которая повлияла на окраску кода, - это то, что я случайно добавил файл заголовка (.h) в Target → Build Phases → Compile Sources. После удаления цвет кода волшебным образом вернулся:)

Ответ 18

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

File>Open Recent> Clear Menu

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

Ответ 19

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

Ответ 20

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

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

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

defaults write com.apple.dt.XCode IDEIndexDisable 0

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

Ответ 21

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

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

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

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

Ответ 22

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

Ответ 23

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