Régler l'autocomplétion
Vous ouvrez cette page parce que les suggestions en cours de frappe n’arrivent pas, arrivent trop souvent, ou viennent d’un modèle trop lent.
Lui affecter un modèle
Section intitulée « Lui affecter un modèle »C’est le premier point à vérifier, parce que son échec est muet.
Le rôle autocomplete ne fait pas partie des rôles attribués par défaut. Un
modèle déclaré sans roles sert au chat, à l’édition et à l’application — pas à
l’autocomplétion. Sans modèle portant ce rôle, la fonction reste inactive : ni
suggestion, ni message, ni entrée dans les journaux.
name: Local Configversion: 1.0.0models: - name: Autocomplétion provider: ollama model: qwen2.5-coder:1.5b roles: - autocompleteUn modèle petit et rapide sert mieux ici qu’un gros : la suggestion doit arriver avant que vous ayez fini de taper. Si plusieurs modèles portent le rôle, le premier déclaré est retenu.
L’élément de barre d’état de l’extension ouvre un menu qui liste les modèles du
rôle autocomplete et permet d’en changer sans rééditer le fichier. Une liste
vide y confirme le diagnostic ci-dessus.
L’activer et la couper
Section intitulée « L’activer et la couper »Le réglage lemniscate.enableTabAutocomplete est à true par défaut. La
commande Toggle Autocomplete Enabled, sur Ctrl+K Ctrl+A
(Cmd+K Cmd+A sur macOS), l’inverse et met le réglage à jour.
Pour la couper depuis la configuration, modèle par modèle :
name: Local Configversion: 1.0.0models: - name: Autocomplétion provider: ollama model: qwen2.5-coder:1.5b roles: - autocomplete autocompleteOptions: disable: trueL’autocomplétion se coupe d’elle-même dans certains fichiers, sans réglage :
le fichier de configuration lui-même, les fichiers .prompt, et tout ce qu’un
.lemniscateignore exclut.
Avec lemniscate.pauseTabAutocompleteOnBattery à true, débrancher le secteur
met les suggestions en pause et le rebranchement les rétablit. Cet état de pause
n’est pas mémorisé d’un démarrage à l’autre.
Régler son comportement
Section intitulée « Régler son comportement »Les options se posent sur le modèle, dans autocompleteOptions. Il n’existe
pas de bloc tabAutocompleteOptions à la racine de config.yaml.
name: Local Configversion: 1.0.0models: - name: Autocomplétion provider: ollama model: qwen2.5-coder:1.5b roles: - autocomplete autocompleteOptions: debounceDelay: 500 maxPromptTokens: 2048 modelTimeout: 300 onlyMyCode: false| Option | Défaut | Effet |
|---|---|---|
debounceDelay |
350 |
millisecondes d’inactivité avant d’interroger le modèle |
modelTimeout |
150 |
millisecondes accordées au modèle avant abandon |
maxPromptTokens |
1024 |
taille du contexte envoyé |
useCache |
true |
réutilise une suggestion déjà calculée au même endroit |
onlyMyCode |
true |
limite les extraits de contexte au code du dépôt |
Un modèle local lent demande d’augmenter modelTimeout : à 150 millisecondes,
la suggestion est abandonnée avant d’arriver, ce qui se lit comme une
autocomplétion qui « ne marche pas ».
Next Edit : disponible partout, meilleur sur certains modèles
Section intitulée « Next Edit : disponible partout, meilleur sur certains modèles »Le réglage lemniscate.enableNextEdit vaut true par défaut, et la fonction
tourne avec n’importe quel modèle d’autocomplétion. Il n’y a pas de liste de
modèles autorisés.
Ce qui change d’un modèle à l’autre, c’est la qualité des suggestions. Deux
familles de modèles ont été spécifiquement entraînées à prédire l’édition
suivante — mercury-coder et instinct — et reçoivent à ce titre une
requête taillée pour elles. Tout autre modèle reçoit une requête générique, qui
lui explique la tâche en langage courant : cela fonctionne, mais les suggestions
peuvent être à côté de la plaque.
L’extension le dit : sur un modèle qui n’a pas été entraîné pour cette tâche, une notification prévient une fois par modèle et par session que les suggestions médiocres viennent du modèle et non de la fonction. Elle propose au passage de couper Next Edit ou de changer de modèle.
Un modèle peut se prononcer explicitement sur la question :
name: Local Configversion: 1.0.0models: - name: Autocomplétion provider: openai model: mon-modele-interne apiBase: https://llm.interne.example/v1 roles: - autocomplete capabilities: - next_editAttention à l’effet de bord. Dès qu’une liste capabilities est présente,
elle fait autorité et remplace le comportement par défaut. Écrire
capabilities: [tool_use] sur un modèle, quel qu’il soit, désactive Next
Edit — c’est le seul moyen de le désactiver par la configuration, et c’est
délibéré. Si vous déclarez des capacités, énumérez-les toutes.
Quand la fonction est active, Tab accepte la suggestion proposée et Échap la
masque. Ces raccourcis ne sont enregistrés que dans ce cas : leurs commandes
restent introuvables dans la palette tant que Next Edit est coupé, par le réglage
ou par une liste capabilities.
La liste complète des réglages de l’extension est en Extension VS Code.