Xcode: le code perd la coloration de la syntaxe

Je trouve que dans diverses situations, le code Objective-C dans Xcode 3.1 (Leopard) peut ne pas obtenir la coloration de syntaxe appropriée après avoir tapé ou perdu la couleur qu’il avait.

Ce n’est pas simplement un problème de “rafraîchissement” avec les nouveaux symboles personnalisés – mais affecte également les symboles du framework Cocoa.

Parfois, CMD-a pour sélectionner tout le texte sur la page de codes fera apparaître la couleur (re), parfois en double-cliquant sur une ligne pour la sélectionner, cela va parfois, je dois parfois append / supprimer un espace dans un symbole pour obtenir ce symbole à (re) couleur. La reconstruction ou la fermeture / réouverture du projet peut ou peut ne pas fonctionner.

Est-ce un problème connu avec Xcode? Pour quelque chose de si ennuyant pour moi, je ne trouve pas les discussions abondantes sur SO et ailleurs.

Et existe-t-il une commande pour forcer la recoloration de la syntaxe globale?

1.) Allez dans Projet -> Paramètres de construction -> Chemins de recherche d’en-tête

2.) Ajouter “$ (SRCROOT) / **”

3.) Fermez et rechargez le projet

4.) Aller à Xcode -> Fenêtre -> Organiseur -> Projets -> $ YourProject -> Supprimer les données dérivées

5.) Attendez un moment que XCode reconstruise tous les indices


Pour obtenir plus d’informations, activez la journalisation détaillée:

1.) Augmentez le niveau de consignation Xcode dans l’application Terminal: les valeurs par défaut écrivent com.apple.dt.Xcode IDEIndexingClangInvocationLogLevel 3

2.) Ouvrez l’application Console. Recherche de “xcode”

3.) J’ai vu les erreurs “fichier introuvable” pour les fichiers d’en-tête mentionnés dans le fichier pch (donc le correctif ci-dessus)

J’ai eu le même problème avec un projet qui était bien dans Xcode 3 et pour lequel la mise en évidence de la syntaxe et la complétion du code ont échoué dans Xcode 4. Il m’a fallu la moitié de la journée pour comprendre reproduire / réparer le problème à 100% pour moi.

Après avoir essayé toutes les solutions susmentionnées sans succès, j’ai essayé de créer le projet à partir de zéro et de réimporter chaque fichier et dossier minutieusement. Chaque fois que j’ai importé quelques fichiers, j’ai vérifié et la coloration syntaxique fonctionnait toujours. Même après quelques-uns d’entre eux, c’était toujours le cas. Ensuite, j’ai cliqué sur build qui a échoué car j’ai oublié d’inclure quelques fichiers d’en-tête communs dans le fichier .pch du projet qui se trouvaient dans l’ancien projet. Et c’est à ce moment-là que CodeSense a cassé à nouveau.

Après un examen plus approfondi, nous avons constaté que si vous importez un fichier d’en-tête qui à son tour importe le même fichier d’en-tête que le fichier .pch, alors CodeSense se cassera. La même configuration n’a causé aucun problème dans Xcode 3.

Exemple:

project.pch

#import  #import "projectConfig.h" 

projectConfig.h

 #import  #import "one.h" #import "two.h" 

Donc, en supprimant tout à fait inutile

 #import  

directive du ‘projectConfig.h’ vous pouvez corriger la mise en évidence et la complétion du code reviendra aussi pour vous. Si votre problème est le même que le mien, c’est que.

Sélectionnez simplement le fichier qui a perdu la coloration de la syntaxe, appuyez sur Editeur> Coloration de la syntaxe> (choisissez votre langue (Objective c ++ for ex) au lieu de «Default»).

J’ai trouvé que le meilleur moyen de retrouver la coloration syntaxique est de quitter Xcode et de le relancer. Je ne peux pas vous dire pourquoi, mais ça marche à chaque fois.

Je trouve que ce qui suit fera souvent l’affaire…

