Deux suggestions grises apparaissent après chaque ligne Swift, et la touche Tab accepte parfois la mauvaise.
La solution la plus rapide consiste à désigner un seul moteur pour la complétion en ligne, puis à conserver l’autre pour le dialogue, l’agent ou la revue de code ; si la lenteur persiste, isolez ensuite les versions, les autorisations et la charge du Mac.
Cet article s’adresse aux développeurs Swift qui utilisent simultanément Xcode 27 et Copilot for Xcode et voient deux propositions concurrentes. Il concerne aussi les équipes confrontées à une touche Tab inactive, à des suggestions absentes ou à un éditeur qui ralentit après une mise à niveau. Les responsables de l’efficacité de développement y trouveront une base de configuration reproductible.
Point de contrôle : au 31 août 2026, Apple présente Xcode 27 comme une version de test dans ses informations publiques. La disponibilité finale et sa date officielle doivent être vérifiées dans les prochaines annonces Apple, et non déduites d’une rumeur.
Contexte de version et périmètre du diagnostic
Avant de modifier une préférence, enregistrez la ligne de base :
- version de Xcode ;
- version de macOS ;
- version de Copilot for Xcode ;
- modèle de Mac et espace mémoire disponible ;
- état de l’indexation ;
- présence d’un simulateur ou d’une compilation en cours ;
- projet utilisé pour la reproduction.
Consultez les notes de publication publiques de Xcode 27 et les exigences système de Xcode avant d’interpréter un changement comme une régression. Le nom « Xcode 18 » ne doit pas être utilisé pour décrire cette fonction : la complétion prédictive apparue précédemment était associée à Xcode 16 et au SDK iOS 18. Ce point évite de partir d’une version erronée lors d’un rapport d’incident.
Il faut aussi séparer cinq mécanismes :
- La complétion classique propose des symboles, méthodes et paramètres connus de l’indexeur.
- La complétion prédictive Xcode affiche une continuation de code dans l’éditeur.
- Coding Intelligence peut fournir une interaction conversationnelle ou des capacités d’assistance distinctes de la simple suggestion en ligne.
- Copilot for Xcode peut afficher une suggestion en ligne, selon sa configuration et les fonctions prises en charge.
- Le dialogue, l’agent et la revue de code ne sont pas des complétions en ligne, même s’ils utilisent une intelligence artificielle.
La documentation Apple sur l’édition des fichiers source sert de référence pour le comportement général de l’éditeur. Ne classez donc pas toute anomalie d’entrée sous « problème d’IA ».
Deux complétions en ligne : séparation des rôles
Symptôme
Vous tapez une signature Swift et voyez une proposition grisée provenant de Xcode, tandis qu’une seconde proposition apparaît dans une bulle, un panneau ou une autre zone de l’éditeur. Les deux moteurs peuvent produire une continuation plausible, mais ils ne partagent pas nécessairement le même contexte ni le même raccourci d’acceptation.
Ce cas est différent d’une mauvaise qualité de modèle. Deux systèmes peuvent simplement répondre au même événement de frappe.
Vérification
Créez une reproduction courte dans un fichier Swift isolé. Utilisez une fonction avec :
- un nom de type déjà indexé ;
- un appel à une méthode existante ;
- une condition et une fermeture ;
- une continuation sur plusieurs lignes.
Saisissez exactement la même séquence trois fois. Notez si vous observez une suggestion grisée, un panneau de candidats, une proposition Copilot ou plusieurs éléments simultanément.
Ouvrez ensuite les réglages de Coding Intelligence indiqués par la documentation Apple dédiée à sa configuration. Pour Copilot, comparez l’état de l’extension avec les instructions GitHub de configuration dans l’environnement Xcode.
Traitement
Ne désinstallez pas Copilot au premier essai. Désactivez seulement la complétion en ligne d’un des deux outils. Faites ensuite la même saisie dans le même fichier.
La répartition la plus stable est généralement la suivante :
- Xcode conserve la complétion prédictive pour les frappes Swift fréquentes ;
- Copilot reste disponible pour le dialogue, l’agent ou la revue de code, lorsque ces fonctions sont proposées par votre version ;
- une seule touche est réservée à l’acceptation d’une suggestion en ligne ;
- l’équipe documente ce choix dans sa configuration de développement.
Cette organisation répond au besoin de garder une assistance générative sans laisser deux moteurs décider simultanément de ce qui doit être inséré dans le fichier.
Touche Tab, candidats et raccourcis
Symptôme
La touche Tab n’accepte qu’une partie de la ligne, ne fait rien, valide un candidat Xcode au lieu de la suggestion Copilot, ou ferme une proposition avant son insertion. Un panneau de complétion peut également recouvrir une suggestion en ligne.
Vérification par raccourci
Procédez dans cet ordre :
- Affichez une seule suggestion dans le fichier de test.
- Appuyez sur la touche normalement attribuée à l’acceptation.
- Répétez avec le panneau de candidats ouvert.
- Essayez temporairement une autre combinaison.
- Notez quel comportement change.
Si une autre touche fonctionne, vous avez probablement un conflit de raccourci, et non un défaut réseau. Examinez les raccourcis de l’éditeur Xcode, le raccourci d’acceptation de Copilot et les éventuels réglages d’accessibilité du système.
Pour l’extension, suivez aussi les instructions officielles d’installation de Copilot for Xcode. Une extension installée mais non autorisée peut ressembler à une fonction qui ignore les commandes.
Traitement d’équipe
Avant toute modification, exportez la configuration de raccourcis de l’équipe ou consignez-la dans votre procédure interne. Une correction locale peut créer une dérive : votre Tab fonctionne, mais celle d’un collègue déclenche une autre action.
Adoptez une convention simple :
- une touche pour valider la complétion classique ;
- une touche différente si l’outil d’assistance en ligne le permet ;
- aucune modification individuelle non documentée ;
- un test de validation après chaque changement.
Ne réinitialisez pas tous les raccourcis lorsque le problème concerne une seule commande. Vous risqueriez d’effacer des habitudes de travail sans apporter de preuve sur la cause réelle.
Suggestions Copilot absentes ou irrégulières
Symptôme
Après une mise à niveau de Xcode, Copilot for Xcode ne propose plus rien. Le problème peut être global, limité à un projet ou lié à une fonction particulière.
Séquence de vérification
Suivez ces cinq étapes sans en sauter une :
- Contrôlez le lancement de l’extension. Vérifiez qu’elle est active et qu’aucun message d’erreur n’apparaît.
- Vérifiez l’autorisation du compte. Une session expirée ou un compte incorrect peut supprimer les suggestions sans modifier l’interface.
- Contrôlez les permissions. Examinez l’accessibilité et l’autorisation de l’extension Source Editor demandées par la configuration.
- Testez un petit fichier Swift. Utilisez un fichier indépendant, sans dépendances externes ni indexation lourde.
- Comparez avec le projet réel. Si le petit fichier fonctionne, concentrez l’enquête sur le projet : index, dépendances, fichiers générés ou contexte trop volumineux.
La documentation de dépannage de Copilot for Xcode doit rester la référence pour les étapes propres à l’extension. Les fonctions expérimentales ou en préversion ne doivent pas être traitées comme des capacités garanties. Vérifiez la matrice de fonctions actuelle avant de conclure qu’une régression existe.
Traitement selon le résultat
- Aucune suggestion dans le fichier isolé : vérifiez extension, compte, permissions et version.
- Suggestion dans le fichier isolé mais pas dans le projet : examinez l’indexation et le contexte du projet.
- Suggestion visible mais impossible à accepter : revenez au diagnostic des raccourcis.
- Suggestion présente seulement lorsque Xcode est désactivé : les deux moteurs se disputent probablement le même emplacement ou événement d’entrée.
- Dialogue disponible, complétion absente : ne supposez pas que toutes les fonctions partagent le même réglage.
Vous pouvez conserver Copilot pour le chat tout en désactivant ses suggestions en ligne, à condition que votre version et sa documentation exposent bien ces commandes séparément.
Éditeur lent, indexation et pression sur les ressources
Symptôme
La frappe devient irrégulière, le curseur accuse un retard, le ventilateur s’active ou l’éditeur se fige lorsque le projet indexe, compile et exécute plusieurs simulateurs. Il est tentant d’accuser Coding Intelligence, mais plusieurs tâches se chevauchent souvent.
Séparez les états suivants :
- Mac inactif, sans indexation ;
- saisie avec une suggestion en ligne ;
- indexation du projet ;
- compilation ;
- exécution du simulateur ;
- dialogue ou agent actif ;
- deux moteurs de complétion actifs.
Les chiffres de mémoire, de durée et d’énergie ne doivent être publiés que s’ils proviennent d’une mesure reproductible de votre environnement. Sans mesure effectuée par MacHTML — impossible à fournir ici — n’inventez pas de consommation précise. Utilisez plutôt les journaux d’activité et comparez les états.
Comparaison de configuration
| Configuration | Ce qu’elle permet d’isoler | Conclusion à rechercher |
|---|---|---|
| Xcode seul | Indexation, complétion native et compilation sans extension Copilot | Le retard existe-t-il déjà dans l’éditeur ? |
| Copilot for Xcode seul | Effet de l’extension et de ses permissions sur un fichier Swift | Les suggestions et raccourcis répondent-ils correctement ? |
| Xcode et Copilot ensemble | Conflit d’affichage, d’acceptation ou de traitement | La double activation ajoute-t-elle le symptôme ? |
Ne comparez pas trois configurations avec des fichiers, des branches ou des tâches différentes. Conservez le même projet, la même séquence de frappe et le même état de compilation. Arrêtez également les tâches non nécessaires avant chaque essai ; sinon, vous mesurerez l’indexation ou le simulateur plutôt que l’outil d’assistance.
Si un grand projet, plusieurs simulateurs et une compilation parallèle saturent durablement le Mac, réinstaller l’extension ne résoudra pas la cause. Isolez la construction, les tests ou la reproduction sur un environnement distinct. Pour un projet audio, vidéo ou de design qui partage la machine avec Xcode, cette séparation est encore plus importante : les tâches de rendu et les indexations concurrentes rendent les comparaisons locales difficiles.
Vous pouvez commencer par consulter la console MacHTML pour vérifier un environnement isolé, puis comparer les résultats avec votre poste de travail habituel.
Checklist de validation après correction
Cochez chaque point dans le même environnement de test :
- [ ] La version de Xcode, de macOS et de Copilot for Xcode est enregistrée.
- [ ] Le statut public de Xcode 27 a été vérifié dans les notes Apple, sans reprendre une date non confirmée.
- [ ] Le fichier Swift de reproduction est conservé avec la séquence de frappe utilisée.
- [ ] La complétion classique, la prédiction Xcode, Coding Intelligence et la suggestion Copilot sont distinguées.
- [ ] Un seul moteur est responsable de la complétion en ligne.
- [ ] Le dialogue, l’agent et la revue de code sont testés séparément.
- [ ] Le raccourci d’acceptation est vérifié avec et sans panneau de candidats.
- [ ] Les autorisations d’accessibilité et de Source Editor Extension sont confirmées.
- [ ] Le test est réalisé dans un petit fichier puis dans le projet réel.
- [ ] L’indexation, la compilation et le simulateur sont isolés des tests de frappe.
- [ ] La configuration de raccourcis retenue est documentée pour l’équipe.
- [ ] Le résultat est classé comme correction, contournement ou attente d’une mise à jour.
Décision de fermeture, maintien ou isolement
Utilisez la logique suivante plutôt qu’une décision fondée sur l’agacement du moment.
Fermez une seule complétion en ligne lorsque le conflit est reproductible et disparaît dès qu’un moteur est désactivé. Gardez l’autre outil pour ses fonctions complémentaires. C’est le cas le plus simple : il s’agit d’un chevauchement de rôles, pas nécessairement d’une incompatibilité profonde.
Conservez les deux outils, mais avec des rôles séparés, lorsque Xcode fournit la saisie prédictive et Copilot le dialogue, l’agent ou la revue de code sans perturber Tab. Testez cette organisation sur plusieurs fichiers avant de la proposer à toute l’équipe.
Désactivez temporairement Copilot for Xcode, sans le supprimer, si une mise à niveau provoque une disparition générale des suggestions, une autorisation impossible à restaurer ou un conflit que la documentation officielle ne traite pas encore. Conservez les versions et les journaux pour un rapport précis.
Isolez l’environnement, si la désactivation d’un moteur ne suffit pas et que la lenteur apparaît pendant l’indexation, les compilations ou plusieurs simulateurs. Un Mac séparé pour la reproduction permet de savoir si le problème vient de l’outil, du projet ou de la capacité disponible.
Enregistrez pour chaque décision la date, les versions, les réglages, le fichier de test et le résultat. Lorsqu’Apple publiera une version RC ou finale, ou que GitHub modifiera sa matrice de fonctions et ses exigences de permission, reprenez exactement ce protocole.
Questions fréquentes sur les conflits de complétion
Comment désactiver une seule des deux complétions dans Xcode et Copilot ?
Commencez par désactiver la complétion en ligne d’un seul outil, sans supprimer l’extension ni révoquer votre compte. Conservez le même fichier Swift, la même séquence de frappe et le même raccourci, puis recommencez le test. Si une seule suggestion reste visible, le conflit est confirmé. Vous pourrez ensuite garder l’autre outil pour le dialogue, l’agent ou la revue de code.
Que faire si la touche Tab n’accepte plus la suggestion de Copilot for Xcode ?
Vérifiez d’abord quel moteur affiche la suggestion et si Tab est attribuée à l’acceptation dans les deux interfaces. Contrôlez les raccourcis de l’éditeur Xcode, les autorisations d’accessibilité et l’activation de l’extension Source Editor. Essayez temporairement une autre touche d’acceptation. Cette comparaison permet de distinguer un conflit de raccourci d’un problème d’extension.
Comment rétablir Copilot après une mise à niveau de Xcode 27 ?
Ne concluez pas immédiatement à une incompatibilité générale. Notez les versions installées, vérifiez l’autorisation du compte, le chargement de Copilot for Xcode et les permissions demandées par l’extension. Testez ensuite un petit fichier Swift hors du projet principal. Si les suggestions réapparaissent dans ce fichier, recherchez plutôt un problème d’indexation, de contexte ou de configuration du projet.
Coding Intelligence peut-il ralentir l’éditeur Xcode ?
Une sensation de lenteur ne prouve pas que Coding Intelligence est seul responsable. Séparez la frappe, l’indexation, la compilation, l’exécution du simulateur et les deux moteurs de suggestion. Reproduisez le même scénario avec Xcode seul, Copilot seul, puis les deux. Si le ralentissement disparaît après la désactivation d’un moteur, conservez cette configuration avant d’examiner la taille du projet et la mémoire disponible.
Puis-je garder Copilot uniquement pour le chat et désactiver ses suggestions en ligne ?
Oui, si la version installée de Copilot for Xcode expose séparément ces fonctions et si la configuration officielle le permet. Le réglage recherché doit désactiver les suggestions en ligne, pas l’extension entière. Vous pouvez alors laisser Xcode gérer la saisie prédictive et réserver Copilot au dialogue, à l’agent ou à la revue de code, selon les fonctions effectivement documentées par GitHub.
Dernier arbitrage : poste local ou Mac isolé
Si le problème disparaît dès qu’un seul moteur prend en charge la complétion, votre poste local reste adapté. La configuration la plus simple consiste à conserver Xcode pour la saisie et Copilot pour les tâches conversationnelles ou de revue, ou à inverser cette répartition selon vos habitudes.
En revanche, un poste qui cumule indexation d’un grand projet, plusieurs simulateurs, compilations parallèles et création de contenus audio, vidéo ou graphiques peut rester instable même après le réglage des extensions. Vous subissez alors trois limites concrètes : la charge est partagée entre des tâches concurrentes, la reproduction n’est pas isolée, et l’équipe ne dispose pas d’une base identique pour comparer les versions.
Dans ce cas, louer un Mac auprès de MacHTML peut offrir une expérience plus propre pour reproduire le défaut, séparer les builds ou valider une nouvelle configuration avant déploiement. Ce n’est pas le meilleur choix pour une charge lourde permanente qui exige toujours la même machine physique ou des interfaces locales particulières. Pour un besoin temporaire, un test d’extension ou une capacité de secours, consultez également le centre d’aide MacHTML afin de définir une procédure d’accès et de restitution cohérente.
Pour aller plus loin: Comparer la mémoire consommée par les assistants de codage sur Mac en 2026 Choisir le bon outil de programmation IA selon son flux de travail
Poursuivez votre développement avec MacHTML
Accédez à un Mac distant prêt à l’emploi pour développer, tester et compiler vos applications dans un environnement macOS. Travaillez avec vos outils de développement habituels sans investir immédiatement dans un nouvel équipement local. Profitez d’un accès flexible depuis votre navigateur, adapté aux projets individuels comme aux besoins des équipes. Choisissez la puissance et la formule adaptées à votre usage, puis concentrez-vous sur votre code avec MacHTML.