Zauważyłem, że w różnych sytuacjach kod Objective-C w Xcode 3.1 (Leopard) może nie uzyskać odpowiedniego kolorowania składni po wpisaniu lub stracić kolorystykę, którą miał.
Problem ten nie dotyczy tylko „odświeżania” nowych symboli niestandardowych, ale dotyczy również symboli struktury Cocoa.
Czasami CMD-a, aby zaznaczyć cały tekst na stronie kodowej, spowoduje pojawienie się (ponownego) kolorowania, czasami dwukrotne kliknięcie linii, aby ją zaznaczyć, zadziała, czasami muszę dodać / usunąć spację w symbolu, aby uzyskać ten symbol do (ponownego) koloru. Przebudowa lub zamknięcie / ponowne otwarcie projektu może, ale nie musi, działać.
Czy to znany problem z Xcode? Jeśli chodzi o coś tak irytującego, nie znajduję wielu dyskusji na ten temat w SO i innych miejscach, których bym się spodziewał.
Czy jest jakieś polecenie wymuszające globalne ponowne kolorowanie składni?
źródło
Odpowiedzi:
1.) Przejdź do Project -> Build Settings -> Header Search Paths
2.) Dodaj „$ (SRCROOT) / **”
3.) Zamknij i ponownie załaduj projekt
4.) Idź do Xcode -> Okno -> Organizator -> Projekty -> $ YourProject -> Usuń pochodne dane
5.) Poczekaj chwilę, aż XCode odbuduje wszystkie wskazania
Aby uzyskać więcej informacji, aktywuj szczegółowe rejestrowanie:
1.) Zwiększ poziom dziennika Xcode w aplikacji Terminal: domyślnie napisz com.apple.dt.Xcode IDEIndexingClangInvocationLogLevel 3
2.) Otwórz aplikację Console. Wyszukaj „xcode”
3.) Widziałem błąd „nie znaleziono pliku” dla plików nagłówkowych wymienionych w pliku pch (stąd poprawka powyżej)
źródło
Miałem ten sam problem z projektem, który był w porządku w Xcode 3 i dla którego podświetlanie składni i uzupełnianie kodu zepsuło się w Xcode 4. Zajęło mi to większą połowę dnia, zanim to rozgryzłem, ale stwierdziłem, że poniższe kroki odtworzyć / naprawić problem w 100% dla mnie.
Po wypróbowaniu wszystkich wyżej wymienionych rozwiązań bezskutecznie, próbowałem stworzyć projekt od zera i skrupulatnie ponownie zaimportować każdy plik i folder. Za każdym razem, gdy importowałem kilka plików, sprawdzałem i podświetlanie składni nadal działało. Nawet po kilku ostatnich z nich nadal tak było. Następnie trafiłem na kompilację, która się nie powiodła, ponieważ zapomniałem dołączyć kilka typowych plików nagłówkowych do pliku .pch projektu, które znajdowały się w starym projekcie. I wtedy CodeSense znów się zepsuł.
Po dalszych badaniach odkryliśmy, że jeśli zaimportujesz plik nagłówkowy, który z kolei importuje ten sam plik nagłówkowy platformy, co już robi .pch, CodeSense ulegnie awarii. Ta sama konfiguracja nie spowodowała żadnych problemów w Xcode 3.
Przykład:
project.pch
#import <Foundation/Foundation.h> #import "projectConfig.h"
projectConfig.h
#import <Foundation/Foundation.h> #import "one.h" #import "two.h"
A więc usuwając całkowicie niepotrzebne
#import <Foundation/Foundation.h>
dyrektywy z 'projectConfig.h' możesz naprawić podświetlanie, a uzupełnianie kodu również wróci. To znaczy, jeśli twój problem jest taki sam jak mój.
źródło
Po prostu wybierz plik, który utracił kolorowanie składni, naciśnij Edytor> Kolorowanie składni> (wybierz swój język (Objective c ++ for ex) zamiast „Default”
źródło
Odkryłem, że najlepszym sposobem na odzyskanie kolorowania składni jest po prostu zamknięcie Xcode i ponowne uruchomienie. Nie mogłem ci powiedzieć dlaczego, ale to działa za każdym razem.
źródło
Uważam, że poniższe rozwiązania często wystarczają …
„Wybierz ponownie” zarówno „Podstawowy SDK” - jak i „Architektura” - w „Ustawieniach kompilacji”. (Kliknij niebieską ikonę projektu w lewym górnym rogu, będąc w „trybie przeglądarki”, aka ⌘1, a następnie kliknij ustawienia projektu i pomieszaj tam.
Upewnij się, że wszyscy ustawiają się w kolejce / nie zaszkodzi zrobić trochę toggly-wogggating tam, kiedy tam jesteś… wiesz, po prostu trochę to pomieszaj. Zauważysz, że xCode ma malutki mini-skok - za każdym razem, gdy przełączasz się między 64 a 32 bitami… Dzieje się tak zwykle, gdy wiem, czy podświetlanie kodu jest martwe na noc, czy też mogę iść.
Często będę mieć projekt, który jest podświetlany natychmiast w trybie 32-bitowym i po prostu siedzi tam w 64… Kto wie… Ahh, Xcode, ty głupi głupku.
źródło
Wybierz swój projekt -> zakładka Ustawienia kompilacji -> Język Apple LLVM 5.0 -> Prekompiluj nagłówek prefiksu na TAK. NSLog nie wyróżniał. Obecnie działa Xcode 5.0.1 Mam nadzieję, że to pomaga =) Dzięki @rebelzach
źródło
Mogę potwierdzić 100% rozwiązanie tego problemu na podstawie pytania, które zadałem (i faktycznie odpowiedziałem), jak pokazano poniżej. Jedną rzeczą, którą dodam, jest to, że czasami są to „błędne białe znaki”, które mogą również przyczyniać się do utraty podświetlenia. Możesz to wyczyścić samodzielnie lub skorzystać z wtyczki Goggle Toolbox for Mac Xcode 4, która dodaje wpis w
Edit
menu XCode o nazwieClean Up Whitespace
.źródło
Wydaje się, że jest to podobny błąd z tego pytania
Udało mi się rozwiązać ten problem przez ustawienie
Precompile Prefix Header
sięNo
w ustawieniach kompilacji.źródło
Niedawno miałem podobny problem, wszystkie funkcje kolorowania i autouzupełniania przestały działać dla wbudowanych frameworków, moje własne klasy nadal działały. Ktoś mi zalecił wyłączenie opcji „Uruchom Analizator Statyczny” w ustawieniach kompilacji. To dziwne, ale zadziałało.
źródło
Dla mnie było to, że zmieniłem nazwę mojego projektu i Testy cel nadal wskazywał na starą lokalizację pch, ale cel mojej aplikacji wskazywał na nowy.
Jeśli delegat aplikacji nadal ma wyczucie kodu, może tak być również w Twoim przypadku. Przejdź do projektu, wybierz prefiks wyszukiwania docelowego „Testy” i ustaw go na równoważną wartość w celu „aplikacja”.
źródło
Otwórz ustawienia projektu ( menu Projekt> Edytuj ustawienia projektu ), a następnie kliknij przycisk Odbuduj indeks wyczuwania kodu w sekcji Ogólne karcie . Spowoduje to odtworzenie indeksu używanego przez Xcode do kolorowania składni.
W przypadku większych projektów ten proces może trochę potrwać, więc postęp można sprawdzić w oknie Czynność ( menu Okno> Czynność ).
źródło
Co więcej, w XCode4 nie ma przycisku do odbudowy indeksu wyczuwania kodu.
źródło
Miałem ten sam problem i rozwiązałem go, aktualizując ustawienia kompilacji, aby używały domyślnego kompilatora systemu, LLVM GCC 4.2.
Wydaje się, że jest wiele czynników.
źródło
Ja również napotykam ten problem i wypróbowałem rozwiązania: „odbudowanie indeksu”, „ponowne uruchomienie XCode”, „zmiana ustawień kompilatora na LLVM GCC 4.2”. To mi nie pomogło.
Próbowałem więc od razu dodać następujący kod wraz ze świeżym utworzeniem pliku nagłówkowego.
#include "header.h" using namespace cocos2d
Następnie kod dodany wcześniej w pliku nagłówkowym jest kolorowany i może rozpoznawać klasy i inne rzeczy.
Użyłem cocos2d-x, więc moja składnia jest oparta na C ++. Nie testuję tego jeszcze z Objective-c.
źródło
Bo ktoś wciąż nie wie dlaczego. Otwórz z XCode 8.2 , powinno działać
źródło