Comment désactiver l'indexation dans Xcode 4?

90

Il n'y a pas longtemps, j'ai mis à jour Xcode vers la version 4. Cette nouvelle version passait beaucoup de temps à indexer le projet (c'est assez volumineux). C'est pourquoi je souhaite désactiver l'indexation. La recherche via l'aide Xcode et Internet n'a donné aucun résultat.

FarMiaplacidus
la source

Réponses:

108

Ouvrez une fenêtre de terminal et collez cette commande:

defaults write com.apple.dt.XCode IDEIndexDisable 1

Vous perdrez certaines fonctionnalités (saisie semi-automatique, passer à la définition, certains assistants ne fonctionneront pas correctement). Mais vous récupérerez du RAM et du CPU.

Pour mon projet, Xcode est passé de 2 Go à quelques centaines de Mo. (avec lequel j'avais cruellement besoin de compiler;))

Dave
la source
Cela a également résolu le problème pour moi. Sur un projet de taille moyenne, un jour, XCode 4 a décidé de manger 10 Go de mémoire virtuelle, je n'ai que 4 Go physiques et je suis resté assis à tourner pendant 5 minutes. Chaque fois que j'ai essayé de redémarrer XCode, cela a fait la même chose. Supprimé le fichier d'espace de travail, toujours la même chose. La désactivation de l'indexation à l'aide de cette commande a résolu le problème.
clemahieu
11
Sensationnel. Perdre la possibilité d'afficher une aide rapide en cliquant sur un nom de classe ou de méthode est une sorte de coup de cœur pour la productivité. Xcode 4 suce royalement: (... bonne réponse, cependant.
Nate
4
Hahahaha, pour moi le spectacle s'est déjà arrêté. Lorsque j'ai ajouté la bibliothèque C ++ Eigen, l'indexeur s'est complètement étouffé et tous les sauts à la définition, etc. ont cessé de fonctionner, même pendant les brefs moments où il a arrêté l'indexation. Sérieusement, testent-ils même ce logiciel…
Potatoswatter
Il est difficile de décrire l'amélioration après la désactivation de l'indexation sur mon mac pro. Je peux maintenant parcourir librement mon projet. Avant la désactivation, il fallait quelques secondes pour saisir simplement un caractère.
ArtHare
Wow génial! Quand vous utilisez de toute façon vim comme éditeur, c'est parfait.
elimirks
8

Réduire la priorité du processus XCode aide:

renice 10 -p PID

Vous pouvez obtenir le PID à partir du moniteur d'activité ou des commandes top / ps.

Peter Tseng
la source
2
Cela n'aidera pas si le problème est l'utilisation de la mémoire. Xcode consommera toujours la même quantité de mémoire; il l'utilisera plus longtemps.
Peter Hosey
1
C'est vrai, mais cela libère des cycles de processeur pour d'autres tâches. Je suis revenu à XCode 3 pour le moment, mais je vais devoir essayer 4 avec l'indexation désactivée parfois.
Peter Tseng
7

Ce problème a été remarqué sur ce groupe de discussion :

Le nœud semble être que XCode4 utilise des quantités folles de RAM pendant l'indexation - comme 5 Go ou plus (!), Et donc si vous êtes sur une machine avec quelque chose comme 12 Go, il n'y a pas de problème, mais si vous êtes sur un ordinateur portable avec seulement 2 Go ou plus, vous aurez une pagination assez sévère en cours.

Je suppose que les ingénieurs internes d'Apple étaient tous des mac pros au maximum ou quelque chose du genre.

Richard Kettering
la source
Malheureusement, cela semble être très vrai! On pourrait penser qu'ils pourraient d'une manière ou d'une autre réduire les exigences de capacité en mémoire. Ce qui se passe, c'est que votre ordinateur manque de mémoire principale et commence à permuter. Pas agréable, même avec un SSD.
lerics
1

J'ai rencontré le même problème ou quelque chose de similaire. Mon projet comprend du C ++ fortement basé sur des modèles. L'inclusion de ces en-têtes dans le fichier PCH a résolu le problème pour moi.

Damian Carrillo
la source
1
De plus, la suppression du répertoire spécifique à l'application dans ~ / Library / Xcode / DerivedData / permettrait à Xcode de se réindexer. Cela améliorerait la situation car l'indexation semblait échouer silencieusement et ne pas pouvoir récupérer.
Damian Carrillo
1

Mon nouveau Macbook Pro Retina exécutant XCode 4 était extrêmement lent à indexer (et tout le reste). Mon Mac mini à la maison travaillait très vite sur le même projet !? Il s'est avéré que c'était mon logiciel anti-virus - en analysant chaque fichier lu ou écrit sur le MacBook. Éteindre cela a tout accéléré d'une tonne.

Jim
la source
0

L'indexation lente n'est pas une donnée. Et plus de mémoire n'est pas nécessairement meilleure.

J'ai un projet de taille moyenne pour le travail ~ 500 fichiers source. Après avoir supprimé les données dérivées, il faut 18 minutes pour terminer la réindexation de ce projet. C'est sans aucune autre application ouverte et ne faisant rien d'autre avec l'ordinateur. C'est sur un Macbook Pro assez récent avec 8G de mémoire et un i7. Horrible, non?

Ma machine à la maison est un Mac Mini récent avec 4G de mémoire et un i5. Sur cette machine, le même projet prend exactement 40 secondes pour être complètement indexé.

Je ne sais pas encore quelle est la différence, mais j'y travaille.

dar512
la source
Avez-vous déjà compris pourquoi cela prend autant de temps sur votre Macbook Pro? Je semble avoir le même problème.
chown
Désolé c'est tard, je viens de le remarquer. Oui, c'était le vérificateur de virus Norton. Une fois enlevé, les temps étaient spectaculairement meilleurs. Notre entreprise a depuis déménagé à Clam.
dar512
-7

Il n'est pas possible de désactiver l'indexation dans Xcode 4. De nombreuses fonctionnalités de l'EDI sont construites au-dessus de l'index qu'il gère.

Chris Hanson
la source