Changer d’onglet vers un navigateur pour poser une question sur votre code, copier-coller un bout de fonction, recopier la réponse — ce va-et-vient casse la concentration. L’idéal serait que l’assistant vive dans l’éditeur, juste à côté du code. C’est exactement ce que permet Continue, une extension libre pour VS Code, branchée ici sur les modèles DeepSeek. Dans ce guide, vous allez obtenir deux choses : de l’autocomplétion intelligente qui propose la suite de votre code à la frappe, et un copilote de revue qui commente et corrige une fonction à la demande.
🎯 Ce que vous allez apprendre
- Installer l’extension Continue dans VS Code et la configurer proprement.
- Brancher un modèle DeepSeek pour la discussion et la revue de code.
- Activer l’autocomplétion en ligne avec un modèle dédié au code.
- Utiliser le copilote pour relire, expliquer et corriger une fonction.
- Ajouter une option locale via Ollama pour travailler hors ligne.
- Garder votre clé API hors de vos dépôts.
🛠️ Ce que vous allez construire
Un poste de développement augmenté : VS Code avec, à gauche, votre code, et à droite, un assistant DeepSeek qui relit vos fonctions ; pendant que vous tapez, des suggestions complètent vos lignes. Le fil conducteur est un petit module Python que vous allez faire relire et améliorer par l’assistant.
Prérequis
- VS Code installé (la même démarche vaut pour les éditeurs JetBrains).
- Une clé API DeepSeek avec un solde de crédit, ou Ollama installé pour la variante locale.
- Savoir éditer un fichier de configuration au format YAML (indentation à respecter).
- Test express : si vous savez ouvrir le panneau des extensions de VS Code, vous êtes prêt.
- ⏱️ Temps estimé : environ 30 minutes.
Étape 1 — Installer l’extension Continue
Continue est une extension open source qui ajoute un panneau d’assistant et un moteur d’autocomplétion à l’éditeur. Elle ne dépend d’aucun fournisseur en particulier : c’est vous qui décidez quel modèle elle utilise. On commence par l’installer depuis la place de marché des extensions.
Ouvrez le panneau des extensions (icône en forme de blocs dans la barre latérale), cherchez « Continue », puis cliquez sur Install. Une fois l’installation terminée, une nouvelle icône Continue apparaît dans la barre latérale. Au premier clic, l’extension propose une configuration de démarrage que nous allons remplacer par la nôtre, taillée pour DeepSeek.
✅ Point d’étape — Le panneau Continue s’ouvre dans VS Code. Pour vérifier : l’icône Continue est visible dans la barre latérale et un panneau de discussion s’affiche au clic, même s’il n’est pas encore relié à un modèle.
Étape 2 — Configurer le modèle de discussion
Continue lit sa configuration depuis un fichier config.yaml rangé dans un dossier .continue de votre répertoire personnel — soit ~/.continue/config.yaml sous Linux et macOS, soit %USERPROFILE%\.continue\config.yaml sous Windows. On y déclare la liste des modèles, chacun avec son fournisseur et ses rôles. Voici une première version qui branche DeepSeek pour la discussion.
name: Mon assistant DeepSeek
version: 0.0.1
schema: v1
models:
- name: DeepSeek Chat
provider: deepseek
model: deepseek-chat
apiKey: VOTRE_CLE_DEEPSEEK
roles:
- chat
- edit
- apply
contextLength: 128000
Le fournisseur deepseek indique à Continue comment dialoguer avec l’API. Le modèle deepseek-chat est pris en charge nativement et correspond aujourd’hui à la variante rapide de DeepSeek-V4 ; il fera très bien le travail de discussion et d’édition. Les roles déterminent ce à quoi ce modèle sert : chat pour les échanges, edit pour modifier une sélection, apply pour appliquer une suggestion au fichier. Enregistrez le fichier : Continue le recharge automatiquement.
Étape 3 — Relire et corriger une fonction
Mettons l’assistant au travail. Ouvrez votre module Python, sélectionnez une fonction, puis ouvrez le panneau Continue et demandez une revue. Imaginons cette fonction perfectible :
def moyenne(notes):
total = 0
for n in notes:
total = total + n
return total / len(notes)
Sélectionnez-la, puis dans le panneau Continue tapez une consigne comme « Relis cette fonction : signale les cas limites et propose une version plus sûre. » L’assistant repère le problème évident — une liste vide provoque une division par zéro — et propose une version défensive. Vous pouvez ensuite cliquer pour appliquer directement la correction au fichier grâce au rôle apply. La revue se fait sans quitter l’éditeur, le contexte du fichier sous les yeux.
L’intérêt dépasse la simple correction : demandez « explique cette fonction ligne par ligne » pour comprendre du code hérité, ou « ajoute des annotations de type » pour le moderniser. Le modèle voit la sélection et répond dans le panneau, à portée de regard.
Étape 4 — Activer l’autocomplétion en ligne
La discussion, c’est le mode « à la demande ». L’autocomplétion, elle, agit en continu : pendant que vous tapez, le modèle propose la suite de la ligne ou du bloc, que vous acceptez d’une tabulation. Cette tâche réclame un modèle capable de raisonner sur ce qui précède et ce qui suit le curseur — la complétion « au milieu du texte ». On ajoute donc une seconde entrée à la configuration, dédiée au rôle autocomplete.
models:
- name: DeepSeek Chat
provider: deepseek
model: deepseek-chat
apiKey: VOTRE_CLE_DEEPSEEK
roles:
- chat
- edit
- apply
contextLength: 128000
- name: DeepSeek Autocomplétion
provider: deepseek
model: deepseek-chat
apiKey: VOTRE_CLE_DEEPSEEK
apiBase: https://api.deepseek.com/beta
roles:
- autocomplete
Pour l’autocomplétion, on réutilise le modèle deepseek-chat — DeepSeek n’expose plus de modèle « coder » distinct, sa capacité de complétion de code étant désormais intégrée — mais en le pointant vers le point d’entrée /beta. C’est ce point d’entrée qui active la complétion « au milieu du texte », celle qui devine la suite à partir du contexte avant et après le curseur. On lui attribue uniquement le rôle autocomplete pour qu’il ne soit pas mobilisé sur la discussion. Enregistrez, puis revenez dans un fichier et commencez à écrire le début d’une fonction.
✅ Point d’étape — En tapant le début d’une ligne, une suggestion grisée apparaît. Pour vérifier : écrivez
def factorielle(n):et passez à la ligne — une proposition de corps de fonction doit s’afficher, que vous acceptez avec la touche de tabulation.
Étape 5 — Une option locale pour travailler hors ligne
Vous n’avez pas toujours de connexion, ou vous relisez du code sensible que vous préférez garder sur votre machine. Continue accepte plusieurs modèles en parallèle : on ajoute donc une entrée pointant vers un modèle DeepSeek servi localement par Ollama. Cette configuration suppose qu’Ollama tourne et qu’un modèle est déjà téléchargé.
- name: DeepSeek local
provider: ollama
model: deepseek-r1:8b
roles:
- chat
- edit
Avec le fournisseur ollama, aucune clé n’est nécessaire : Continue parle au service local sur le port 11434. Dans le panneau de discussion, un sélecteur vous laisse alors basculer entre « DeepSeek Chat » (dans le nuage, rapide) et « DeepSeek local » (hors ligne, confidentiel) selon le contexte. Pour la mise en place d’Ollama, reportez-vous au guide dédié de la série.
Étape 6 — Une commande de revue réutilisable
Si vous demandez souvent la même chose — une revue de code structurée, par exemple — autant en faire une consigne réutilisable plutôt que de la retaper. Continue permet de définir des invites personnalisées dans la configuration, déclenchables d’un raccourci dans le panneau.
prompts:
- name: revue
description: Revue de code structuree
prompt: >
Relis le code selectionne et rends ta reponse en trois sections :
1) Bugs et cas limites, 2) Lisibilite et nommage,
3) Version corrigee complete. Sois concret et concis.
Une fois cette invite enregistrée, sélectionnez du code et tapez son nom dans le panneau pour lancer une revue toujours structurée de la même façon. Standardiser ses demandes ainsi fait gagner un temps réel et garantit des retours homogènes d’une relecture à l’autre — utile en équipe pour aligner les pratiques.
Étape 7 — Protéger sa clé et vérifier l’ensemble
Le fichier config.yaml contient votre clé en clair. Ce fichier vit dans votre dossier personnel, hors de vos projets : il n’a donc aucune raison de finir dans un dépôt Git. Vérifiez tout de même qu’aucune copie de la clé ne traîne dans un fichier de projet, et révoquez puis régénérez la clé depuis la console DeepSeek si vous avez le moindre doute sur une fuite.
Pour valider l’installation de bout en bout : ouvrez votre module Python, déclenchez l’autocomplétion sur une nouvelle fonction, puis sélectionnez une fonction existante et lancez la commande revue. Si la suggestion en ligne apparaît et que la revue s’affiche en trois sections, votre poste augmenté est opérationnel — discussion, édition et complétion, le tout piloté par DeepSeek.
Étape 8 — Donner du contexte à l’assistant
Une revue de code est aussi bonne que le contexte qu’on fournit au modèle. Demander « cette fonction est-elle correcte ? » sans montrer les fonctions qu’elle appelle, c’est demander un avis à l’aveugle. Continue résout cela avec les fournisseurs de contexte : dans le panneau de discussion, le caractère @ ouvre un menu pour rattacher à votre question un fichier, un dossier, voire l’ensemble du projet.
Concrètement, en tapant @ puis le nom d’un fichier, vous l’injectez dans la conversation. Quelques raccourcis reviennent souvent :
@File— ajoute un fichier précis, par exemple le module que vous relisez.@Folder— ajoute un dossier entier, utile pour donner la vue d’un sous-système.@Codebase— laisse Continue retrouver automatiquement les morceaux de code pertinents dans tout le projet.@Terminal— joint la sortie récente du terminal, pratique pour faire diagnostiquer une erreur d’exécution.
Imaginons que votre fonction moyenne soit appelée par un module de bulletins scolaires. Une question du type « avec @File bulletins.py, la fonction moyenne gère-t-elle bien le cas d’un élève sans note ? » donne au modèle de quoi raisonner sur l’usage réel, pas seulement sur la fonction isolée. La qualité de la réponse fait un bond, parce que le modèle voit enfin comment le code est employé.
Pour les questions transversales — « où la configuration de la base de données est-elle chargée ? » —, @Codebase est l’outil idéal : Continue indexe votre projet et remonte les passages les plus proches de la question, sans que vous ayez à les retrouver vous-même. Vous gardez la main sur ce que le modèle voit, ce qui est à la fois plus précis et plus respectueux de la confidentialité que de tout lui envoyer en vrac.
✅ Point d’étape — Le menu
@liste des fichiers de votre projet. Pour vérifier : tapez@dans le panneau, sélectionnez un fichier, posez une question à son sujet, et constatez que la réponse cite des éléments propres à ce fichier.
🐞 Pièges fréquents
| Symptôme / erreur | Cause probable | Correctif |
|---|---|---|
| Aucune suggestion d’autocomplétion | Modèle sans rôle autocomplete ou apiBase manquant |
Vérifier le rôle et le point d’entrée /beta |
| Erreur d’authentification | Clé absente ou mal recopiée dans le YAML | Recoller la clé, sans espace ni guillemet superflu |
| Configuration ignorée | Indentation YAML incorrecte | Aligner les tirets et les deux-points, jamais de tabulation |
| Le modèle local n’apparaît pas | Service Ollama arrêté | Lancer ollama serve et vérifier le modèle |
| Suggestions lentes | Contexte trop large envoyé à chaque frappe | Réduire la fenêtre de contexte de l’autocomplétion |
Maîtriser le coût et travailler sans réseau
L’autocomplétion appelle le modèle très souvent — à chaque pause de frappe. Sur l’API distante, cela reste peu coûteux grâce aux tarifs bas de DeepSeek et au fait que les suggestions sont courtes, mais le volume peut surprendre. Deux garde-fous aident : limiter la longueur des suggestions, et basculer l’autocomplétion sur un modèle local servi par Ollama quand vous codez longuement ou sans connexion fiable. Le modèle de discussion peut, lui, rester dans le nuage pour les revues approfondies, où sa qualité compte davantage. Ce panachage — complétion locale, revue distante — offre souvent le meilleur rapport entre réactivité, coût et confidentialité.
✅ Récapitulatif
Vous avez transformé VS Code en poste de développement assisté : l’extension Continue installée, le modèle deepseek-chat pour discuter, relire et éditer, le même modèle sur le point d’entrée /beta pour l’autocomplétion en ligne, et une variante locale via Ollama pour les moments hors ligne. Vous avez même standardisé vos revues avec une invite réutilisable. Tout cela sans jamais quitter l’éditeur.
🧾 Aide-mémoire
| Élément | Rôle |
|---|---|
~/.continue/config.yaml |
Fichier de configuration de Continue |
provider: deepseek |
Brancher l’API DeepSeek |
model: deepseek-chat |
Modèle de discussion et d’édition |
model: deepseek-chat + /beta + rôle autocomplete |
Autocomplétion en ligne |
apiBase: https://api.deepseek.com/beta |
Point d’entrée de la complétion au milieu du texte |
provider: ollama |
Modèle local, sans clé, hors ligne |
💪 À vous de jouer
Ajoutez une seconde invite personnalisée nommée tests qui demande de générer des tests unitaires pour la fonction sélectionnée, au format de votre framework préféré. Déclenchez-la sur la fonction moyenne de l’étape 3.
Voir une solution
prompts:
- name: tests
description: Generer des tests unitaires
prompt: >
Genere des tests unitaires pour la fonction selectionnee avec pytest,
en couvrant le cas nominal, la liste vide et les valeurs limites.
Rends uniquement le code des tests.
Vous obtiendrez un fichier de tests couvrant notamment la liste vide — précisément le cas limite repéré lors de la revue.
Dans la même série
- Déployer DeepSeek-R1 en local avec Ollama — indispensable pour la variante locale de l’autocomplétion.
- Premiers pas avec l’API DeepSeek en Python — comprendre l’API que Continue utilise sous le capot.
Pour approfondir
- 🔝 Revenir au guide principal : DeepSeek : modèles, API et déploiement local
- Documentation officielle de Continue : docs.continue.dev
FAQ
Continue est-il gratuit ?
Oui, l’extension est open source. Vous payez seulement l’usage du modèle si vous passez par l’API distante ; en local via Ollama, c’est gratuit.
Fonctionne-t-il avec les éditeurs JetBrains ?
Oui, Continue existe aussi pour la famille JetBrains, avec la même logique de configuration.
Puis-je utiliser un seul modèle pour tout ?
Le même modèle peut servir à la discussion et à l’autocomplétion. On crée tout de même deux entrées pour pointer l’autocomplétion vers le point d’entrée /beta et lui donner ses propres réglages.
Où ranger ma clé API ?
Dans le config.yaml de votre dossier personnel, hors de tout dépôt de projet. En cas de doute sur une fuite, régénérez-la depuis la console.