90 votes

Comment désactiver l'indexation dans Xcode 4 ?

Il n'y a pas longtemps, j'ai mis à jour Xcode à la version 4. Cette nouvelle version a passé beaucoup de temps à indexer le projet (il est assez grand). C'est pourquoi je voudrais désactiver l'indexation. La recherche dans l'aide de Xcode et sur internet n'a donné aucun résultat.

108voto

Dave Points 977

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

defaults write com.apple.dt.XCode IDEIndexDisable 1

Vous perdrez certaines fonctionnalités (autocomplétion, saut à la définition, certains assistants ne fonctionneront pas correctement). Mais vous récupérerez de la mémoire vive et du processeur.

Pour mon projet, Xcode est passé de 2 gigaoctets à quelques centaines de Mo (dont j'avais cruellement besoin pour la compilation ;)).

0 votes

Cela a réglé le problème pour moi aussi. Un jour, sur un projet de taille moyenne, XCode 4 a décidé de consommer 10 Go de mémoire virtuelle, alors que je n'ai que 4 Go de mémoire physique, et est resté là à tourner pendant 5 minutes. Chaque fois que j'ai essayé de redémarrer XCode, il a fait la même chose. J'ai supprimé le fichier de l'espace de travail, toujours la même chose. La désactivation de l'indexation à l'aide de cette commande a réglé le problème.

11 votes

Wow. Perdre la possibilité d'afficher une aide rapide en cliquant sur le nom d'une classe ou d'une méthode est une sorte de coup d'arrêt à la productivité. Xcode 4 craint royalement :( ... bonne réponse, cependant.

4 votes

Hahahaha, pour moi le spectacle s'est déjà arrêté. Quand 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é d'indexer. Sérieusement, est-ce qu'ils testent au moins ce logiciel

8voto

Peter Tseng Points 3272

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.

3 votes

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 simplement plus longtemps.

1 votes

C'est vrai, mais cela libère des cycles CPU pour d'autres tâches. Je suis revenu à XCode 3 pour le moment, mais il faudra que j'essaie 4 avec l'indexation désactivée un jour.

7voto

Richard Kettering Points 151

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

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

Je suppose que les ingénieurs internes d'Apple avaient tous un Mac Pro au maximum.

0 votes

Malheureusement, cela semble être très vrai ! On pourrait penser qu'ils pourraient réduire les exigences de capacité en mémoire. Ce qui se passe, c'est que votre ordinateur n'a plus de mémoire primaire et commence à échanger des données. Ce n'est pas agréable, même avec un SSD.

1voto

Damian Carrillo Points 765

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

1 votes

De même, la suppression du répertoire spécifique à l'application dans ~/Library/Xcode/DerivedData/ permettrait à Xcode de réindexer. Cela aiderait la situation car l'indexation semble échouer silencieusement et ne pas pouvoir être récupérée.

1voto

Jim Points 11

Mon nouveau Macbook pro retina exécutant XCode 4 était extrêmement lent pour l'indexation (et tout le reste). Mon Mac mini à la maison était très rapide en travaillant sur le même projet ? Il s'est avéré que c'était mon logiciel anti-virus qui effectuait un scan de chaque fichier lu ou écrit sur le MacBook. En le désactivant, tout s'est accéléré d'une tonne.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X