Continue est un assistant de programmation IA open source courant pour VS Code et JetBrains. Il accepte vos propres clés de modèles et peut se connecter à une passerelle tierce via le protocole compatible OpenAI. Pour les équipes, pointer Continue vers une passerelle unifiée permet de fixer le chemin d'accès, de centraliser la facturation et de basculer entre plusieurs modèles.

Cependant, Continue a été racheté par Cursor en 2026 et le dépôt principal n'est plus activement maintenu. L'extension reste installable et utilisable, mais il faut réévaluer la méthode de configuration, les fonctionnalités disponibles et le risque à long terme. Cet article suit l'ordre installation, préparation, configuration, vérification et déploiement d'équipe, avec des instructions applicables.

État du projet : en juin 2026, Continue a été racheté par Cursor ; le dépôt principal est passé en lecture seule et n'est plus activement maintenu ; le Hub hébergé et le service de connexion ont également fermé. L'extension reste installable, mais sa version s'est essentiellement figée avant le rachat ; les équipes doivent intégrer ce risque de maintenance à leur évaluation.

Marques : Continue est une marque de Continue Dev, Inc. ; Cursor est une marque d'Anysphere, Inc. Cet article est purement technique, sans lien d'affiliation ni de représentation avec ces sociétés ; les fonctionnalités, interfaces et règles de facturation font foi selon les pages de l'éditeur et la version installée.

1. Ce que Continue permet encore en 2026

Après le rachat, c'est la partie cloud qui a le plus changé. L'ancien Hub de Continue hébergeait les assistants partagés, les blocs de configuration et la synchronisation d'équipe, et la connexion en dépendait. Depuis sa fermeture, ces capacités ne sont plus disponibles, et toute référence distante de type uses: dans la configuration risque d'échouer.

Les capacités locales subsistent : l'extension s'installe, config.yaml est toujours lu, et une clé personnelle permet d'appeler une interface compatible OpenAI, le protocole Anthropic ou un modèle local. L'outil est passé d'un projet actif avec collaboration cloud à une version finale utilisable en local.

Deux conclusions : les équipes déjà équipées peuvent continuer, mais doivent figer la version, sauvegarder la configuration et préparer une alternative ; celles qui envisagent un nouveau déploiement doivent inscrire l'arrêt de maintenance parmi les critères de choix, sans se limiter à l'open source ou au support multi-modèles.

2. Installer dans VS Code et JetBrains

L'installation dans VS Code est la plus directe :

  1. Ouvrez VS Code et appuyez sur Cmd/Ctrl + Shift + X pour accéder aux extensions.
  2. Recherchez Continue, vérifiez que l'éditeur est Continue, puis cliquez sur installer.
  3. Une fois installé, l'icône Continue apparaît dans la barre latérale ; vous pouvez la déplacer à droite pour poser des questions tout en codant.
  4. Appuyez sur Cmd/Ctrl + L pour ouvrir le Chat, ou sélectionnez du code et utilisez le même raccourci pour l'envoyer dans la conversation.

JetBrains mérite une vérification supplémentaire. En 2026, le README de Continue recommande aux utilisateurs JetBrains de passer à Continue CLI ; la version finale du plugin est distribuée via GitHub Releases, et sa visibilité dans le marketplace varie selon la région et la version. Les équipes déjà équipées peuvent continuer, mais il n'est pas conseillé de fonder un nouveau projet sur un plugin qui ne sera plus mis à jour.

La CLI est une voie de remplacement plus sûre ; elle lit le même config.yaml que l'extension IDE :

# Node.js 20 ou supérieur requis
npm install -g @continuedev/cli
cn --version
cn --config ~/.continue/config.yaml

3. Préparer la clé, l'URL de base et l'identifiant de modèle

Avant de configurer, préparez trois éléments : une clé de passerelle, une adresse compatible et un identifiant de modèle exact.

  1. Ouvrez la page d'inscription à ZSQH AI Gateway, créez un compte et connectez-vous à la console.
  2. Dans la page « Clés API », créez une clé dont le nom précise l'utilisateur et l'appareil, par exemple continue-zhang-macbook.
  3. Définissez si besoin un plafond de quota et une date d'expiration. Même pour un compte personnel, cela évite une consommation anormale.
  4. Copiez la clé et conservez-la dans un gestionnaire de mots de passe. La console ne l'affiche généralement en entier qu'une fois.
  5. Ouvrez les tarifs des modèles et copiez l'identifiant du modèle à utiliser. Modèles et tarifs évoluent ; la page actuelle fait foi.

Utilisez ces valeurs pour la configuration :

Base URL: https://ai.zhongshangqihang.com/v1
API Key:  sk-... (créée dans la console, conservée dans .env ou un gestionnaire de mots de passe)
Model:    l'identifiant affiché sur la page « tarifs des modèles »

