Ich stelle fest, dass Objective-C-Code in Xcode 3.1 (Leopard) in verschiedenen Situationen nach dem Tippen möglicherweise keine geeignete Syntaxfarbe erhält oder die Farbe verliert, die er hatte.
Dies ist nicht nur ein "Aktualisierungs" -Problem mit neuen benutzerdefinierten Symbolen, sondern betrifft auch Kakao-Framework-Symbole.
Manchmal lässt CMD-a, um den gesamten Text auf der Codepage auszuwählen, die Färbung (erneut) erscheinen, manchmal funktioniert ein Doppelklick auf eine Zeile, um sie auszuwählen, manchmal muss ich ein Leerzeichen in einem Symbol hinzufügen / löschen, um dieses Symbol zu erhalten zu (neu) färben. Das erneute Erstellen oder Schließen / erneute Öffnen des Projekts kann funktionieren oder nicht.
Ist dies ein bekanntes Problem mit Xcode? Für etwas, das mich so nervt, finde ich nicht die zahlreichen Diskussionen darüber auf SO und anderswo, die ich erwarten würde.
Und gibt es einen Befehl, um das Umfärben der globalen Syntax zu erzwingen?
quelle
Antworten:
1.) Gehen Sie zu Projekt -> Build-Einstellungen -> Header-Suchpfade
2.) Fügen Sie "$ (SRCROOT) / **" hinzu.
3.) Schließen Sie das Projekt und laden Sie es erneut
4.) Gehen Sie zu Xcode -> Fenster -> Organizer -> Projekte -> $ YourProject -> Abgeleitete Daten löschen
5.) Warten Sie einen Moment, bis XCode alle Anzeigen neu erstellt hat
Um weitere Informationen zu erhalten, aktivieren Sie die ausführliche Protokollierung:
1.) Erhöhen Sie die Xcode-Protokollstufe in der Terminal-App: Standardmäßig schreiben Sie com.apple.dt.Xcode IDEIndexingClangInvocationLogLevel 3
2.) Öffnen Sie die Konsolen-App. Suche nach "xcode"
3.) Ich habe "Datei nicht gefunden" -Fehler für Header-Dateien gesehen, die in der pch-Datei erwähnt sind (daher das obige Update).
quelle
Ich hatte das gleiche Problem mit einem Projekt, das in Xcode 3 in Ordnung war und bei dem die Syntaxhervorhebung und die Code-Vervollständigung in Xcode 4 fehlerhaft waren. Ich brauchte die bessere Hälfte des Tages, um es herauszufinden, aber ich stellte fest, dass die folgenden Schritte funktionieren werden reproduzieren / beheben Sie das Problem 100% für mich.
Nachdem ich alle oben genannten Lösungen erfolglos ausprobiert hatte, versuchte ich, das Projekt von Grund auf neu zu erstellen und alle Dateien und Ordner sorgfältig neu zu importieren. Jedes Mal, wenn ich ein paar Dateien importierte, überprüfte ich, und die Syntaxhervorhebung funktionierte immer noch. Auch nach den letzten war es noch so. Dann habe ich Build erstellt, was fehlgeschlagen ist, weil ich vergessen habe, einige häufig verwendete Header-Dateien in die .pch-Datei des Projekts aufzunehmen, die im alten Projekt vorhanden waren. Und dann brach CodeSense erneut zusammen.
Nach weiteren Untersuchungen haben wir festgestellt, dass CodeSense beschädigt wird, wenn Sie eine Header-Datei importieren, die wiederum dieselbe Framework-Header-Datei importiert wie die .pch-Datei. Das gleiche Setup verursachte keine Probleme in Xcode 3.
Beispiel:
project.pch
projectConfig.h
Also durch Entfernen der völlig unnötigen
Direktive aus der 'projectConfig.h' können Sie die Hervorhebung korrigieren und die Code-Vervollständigung wird auch für Sie zurückkommen. Wenn Ihr Problem mit meinem identisch ist.
quelle
Wählen Sie einfach die Datei aus, die die Syntaxfarbe verloren hat, und drücken Sie Editor> Syntaxfarbe> (wählen Sie Ihre Sprache (z. B. Objective c ++) anstelle von 'Standard').
quelle
Ich habe festgestellt, dass der beste Weg, um die Syntaxfarbe wiederzuerlangen, darin besteht, Xcode zu beenden und neu zu starten. Ich konnte dir nicht sagen warum, aber das funktioniert jedes Mal.
quelle
Ich finde, dass das Folgende oft den Trick macht ...
Wählen Sie in "Build Settings" sowohl "Base SDK" als auch "Architecture" erneut aus. (Klicken Sie oben links auf das blaue Projektsymbol, während Sie sich im "Browsermodus" befinden, ⌘1und klicken Sie dann auf Projekteinstellungen, um dort mit den Dingen herumzuspielen .
Stellen Sie sicher, dass sie alle in einer Reihe stehen / es tut nicht weh, dort ein wenig herumzuschleudern , während Sie dort sind ... Sie wissen, mischen Sie es einfach ein bisschen durch. Sie werden feststellen, dass xCode einen winzigen Mini-Strich hat - jedes Mal, wenn Sie zwischen 64 und 32 Bit wechseln… In der Regel weiß ich, ob die Code-Hervorhebung für die Nacht tot ist oder ob ich bereit bin.
Oft habe ich ein Projekt, das im 32-Bit-Modus sofort hervorgehoben wird und nur in 64 sitzt ... Wer weiß ... Ahh, Xcode, du verrückter Pfusch.
quelle
Wählen Sie Ihr Projekt -> Registerkarte Build Settings -> Apple LLVM Language 5.0 -> Precompile Prefix Header auf YES. NSLog wurde nicht hervorgehoben. Derzeit läuft Xcode 5.0.1 Hoffe es hilft =) Danke @rebelzach
quelle
Ich kann eine 100% ige Lösung für dieses Problem bestätigen, basierend auf einer Frage, die ich gestellt (und tatsächlich beantwortet) habe, wie unten abgebildet. Eine Sache, die ich hinzufügen möchte, ist, dass es manchmal "fehlerhafte Leerzeichen" sind, die auch zum Verlust der Hervorhebung beitragen können. Bereinigen Sie es entweder selbst oder verwenden Sie das Plugin Goggle Toolbox für Mac Xcode 4, mit dem ein Eintrag im XCode-
Edit
Menü namens hinzugefügt wirdClean Up Whitespace
.quelle
Dies scheint ein ähnlicher Fehler aus dieser Frage zu sein
Ich war in der Lage , dieses Problem zu beheben , indem Sie
Precompile Prefix Header
aufNo
in den Build - Einstellungen.quelle
Ich hatte kürzlich ein ähnliches Problem. Alle Farben und die automatische Vervollständigung funktionierten nicht mehr für integrierte Frameworks. Meine eigenen Klassen funktionierten immer noch. Jemand hat mir empfohlen, "Static Analyzer ausführen" in den Build-Einstellungen zu deaktivieren. Es ist komisch, aber es hat funktioniert.
quelle
Für mich war es, dass ich mein Projekt und Tests umbenannt habe Ziel deutet noch auf die alte pch Lage, aber mein App Ziel auf den neuen zeigte.
Wenn Ihr App-Delegat immer noch Code-Sinn hat, kann dies auch für Sie der Fall sein. Gehen Sie in das Projekt, wählen Sie das Präfix 'Zielsuche' Tests 'aus und setzen Sie es auf den entsprechenden Wert im Ziel' App '.
quelle
Öffnen Sie die Projekteinstellungen ( Projekt> Projekteinstellungen bearbeiten ) und klicken Sie auf der Registerkarte Allgemein auf die Schaltfläche Code Sense Index neu erstellen . Dadurch wird der Index neu erstellt, den Xcode für die Syntaxfärbung verwendet.
Dieser Vorgang kann bei größeren Projekten eine Weile dauern, sodass Sie den Fortschritt im Aktivitätsfenster ( Fenster> Aktivitätsmenü ) überprüfen können .
quelle
Darüber hinaus gibt es in XCode4 keine Schaltfläche zum Neuerstellen des Code-Sense-Index.
quelle
Ich hatte das gleiche Problem und löste dieses Problem, indem ich meine Build-Einstellungen aktualisierte, um den Standard-Compiler des Systems, LLVM GCC 4.2, zu verwenden.
Es scheint, dass es mehrere Faktoren gibt.
quelle
Ich habe auch dieses Problem und habe versucht, die Lösungen entweder "Index neu erstellen", "XCode neu starten", "Compilereinstellung auf LLVM GCC 4.2 ändern". Die haben mir nicht geholfen.
Deshalb habe ich versucht, den folgenden Code sofort zusammen mit der neuen Erstellung der Header-Datei hinzuzufügen.
Dann wird der zuvor in der Header-Datei hinzugefügte Code eingefärbt und kann Klassen und andere Dinge erkennen.
Ich habe cocos2d-x verwendet, daher basiert meine Syntax auf c ++. Ich teste es allerdings noch nicht mit Objective-c.
quelle
Denn jemand weiß noch nicht warum. Mit XCode 8.2 öffnen lassen , es sollte funktionieren
quelle