“Resélectionnez” à la fois “Base SDK” – et “Architecture” – dans “Build Settings”. (Cliquez sur l’icône bleue du projet en haut à gauche, tandis que dans le “Mode navigateur”, alias 1 , cliquez ensuite sur les parameters du projet et utilisez les éléments correspondants.

Assurez-vous qu’ils soient tous alignés / ça ne fait pas mal de faire un petit peu de bêtise là- bas, pendant que vous êtes là… vous savez, mélangez un peu. Vous remarquerez que xCode a un minuscule minuscule – chaque fois que vous passez de 64 à 32 bits… C’est généralement quand je sais si la mise en évidence du code est morte pour la nuit ou si je suis prêt à partir.

Souvent, je vais avoir un projet qui est mis en évidence instantanément en mode 32 bits, et qui se trouve juste en 64… Qui sait .. Ahh, Xcode, tu es fou.

Sélectionnez votre projet -> onglet Paramètres de construction -> Apple LLVM Language 5.0 -> en-tête de préfixe de précompilation sur YES. NSLog n’était pas en surbrillance. Xcode 5.0.1 actuellement en cours d’utilisation J’espère que ça aide =) Merci @rebelzach

Je peux confirmer un correctif à 100% pour ce problème, basé sur une question que j’ai posée (et à laquelle j’ai effectivement répondu), comme illustré ci-dessous. Une chose que j’appendai est que parfois, ce sont les «espaces vides» qui peuvent consortingbuer à la perte de la mise en évidence. Nettoyez-le vous-même ou utilisez le plug-in Xcode 4 de Goggle Toolbox for Mac , qui ajoute une entrée dans le menu XCode Edit appelé Clean Up Whitespace .

entrer la description de l'image icientrer la description de l'image ici

Cela semble être une erreur similaire de cette question

J’ai pu corriger ce problème en définissant Precomstack Prefix Header sur No dans les parameters de construction.

J’ai récemment eu un problème similaire, toutes les couleurs et l’autocomplétion ont cessé de fonctionner pour les frameworks intégrés, mes propres classes fonctionnaient toujours. Quelqu’un m’a recommandé de désactiver “Run Static Analyzer” dans les parameters de construction. C’est bizarre, mais ça a marché.

Pour moi, c’est que j’ai renommé mon projet, et la cible des tests indiquait toujours l’ancien emplacement de pch, mais ma cible d’application pointait vers la nouvelle.

Si votre délégué d’application a toujours le bon sens du code, cela pourrait être le cas pour vous aussi. Allez dans le projet, sélectionnez le préfixe de recherche cible “Tests” et définissez-le sur la valeur équivalente dans la cible “app”.

Ouvrez les parameters du projet ( Projet> Menu Modifier les parameters du projet ), puis cliquez sur le bouton Recréer l’index de détection du code dans l’onglet Général . Cela va recréer l’index que Xcode utilise pour la coloration de la syntaxe.

Ce processus peut prendre un certain temps pour les projets plus importants, vous pouvez donc vérifier la progression dans la fenêtre Activité ( Fenêtre> Menu Activité ).

De plus, dans XCode4, il n’y a pas de bouton pour reconstruire l’index de détection de code.

J’ai eu le même problème et résolu ce problème en mettant à jour mes parameters de compilation pour utiliser le compilateur par défaut du système, LLVM GCC 4.2.

Il semble y avoir plusieurs facteurs.

J’éprouve également ce problème et j’ai essayé les solutions soit “reconstruire l’index”, “relancer XCode”, “modifier le paramètre du compilateur sur LLVM GCC 4.2”. Ceux-ci ne m’ont pas aidé.

J’ai donc essayé d’append immédiatement le code suivant avec la nouvelle création du fichier d’en-tête.

 #include "header.h" using namespace cocos2d 

Ensuite, le code ajouté précédemment dans le fichier d’en-tête est colorisé, et il peut reconnaître des classes et d’autres éléments.

J’ai utilisé cocos2d-x, donc ma syntaxe est basée sur c ++. Je ne le teste pas encore avec Objective-c.

Pour quelqu’un encore ne sais pas pourquoi. Laissez s’ouvrir avec XCode 8.2 , ça devrait marcher