it-swarm.com.de

xcode code sense color/Vervollständigung funktioniert nicht

EDIT: Dies ist seltsam ... wenn ich im Begrüßungsbildschirm auf das Element "Letzte Projekte" doppelklicken, funktionieren Code Sense und Coloring einwandfrei, aber wenn ich einfach auf Open (unten rechts im Begrüßungsbildschirm) klicke, dann tut nicht Das Öffnen von File > Recent projects funktioniert auch nicht und auch kein Doppelklicken auf die .xcodeproj-Datei im Finder.


Code-Sinn für ein iPhone OS 3.0-Projekt, an dem ich seit mehreren Monaten arbeite (durch verschiedene Installationen/Versionen von XCode), funktioniert nicht mehr. Wenn ich zum Beispiel NSString *myString mache, wäre der gesamte Code schwarz (keine Farbgebung, keine Option + Doppelklick, kein Code-Abschluss). Code Sense "funktioniert" nur für meine eigenen Klassen/Methoden/Eigenschaften, jedoch nicht für die SDK-Klassen. Wenn ich ein neues Projekt von Grund auf erstelle, funktionieren alle diese.

Ich habe bereits versucht, das "Base SDK für alle Konfigurationen" in diesem Projekt zu ändern. Ich habe bereits versucht, "Code Sense Index neu aufzubauen". Ich habe bereits "Clean All Targets" ausprobiert.

Die Dokumentation in den Voreinstellungen ist vollständig heruntergeladen und funktionsfähig. Wenn ich zum Beispiel die Variable NSString auswähle und mit der rechten Maustaste klicken -> Text in der Dokumentation suchen, erhalte ich das Fenster mit allen Verweisen auf die Klasse.

Alle Ideen werden sehr geschätzt.

68
mga

Holen Sie sich Informationen über das Projekt in Xcode und ändern Sie das Projektformat entsprechend der von Ihnen verwendeten Xcode-Version (ab diesem Zeitpunkt "Xcode 3.2-kompatibel").

Sie können die abgeleiteten Daten auch löschen, aber wenn Sie Ihr Projektformat nicht aktualisiert haben, tritt der Fehler fast sofort wieder auf. (Es kann passieren, auch nachdem Ihr Projektformat aktualisiert wurde, aber ich musste DerivedData mehrmals am Tag löschen, und ich denke, ich habe es nur einmal gemacht, seit ich das Projekt repariert habe.)

Wie an anderer Stelle erwähnt, kann der Wechsel zu LLVM hilfreich sein. Aber wenn ich diese Antwort aktualisiere (2012), sollten Sie trotzdem LLVM verwenden.

10
Steven Fisher

In Xcode 4 konnte ich auch keine Schaltfläche "Code Sense neu erstellen" finden. Wenn Sie jedoch auf Fenster -> Organizer gehen, wählen Sie die Registerkarte "Projekt" und klicken Sie neben dem Ordner "Abgeleitete Daten" auf "Löschen ..." Es scheint den gleichen Effekt zu haben. (Ich habe diesen Tipp von http://blog.slidetorock.com/xcode-4-code-sense-autocompletion-problems erhalten, was darauf hinweist, dass er es von https://stackoverflow.com erhielt/questions/2138047/xcode-code-loses-syntax-coloring - aber ich sehe es in keiner der Antworten dort. Sehr neugierig.)

204
Arkaaito

Die Syntaxfärbung funktioniert zurück, nachdem ich die folgenden Schritte ausgeführt habe:

  • Gehen Sie zu Organizer> Projekt> Abgeleitete Daten aus Ihrem aktuellen Projekt löschen
  • Reinigen und bauen
  • Schließen Sie, beenden Sie XCode und öffnen Sie das Projekt erneut
  • Die Syntaxfärbung wird nach der Neuindizierung des Projekts gut

P.S.

  • LLVM-Complier 3.0
  • ich habe -fno-objc-arc-Complier-Flags für alle Drittanbieter-Bibliotheken verwendet (z. B. . ASIHTTPRequest)
  • Mein Projekt wird aus XCode 4.2 erstellt
36
karlogeo

Führen Sie bei Bedarf jedes Mal ein Terminal aus

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

Funktioniert gut. Hervorheben und Codesense zurück zu mir!.

note: Wie ich sehe, entfernen Sie Snapshost und andere Xcode4-Funktionen. Aber wir benutzen es nicht :)

35
Sergey Kopanev