Renseignez l'URL de base jusqu'à /v1 inclus. N'indiquez pas la page d'accueil du site et n'ajoutez pas /chat/completions vous-même : le client le concaténerait une seconde fois et le chemin serait dupliqué.

4. Écrire config.yaml : provider et models

La configuration globale de Continue se trouve dans ~/.continue/config.yaml (macOS/Linux) ou %USERPROFILE%\.continue\config.yaml (Windows). Quand config.yaml existe, il est chargé en priorité sur l'ancien config.json ; ne mélangez pas les deux formats.

Mieux vaut ne pas écrire la clé directement dans le YAML. Placez d'abord une ligne dans ~/.continue/.env, sans guillemets autour de la valeur :

ZSQH_API_KEY=sk-votre-cle-passerelle

Puis référencez-la dans config.yaml :

name: zsqh-continue
version: 0.0.1
schema: v1

models:
  - name: Modèle principal ZSQH
    provider: openai
    model: YOUR_MODEL_ID
    apiBase: https://ai.zhongshangqihang.com/v1
    apiKey: ${{ secrets.ZSQH_API_KEY }}
    roles: [chat, edit, apply]
    capabilities: [tool_use]

  - name: Modèle de complétion ZSQH
    provider: openai
    model: YOUR_FIM_MODEL_ID
    apiBase: https://ai.zhongshangqihang.com/v1
    apiKey: ${{ secrets.ZSQH_API_KEY }}
    roles: [autocomplete]

Signification des champs :

  • provider: openai indique l'envoi selon le protocole compatible OpenAI ; une passerelle tierce compatible utilise aussi cette valeur.
  • apiBase remplace l'adresse par défaut et se renseigne jusqu'à /v1.
  • apiKey lit ${{ secrets.nom }} depuis .env.
  • roles détermine les fonctions du modèle ; la valeur par défaut est [chat, edit, apply, summarize].
  • capabilities: [tool_use] permet au mode Agent d'appeler des outils ; ne l'ajoutez que si le modèle de la passerelle le prend réellement en charge.

Le modèle de complétion n'est pas obligatoire. Ne le configurez que si la page de tarifs propose un modèle compatible FIM ou une interface de complétion ; sinon, supprimez l'entrée ou utilisez une complétion locale avec Ollama, le chat et l'édition restant sur la passerelle.

5. Vérifier Chat, Edit et l'autocomplétion

Après l'enregistrement, Continue recharge généralement la configuration automatiquement ; si vous avez modifié .env, redémarrez l'IDE comme le recommande la FAQ de l'éditeur. Vérifiez ensuite dans cet ordre :

  1. Ouvrez le Chat et sélectionnez explicitement le modèle configuré dans le sélecteur, sans laisser la sélection automatique.
  2. Envoyez une requête courte, par exemple « explique cette fonction du fichier courant », et vérifiez que la réponse arrive.
  3. Ouvrez la page d'usage ou les journaux de requêtes de la console de la passerelle : vous devez voir une entrée au même moment, avec le même modèle et la même clé.
  4. Sélectionnez du code, appuyez sur Cmd/Ctrl + I pour ouvrir Edit, demandez une petite modification, puis acceptez ou refusez le diff.
  5. Créez un fichier, saisissez un commentaire ou un début de fonction et testez la complétion Tab ; sans réaction, vérifiez d'abord que le modèle autocomplete est bien un modèle FIM.
  6. Si tool_use est configuré, demandez à l'Agent de lire un fichier et de proposer une modification, pour confirmer que l'appel d'outils fonctionne.

Une réponse dans l'éditeur ne suffit pas : fiez-vous aux journaux de la passerelle pour confirmer que la requête a réellement emprunté l'API personnalisée.

6. Répartir les rôles de modèles

Fonction Rôle correspondant Exigence du modèle Remarques
Chat chat Suivi d'instructions générales Questions dans la barre latérale, explication de code
Édition edit, apply Compréhension du code et modification précise Sélectionner le code puis Cmd/Ctrl + I
Autocomplétion autocomplete Entraînement FIM, faible latence Un modèle de chat complète généralement mal
Agent chat avec tool_use Appel d'outils pris en charge À déclarer dans capabilities
Recherche dans le dépôt embed Modèle d'embedding Conditionne la disponibilité de @Codebase

Un même modèle peut assumer chat, edit et apply ; inutile de créer une entrée par rôle. Le seul rôle qui mérite souvent une configuration séparée est l'autocomplétion : son déclenchement est fréquent et ses exigences de latence et de capacité FIM diffèrent totalement du chat. Affecter un modèle de chat à autocomplete produit souvent des complétions lentes, trop longues, voire absentes.

