56 votes

Xcode 8.2 La complétion de code ne fonctionne pas

Pour une raison quelconque, dans Xcode 8.2, l'achèvement de mon code a cessé de fonctionner. J'ai nettoyé mon produit, redémarré Xcode, redémarré mon ordinateur et supprimé les données dérivées, mais toujours pas de chance. Je l'ai soumis à l'assistance Apple. Quelqu'un a-t-il déjà rencontré ce problème et a-t-il pu le résoudre?

158voto

Chinmay Points 1

Mise à jour: Comme par @Dareon solution ci-dessous fonctionne également pour Xcode Version 8.3 (8E162) et 8.3.2 (8E2002). Merci, @Dareon pour la confirmation. :)

J'ai été confronté à la même question, et à la suite travaillé pour moi.

J'utilise Xcode Version 8.2.1 (8C1002).

  1. Aller à Xcode > Préférences > Texte de l'Édition de
  2. En vertu de la complétion de Code - Décochez la case "Suggèrent les achèvements tout en tapant'
  3. Quittez Xcode puis relancer Xcode.
  4. Aller à Xcode > Préférences > Texte de l'Édition de nouveau
  5. Quittez Xcode puis relancer Xcode.
  6. Maintenant, allez à la complétion de Code et de vérifier "Suggérer des achèvements tout en tapant'.
  7. Essayez de taper une fonction de la bibliothèque ou enum et profitez-en!

Au moins, il a travaillé pour moi.

15voto

charles Points 1337

La complétion de Code aussi arrêté de travailler pour m'dans Xcode 8.2.1, et aucun montant de nettoyage, de données dérivées jetable ou de redémarrer fixe. Après un certain temps, j'ai réalisé la complétion de code n'est brisé à l'intérieur de l'extension de la portée, j'ai été travailler sur. Si vous avez tapé manuellement, le code devrait être correctement mis en évidence et de dresser fine, de sorte qu'il n'était pas un problème de la source se dépouillant de ce que l'analyseur est en charge de la complétion de code.

Voici le contexte spécifique dans lequel il se produit, dans cet exemple très simple:

struct SomeStruct {

    static let foobar1 = {
        return NSBezierPath()
    }()

}

extension SomeStruct {

    static let foobar2 = {
        return NSBezierPath()
    }()

}

La complétion de Code fonctionne très bien dans la mise en œuvre du bloc de l' foobar1, mais pas pour foobar2. C'est la présence d'un static let dans une extension qui semble déclencher. La question apparaît pour les deux struct et class.

Ressemble à un bug avec Xcode, donc la seule solution pour moi était de déplacer foobar2 , dans la définition de l' SomeStruct.

5voto

halakala Points 443

Le simple redémarrage de XCode a fonctionné pour moi.

2voto

user1105951 Points 851

pour les autres. ce qui a fonctionné pour moi:

Supprimer les données dérivées Préférences Xcode -> Emplacements -> Le symbole de la flèche vous amène à DerrivedData -> Supprimer le dossier

1voto

bdepaz Points 199

J'ai eu des problèmes avec cela. Pour moi, la complétion de code et de mise en forme est perdue sur mon travail actuel fichier source lorsque j'ai jamais faire une compilation. Si je revenir en arrière et passer à un autre onglet et de revenir, après une seconde ou deux, il commence à travailler à nouveau. Parfois même qui ne fonctionne pas et que je dois rester dans le même onglet et d'ouvrir un autre fichier, puis revenir.

Même ces méthodes échouent si je laisse Xcode ouvrir et de mettre l'ordinateur en veille pendant quelques heures et revenir. Quand cela arrive, je cesser de Xcode, parfois la Force de le Quitter, et puis après le retour dans les étapes ci-dessus. Mais j'ai eu de déconner avec elle après chaque single de la compilation ou de compiler et d'exécuter des je ne. N'avez pas essayé 8.3 beta encore.

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