Ich hatte das gleiche Problem in Xcode 4 und löste es, indem ich den Compiler von GCC 4.2 auf LLVM GCC 4.2 umstellte.

12
Thomas Müller

Ich habe einen Weg gefunden, diesen Fehler zu vermeiden. Ich habe gesehen, dass der Fehler jedes Mal auftritt, wenn ich eine Datei modifiziere, die in prefix.pch importiert wird.

Versuchen Sie, Ihre eigene Datei oben in der importierten Liste über UIKit.h und Fonudation.h zu importieren, und NICHT am Ende, wie es bei jedem der Fall ist.

In meiner Datei prefix.pch:

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

Ich hatte auch dieses Problem. Ich hatte zuvor die Indizierung deaktiviert, um die Xcode-Vorgänge zu beschleunigen, und zu dem Zeitpunkt war mir nicht klar, dass einige Code-Hervorhebungen gestoppt werden würden. Wenn Sie dies getan haben, können Sie die Indizierung wieder aktivieren, indem Sie Folgendes in terminal eingeben:

defaults write com.Apple.dt.XCode IDEIndexDisable 0

wenn Sie die Indizierung deaktivieren möchten, geben Sie Folgendes in das Terminal ein:

defaults write com.Apple.dt.XCode IDEIndexDisable 1
4

Es scheint eine Unzahl von vorgeschlagenen Ursachen und Lösungen für dieses Problem zu geben, und ich denke, ich habe die Mehrheit von ihnen ausprobiert. Was schließlich für mich (in Xcode 4.1) funktionierte, war:

  • verweise auf die Problemdateien im Projektnavigator löschen
  • verschieben Sie die Problemdateien aus dem Projektordner im Finder
  • zurück im Projektnavigator, klicken Sie mit der rechten Maustaste und wählen Sie Dateien hinzufügen zu ... 
  • finden Sie die Dateien, die ich gerade verschoben habe, und fügen Sie sie wieder dem Projekt hinzu. Stellen Sie dabei sicher, dass "Elemente in den Zielgruppenordner kopieren (falls erforderlich)" ausgewählt wurde.

Code Sense wiederhergestellt.

Um genau zu sein, mein genaues Problem ist, dass ich, wenn ich eine neue Klasse mit einem Rechtsklick im Projektnavigator erstelle, etwa 30 - 40% des Timecode-Sinns in der Header-Datei der neuen Klasse nicht funktioniert. Interessanterweise funktioniert es bei der Implementierung.

Dinge, die ich ausprobiert habe, sind fehlgeschlagen:

  • ordner mit abgeleiteten Daten im Organizer löschen
  • ordner mit abgeleiteten Daten im Finder löschen
  • eine komplett neue Klasse erstellen (warum dies nicht funktioniert hat, habe ich keine Ahnung.)
  • Ändern der Sprache für die Syntaxfärbung
  • mehrmals den Compiler in und aus allen Optionen ändern
  • angabe eines bestimmten Headers-Suchpfads

Ich würde mich über andere mögliche Vorschläge freuen, um diesem Problem ein Ende zu setzen, denn es ist wirklich nervig!

4
GnarlyDog

Hatte die gleichen Probleme in Xcode 4.0.2. Code Sense funktionierte in bis auf zwei Dateien, einer .m-Datei und der entsprechenden .h-Datei. Habe alles ausprobiert - außer den Code-Sense-Index neu aufzubauen, da ich den Button nirgendwo finden konnte - nichts hat funktioniert. Am Ende habe ich die korrelierten Dateien, .m, .h und .xib gelöscht. Neue Dateien erstellt, jetzt funktioniert alles wie erwartet.

3
drct

Wenn Sie feststellen, dass dies nur für einige Ihrer Dateien der Fall ist, stellen Sie sicher, dass die .m-Datei Mitglied Ihres Ziels ist.

2
Andy

Zusätzlich zu dem, was ich getan habe, musste ich auf die Schaltfläche "Code Sense Index neu erstellen" klicken. Es befindet sich am unteren Rand der Registerkarte "Allgemein" unter Informationen zum Projekt.

2
kolinko

Syntaxfärbung, automatische Vervollständigung, das Springen in Header-Dateien usw. ist seit XCode4 für mich völlig kaputt. Meine Symbolnavigatoransicht ist vollständig leer. Ich hatte nicht gemerkt, wie abhängig ich von der automatischen Vervollständigung geworden war, und meine Produktivität ist um einen Faktor gesunken. Merkwürdig ist, dass meine Teamkollegen verschiedene Kombinationen fehlender Funktionen sehen - nur ich habe das Glück, alles verloren zu haben. FWIW Ich bin auf der neusten Generation MBP. 