Embedding et reranking sont des capacités optionnelles ; leur disponibilité dépend du modèle et de la documentation de l'interface.

7. Limites courantes et pièges

  • Les références distantes uses: peuvent ne plus fonctionner. Depuis la fermeture du Hub, les blocs de configuration partagés ne sont plus résolus ; passez à provider, model et apiKey en ligne.
  • L'autocomplétion n'arrive pas « automatiquement ». Le modèle doit prendre en charge FIM ou une interface de complétion ; un modèle Chat Completions ordinaire ne convient pas forcément.
  • La longueur de contexte et les capacités d'un modèle personnalisé ne sont pas détectées automatiquement. Déclarez-les si nécessaire avec defaultCompletionOptions.contextLength et capabilities.
  • Le mode Agent dépend de l'appel d'outils. Si la passerelle ne prend en charge que l'interface de chat, le dialogue simple fonctionne mais l'Agent peut échouer.
  • Le projet n'est plus activement maintenu. Une mise à jour de l'IDE, un changement de certificat système ou une mise à jour de dépendances peut créer des incompatibilités ; prévoyez une solution de repli.
  • L'URL de base et l'identifiant de modèle sont les deux sources d'erreur les plus fréquentes : /v1 en trop ou manquant d'un côté, casse ou suffixe de version incohérent de l'autre.
  • L'extension IDE ne lit généralement pas les variables export du terminal. La clé doit être dans un fichier .env, pas seulement dans la configuration du shell.

8. Liste de déploiement en équipe

  1. Figer une version validée et conserver le VSIX, le plugin JetBrains ou l'installeur CLI, pour retrouver la même version plus tard.
  2. Créer les clés de passerelle par personne et par appareil, avec plafond et expiration, sans clé partagée par toute l'équipe.
  3. Placer le modèle config.yaml dans le dépôt interne, avec ${{ secrets.nom }} en placeholder ; ajouter .env aux règles d'exclusion.
  4. Choisir trois à cinq développeurs pour un pilote de deux semaines, en relevant le taux de réussite, la latence moyenne, l'adoption de la complétion et la consommation par personne.
  5. Tenir une table de correspondance des modèles : usage, identifiant dans la configuration, modèle correspondant sur la passerelle, modèle de secours en cas d'échec.
  6. Inscrire l'arrêt de maintenance de Continue comme point d'évaluation trimestriel, comparer avec des outils encore activement développés et conserver un chemin de migration.
  7. Au départ d'un membre, au changement de machine ou à la fin d'un projet, désactiver la clé le jour même et nettoyer le .env local.

Pour le coût, lancez d'abord une semaine de requêtes réelles, puis estimez avec les données actuelles des tarifs des modèles. Les prix changent selon les fournisseurs ; n'utilisez pas d'anciennes captures pour établir un budget.

9. Questions fréquentes

Continue reste-t-il installable après le rachat ?

Oui. L'extension VS Code est toujours proposée sur le marketplace et la CLI s'installe ; pour JetBrains, le README recommande désormais la CLI. Installable ne signifie pas maintenu : un nouveau projet doit évaluer le risque à long terme.

Jusqu'où renseigner l'URL de base ?

Jusqu'à https://ai.zhongshangqihang.com/v1. N'indiquez pas la page d'accueil et n'ajoutez pas /chat/completions, sous peine de chemin dupliqué ou de 404.

Pourquoi le chat fonctionne-t-il mais pas la complétion Tab ?

La complétion exige un modèle autocomplete distinct, prenant en charge FIM ou une interface de complétion. Un modèle de chat capable de dialoguer ne sait pas forcément compléter. Vérifiez d'abord que la passerelle propose un modèle adapté.

Une clé peut-elle servir pour plusieurs modèles ?

Oui. La clé est un identifiant d'authentification ; le modèle est déterminé par le champ model. Plusieurs entrées de modèles peuvent réutiliser la même clé ; si l'équipe doit ventiler la facturation, séparez les clés par rôle ou par projet.

Les utilisateurs JetBrains doivent-ils installer le plugin ou utiliser la CLI ?

Si l'équipe dispose déjà d'un plugin fonctionnel, elle peut continuer en figeant la version. Pour un nouvel environnement, privilégiez Continue CLI comme le recommande le README : elle lit le même config.yaml et présente un risque de maintenance plus faible.

Pour aller plus loin

Commencez par créer une clé de test sur ZSQH AI Gateway, validez Chat, Edit et la complétion avec les exemples ci-dessus, puis distribuez le modèle de configuration à l'équipe. La disponibilité des modèles et les tarifs actuels sont indiqués sur la page tarifs des modèles.

Lectures associées :