Xcode 4: l'Auto-complétion & Saut à la Définition cassé dans mon Projet Xcode 3
Mon projet a été créé dans Xcode 3, je l'ouvre dans Xcode 4 et avis la suivante:
- "Saut à la Définition de" ne fonctionne plus avec mes propres symboles (Cependant l'INTERFACE utilisateur* et même TT* les symboles de faire le travail très bien!)
- Auto-complète /Code 'sens' est aussi mauvais que Xcode 3, c'est à dire, il suggère tout
- Mes projets de classes n'apparaissent pas dans la classe navigator (Encore une fois, le système et les Three20 classes ne se montrer!)
Lors de la création d'un nouveau Xcode 4 projet cependant, ces caractéristiques ne l'air de fonctionner. Malheureusement, la seule solution semble être de recréer le projet et de tout réimporter. Ce projet est trop grand!
Choses que j'ai essayé:
- Supprimant les données dérivées de l'organisateur
- De nettoyage le projet
- De l'installation de Xcode 4 Gold Master et les versions Finales
Mise à jour
- Ce bug a pas été résolu dans Xcode 4.0.1.
- J'ai ce problème aussi bien avoir essayé de réindexation en vain. Toute personne en mesure de proposer quelque chose d'autre?
- Même problème. Fonctionne très bien pour les nouveaux/spall projets, mais à mon, gros projet, il fonctionne mal.
- semble comme de petits projets fonctionnent très bien
- J'ai ce problème aussi bien, semble encore être un problème dans 4.0.2 trop.
- Moi aussi sur 4.0.2 - travaux pendant 10 à 20 minutes à la fois, puis la saisie semi-automatique ne pouvez même pas trouver les classes de base de plus. La construction, le nettoyage, le redémarrage de Xcode aide de 50% du temps, l'autre moitié du temps, il est de retour après 10 à 20 minutes de moi travailler sans la saisie semi-automatique.
- J'ai juste mis à niveau à partir de la version 4.0.3 de l'actuelle version de Xcode (4.2 de cette écriture), et ma saisie semi-automatique problèmes ont disparu.
- FWIW, j'ai fait un alias pour toucher l'auto inclus préfixe en-tête qui corrige toujours les choses. Je l'appelle "pch_touch" et de l'ajouter à mes .bashrc / .de profil. Sorte de triste et de ghetto, mais bon, il fait le travail. alias pch_touch='touch /chemin/vers/votre/apps/Préfixe.pch' Dans environ 1 à 2 secondes de toucher le pch du fichier, la coloration de la syntaxe revient sur, ce qui est un signe de complétion de code et de saut sera maintenant de travailler trop.
- Double de stackoverflow.com/questions/1627033/... ?
Vous devez vous connecter pour publier un commentaire.
Dans notre cas, le coupable s'est avéré être l'ancienne version de la three20 libs. Pour obtenir de travail sur le projet, j'ai dû:
Dès que la nouvelle bibliothèque a été installée, xcode4 automatiquement réindexée. La complétion de Code, saut à la définition et à même de Refactoriser tous les travaux maintenant. La Joie(tm) de travailler avec Xcode est de retour! 🙂
En termes plus généraux, toute bibliothèque qui met fichiers d'en-tête dans BUILT_PRODUCT_DIR est susceptible d'avoir des problèmes similaires.
Sur Fenêtre Menu:
Une petite astuce de l'autre de répondre:
Ce qui a fonctionné pour moi quand j'ai perdu xcodes super joli code allusion était:
Fenêtre(menu) -> Organiseur(menu) -> Projets(onglet)
puis
Appuyez sur supprimer les Données Dérivées (c'est la même chose que d'aller dans le dossier et de le supprimer manuellement)
MAIS!!!!! à cette étape, ne pas reconstruire mais arrêtez xcode et rouvrir des du projet. Cela a fonctionné pour moi.
J'ai eu le même problème dans XCode 4 version finale aujourd'hui, en travaillant avec mes vieux XCode 3 du projet. Le problème est lié à un indice de symboles que XCode crée. Il doit créer un nouvel index pour vous automatiquement, mais il semble prendre beaucoup de temps dans XCode 4. Une solution possible est d'aller dans ~/Bibliothèque/Développeur/Xcode/DerivedData et supprimer l'ancien indice. Redémarrez XCode, et vous devriez le voir à l'indexation. Pour "faire le Saut "de Définition", vous pouvez maintenir enfoncée la commande et de la souris sur une méthode ou un nom de classe, et vous devriez voir le bleu souligne, comme des liens hypertexte. Ensuite, vous pouvez cliquer sur pour passer à la définition.
EDIT:
Il semble que si vous avez un en-tête personnalisé chemins de recherche à l'appui de plusieurs cibles avec le code partagé XCode 4, l'indexation pause, puis assistant et codesense avec elle. J'ai soulevé ce que #ID 9182099 avec Apple. Il y a aussi une question que si vous avez des divergences entre le projet global et de cibler des paramètres de construction de l'indice n'a pas effectué correctement. Assurez-vous que vos paramètres de construction sont conformes.
Je viens d'avoir ce problème dans un très grand, multi-cible commerciale du projet. Comme un supplément de la douleur tous les fichiers xib ne serait pas montrer le contrôleur de l'assistant de vue, et aucun de la sous-classe/super-classe/fratrie/catégories assistant de vue travail.
Après beaucoup de recherches et d'expérimentation à la suppression de l'index, etc j'ai été obligé de créer un nouveau projet vide et tout réimporter. Je sais que vous avez dit que votre projet est trop gros pour cela, mais je ne pense pas qu'il y est une autre option disponible. À la fin, il m'a fallu plus d'un jour à migrer mon projet complètement. Je suppose que vous pourriez détenir sur, j'espère, pour une résolution à l'avenir dans un point de presse, mais j'ai choisi de mordre la balle maintenant pour bénéficier des augmentations de la productivité de toutes les nouvelles fonctionnalités.
Pour atteindre ce que je créé un nouveau "vide" projet manuellement, puis recréé les cibles dont j'avais besoin. J'ai ensuite supprimé de la source et de .des fichiers plist pour les nouvelles cibles me laissant de nouveau avec un projet vide avec trois cibles dont j'avais besoin.
Je le puis sélectionné "ajouter des fichiers.." pour le projet, un dossier à la fois de se lier à la cible en tant que de besoin. Je me suis arrêté et construit chaque cible comme il a été importé pour traiter toutes les erreurs du compilateur que la dernière clang m'a donné.
Si vous avez un groupe complexe de la hiérarchie qui n'est pas mappé à un dossier du système de fichiers de la structure, alors vous aurez besoin de recréer les groupes après l'importation ou de passer par le processus douloureux de déplacer tous vos fichiers dans des sous-dossiers et de re-pointer les références dans XCode.
Vous aurez aussi besoin de vérifier soigneusement tous les paramètres de génération personnalisée dans les objectifs ainsi que relier les bibliothèques à inclure. Aussi, assurez-vous de supprimer tous les importées .des fichiers plist de la cible de la liaison.
Désolé si ce n'est pas la réponse que vous espériez.
http://three20.info/article/2011-03-10-Xcode4-Support a fonctionné pour moi. Plus précisément effacer le répertoire de construction de three20. Étrangement, il a fonctionné, même quand le dit de construire a été faite dans xcode4. CodeSense a commencé à travailler l'instant j'ai effacé le three20 construire dir, je n'ai même pas eu à recompiler ou recharger le projet.
Ce juste a fonctionné pour moi:
Ouvrir une invite de commande dans votre répertoire de projet et le type:
touch MyProject.xcodeproj/project.pbxproj
Montre que la coloration de la syntaxe et d'autres genre de choses se fixe devant vos yeux.
J'ai résolu le problème en supprimant des données dérivées dans les th Organisateur, l'exécution de
touch MyProject.xcodeproj/project.pbxproj
et de la réouverture du projet. Après la réouverture, il a commencé à l'indexation et puis il avait repris le travail.Dans mon XCode 4 de l'installation, il est 100% reproductible que le réglage de l'en-Tête Utilisateur Chemin de Recherche va casser codesense, en particulier "Saut à la Définition de", après un redémarrage. J'ai créer un nouveau projet, ajouté à ma bibliothèque d'assistance comme un sous-projet. Si je inclure les en-têtes avec l'Utilisateur en-Tête de la Recherche de Chemin (récursif), je compile, mais la saisie semi-automatique/de la navigation est interrompue.
La suppression de l'en-tête de la recherche de chemin, la clôture du projet, et la réouverture, la fixe à nouveau.
Ajouté ce qu'un commentaire dans quelques endroits, donc peut-être que Google jus aidera à obtenir les programmeurs en place et fonctionne à nouveau... mais de toute façon, je l'ai trouvé si vous venez d'utiliser la
touch
commande sur leYourAppName-Prefix.pch
fichier il va obtenir la coloration syntaxique/coloration et la complétion de code et de saut en arrière sans avoir à supprimer toutes vos données dérivées ou le redémarrage de Xcode. J'ai fait un alias dans mon .bashrc fichier.alias pch_touch='touch /path/to/your/apps/Prefix.pch'
. ~/.bashrc
Dans un délai d'environ 1 à 2 secondes de toucher le pch du fichier, la coloration de la syntaxe revient sur, ce qui est un signe de complétion de code et de saut sera maintenant de travailler trop. Un peu triste une telle autrement impressionnante outil puissant est humilié par un certain nombre de métadonnées /statefulness de bugs, mais il ya go. Au moins il vous permet de sauvegarder et de course et s'arrête de perdre votre temps.
J'ai eu le même problème ici. Pas de définition de liens, de sens du code ou de la syntaxe.
La suppression des données obtenues n'ont pas de travail et même la création d'un nouveau projet ne faisait aucune différence.
Alors il ne peut pas être le même problème que vous avez, le nettoyage des paramètres de construction (de sorte qu'il n'y a pas de conflits entre le projet et les objectifs) comme Rick dit résolu pour moi (mais je ne sais toujours pas quel paramètre(s) a/ont été à l'origine du problème).
À l'égard de "Sauter à la Définition de", essayez de cliquer sur le Schéma de sélection de la touche (l'un près de l'angle supérieur droit de la fenêtre qui affiche une liste de builds, les dispositifs et les simulateurs), puis cliquez sur nouveau dans l'éditeur de code et essayez de Commande-cliquez sur "Jump à la Définition de" nouveau.
J'ai récemment constaté que chaque fois que "Sauter à la Définition de" arrêts de travail, je peux le faire et il fonctionne à nouveau pendant un certain temps. Ce n'est pas un correctif, mais il a été une solution utile.
Je ne sais pas si ça aide quelqu'un, mais j'ai obtenu le code d'indexation de mon projet C++ brisé quand je suis passé à Xcode 4. Je n'ai pas passé à Lion si j'ai encore la version 4.02. Lors de la création du projet dans Xcode je voudrais utiliser l'externe option de compilation, ce que je n'ai pas le HEADER_SEARCH_PATHS correctement pour le projet. J'ai trouvé que l'utilisation de:
pour générer le projet xcode, définit cette variable correctement et permet l'indexation de l'ensemble du projet.
J'ai eu exactement ce même problème. J'ai un projet avec un tas de ViewControllers que d'étendre une classe que je vais appeler BaseViewController. J'ai ajouté le code suivant à BaseViewController.h et la coloration de la syntaxe et du code de saisie semi-automatique cassé! Même avec la répétition des suppressions de données dérivées, le problème était toujours là. Je ne peux pas le croire!!
En commentant ce code résolu mes problèmes! J'ai XCode Version 4.4.1 (4F1003)
De ce commentaire ici j'ai été en mesure de déboguer un problème similaire avec mon projet, il semblait être une mauvaise option-w que le cliquetis de préprocesseur n'était pas reconnaître correctement. Fondamentalement, l'exécution de
defaults write com.apple.dt.Xcode IDEIndexingClangInvocationLogLevel 3
dans le Terminal augmente le niveau de détail de l'indexeur, et devrait vous aider à dépister les problèmes. Exécutez La Console.d'application et de recherche pour
IDEIndexingClang
.