1
Sunil Gowda

Ich hatte dieses Problem nur in einer meiner .m-Dateien, und nachdem ich einige der oben genannten Dinge ausprobiert hatte, stellte sich heraus, dass XCode die .m-Erweiterung irgendwann entfernt hatte. Es wurde immer noch im Projektnavigator als "Myclass.m" aufgelistet. Wenn Sie jedoch mit der rechten Maustaste darauf klicken und "Im Finder anzeigen" wählen, wurde die Datei "Myclass" genannt (und wurde seltsam im Unterordner en.lproj abgelegt!).

Das Entfernen der Referenz aus dem Projektnavigator, das Umbenennen und Verschieben der Datei sowie das erneute Hinzufügen zum Projekt haben das Problem behoben.

1
MarkusEkblad

Suchen Sie in den Build-Einstellungen nach 'GCC_INCREASE_PRECOMPILED_HEADER_SHARING' und ändern Sie es in JA. - Das hat bei mir funktioniert!

enter image description here

1
thatzprem

Das Hinzufügen von mehrzeiligen Kommentaren am Ende der @ end-Anweisung im Code verhindert manchmal die automatische Vervollständigung in Xcode 6.0.1. Ich hatte das gleiche Problem. Schau es dir einfach an ..

0
Dhaval H. Nena

Code Sense funktionierte für die meisten Dateien mit Ausnahme von 3 oder 4 .m/.h-Dateien. Ich habe alles oben ausprobiert und das einzige, was für mich funktionierte, war die Lösung von drct. Ich habe xCode geschlossen, das Projekt in einen anderen Ordner verschoben und wieder geöffnet. 

Ich finde jetzt, wenn ich im Projektnavigator mit der rechten Maustaste auf einen Ordner (oder eine Gruppe) klicke und "Neue Datei" auswähle. Code Sense funktioniert nicht.

Wenn ich stattdessen das Hauptmenü verwende und "Datei >> Neu >> Neue Datei" wähle, funktioniert der Code Sense einwandfrei.

0
Niall

Ich hatte genau das gleiche Problem, aber keines der oben genannten Probleme funktionierte für mich. Am Ende musste ich xcode öffnen 

File>Open Recent> Clear Menu

Das Problem wurde für mich behoben. Nachdem ich ein Github-Projekt importiert hatte, das mein Code-Gefühl nach dem Löschen der Recents und dem erneuten Öffnen des Projekts beschädigt hatte, funktionierte alles gut.

0

Was für mich funktionierte, war das Ändern des Compilers in "LLVM Compiler 2.0". 

0
Chris Livdahl

Eine Sache, die ich heute angetroffen habe und die die Codefarbe beeinflusst hat, ist, dass ich versehentlich eine Headerdatei (.h) in Target -> Build Phases -> Compile Sources hinzugefügt habe. Einmal entfernt, kam die Codefarbe magisch zurück :) 

0
Marko Hlebar

In meinem Fall hat nur eine .m-Datei dieses Problem. Die Autovervollständigung wird gut angezeigt, aber es wird nicht alles angezeigt. Wenn ich beispielsweise "NS" eingebe, erscheint Autocomplete nur mit "NSMutableDictionary" und es gibt nichts anderes! Ich habe alles ausprobiert, 1 Stunde lang überall gesucht + aber nichts wurde behoben.

Dann habe ich aus Neugier einen Kommentarblock gelöscht, den ich am Ende der .m-Datei (unter dem @end-Wort) eingefügt habe. Nach dem Löschen funktioniert Autocomplete wieder normal!

Hier ist der Täter:  enter image description here

Wenn Ihre Autovervollständigung nur für eine Datei fehlschlägt, möchten Sie dies vielleicht überprüfen und alles unter @end Word löschen.

0
GeneCode

Versuchen Sie, die XCODE-IDE zu schließen und zu öffnen.

0
idanuda

Warum bin ich wieder glücklich :)

Ich hatte dieses Problem, aber vor der Deaktivierung des XCode-Indexierungsprozesses.

Es wurde behoben, indem dieser Befehl im Terminal abgelegt wurde. Ich hoffe es hilft jemandem.

defaults write com.Apple.dt.XCode IDEIndexDisable 0

Und ja, ich verwende Xcode 7.0

0