Aller au contenu

Assistant IA

Un assistant intégré à l'éditeur qui pilote l'agent IA en ligne de commande que vous avez déjà installé — expliquer, refactoriser, corriger, écrire des tests, résumer, traduire et discuter, chaque modification proposée s'affichant comme un diff à examiner que vous appliquez volontairement.

Apportez votre propre agent

L'assistant ne demande pas de clé API et ne vous connecte à rien. Il exécute un agent CLI IA installé localement comme auxiliaire et diffuse sa sortie dans l'éditeur. L'authentification, votre abonnement et le choix du modèle appartiennent entièrement à cet outil.

  • Aujourd'hui : Claude Code (claude). Installez-le et connectez-vous une fois (pour que claude fonctionne depuis un terminal) ; l'éditeur le détecte automatiquement. Codex et Gemini figurent dans la liste des moteurs mais leur intégration en ligne de commande n'est pas encore vérifiée.
  • La détection est automatique et non bloquante. L'éditeur sonde l'agent en arrière-plan juste après le démarrage — la fenêtre ne l'attend jamais. Pendant la sonde, Affichage → Chat IA est brièvement désactivé avec l'infobulle Detecting AI engine… ; quelques secondes plus tard il s'active (agent trouvé) ou reste grisé avec une indication de ce qu'il faut installer.

L'agent est un programme séparé que vous installez

L'éditeur n'embarque ni ne télécharge aucun agent IA et n'envoie lui-même votre texte nulle part — la requête est faite par l'agent CLI que vous avez installé, avec son propre compte et sa propre connexion réseau. Si l'agent n'est pas installé ou connecté, les fonctions IA restent simplement désactivées et rien d'autre dans l'éditeur n'est affecté.

Prérequis

L'assistant a un seul prérequis strict : un agent CLI IA pris en charge, installé et connecté, présent dans le PATH du système.

  • Installez un agent pris en charge. Aujourd'hui, c'est Claude Code (claude).
  • Connectez-vous une fois. Lancez l'agent depuis un terminal et effectuez sa propre connexion, afin qu'il fonctionne ensuite sans intervention. L'éditeur ne demande ni ne stocke jamais de clé API — votre abonnement et votre connexion vivent entièrement dans cet outil.
  • Vérifiez qu'il est dans le PATH. Si l'éditeur ne peut pas le lancer, Affichage → Chat IA est grisé avec une infobulle explicative.

Le panneau Chat IA

Il n'y a pas de menu IA dédié — tout vit dans un panneau inférieur, basculé via Affichage → Chat IA. Si le panneau était ouvert à la dernière fermeture de l'éditeur, il se rouvre au prochain démarrage (une fois le moteur détecté).

De haut en bas, le panneau affiche :

  • une liste Moteur (votre choix est mémorisé entre les sessions) et la case Autoriser la modification de fichiers (voir ci-dessous) ;
  • une ligne d'état — le moteur détecté et sa version, une note de sonde/progression, ou l'indication « installez et connectez-vous » ;
  • une fine barre d'activité avec un bouton Stop pendant que l'agent travaille ;
  • la console — toute la conversation dans une seule vue ;
  • une ligne d'aide listant les commandes disponibles sous forme de liens cliquables.

La console

La conversation fonctionne comme un terminal : l'historique au-dessus, et vous tapez à la fin, après l'invite .

  • Entrée envoie ; Maj+Entrée insère un saut de ligne, les invites multilignes fonctionnent donc.
  • Cliquer ou taper n'importe où dans l'historique ramène le curseur à l'invite — l'historique est sélectionnable et copiable mais jamais modifiable.
  • Échap annule la requête en cours ; quand rien ne tourne, il efface ce que vous avez tapé après . Échap fonctionne quel que soit le focus dans le panneau.
  • La vue ne défile automatiquement que lorsque vous êtes en bas ; remontez pour lire et elle reste en place.

Commandes

Tapez une commande à l'invite, ou cliquez-la dans la ligne d'aide (les commandes à argument reçoivent une espace finale et attendent que vous terminiez la ligne) :

Commande Effet Résultat
.explain Expliquer le code sélectionné réponse dans le chat
.summarize Résumer le texte sélectionné réponse dans le chat
.refactor <comment> Refactoriser selon l'instruction (p. ex. .refactor extract a helper) modification à examiner
.fix Corriger le code sélectionné modification à examiner
.tests Écrire des tests unitaires pour la sélection modification à examiner
.translate <langue> Traduire la sélection (p. ex. .translate German) modification à examiner

Tout le reste est traité naturellement :

  • Du texte libre est une question ouverte à l'agent (la sélection courante est jointe comme contexte facultatif).
  • Une ligne commençant par / est transmise telle quelle à l'agent — ses propres commandes (comme /help de Claude) continuent de fonctionner.
  • Un .mot inconnu n'est pas une erreur ; il est transmis comme invite.

La correspondance ignore la casse, et la ligne d'aide se réduit pendant la frappe (.r.refactor …).

Sélection ou document entier

Les commandes travaillent sur la sélection courante. Sans sélection, elles opèrent sur le document entier — et comme cela envoie tout le fichier à l'agent, l'éditeur demande d'abord : Send whole document '…' to Claude? La question est posée une fois par document et par session d'éditeur ; refuser interrompt l'envoi et conserve votre saisie. Les questions libres n'aspirent jamais tout le fichier — la sélection n'y est qu'un contexte facultatif.

Examiner et appliquer les modifications

Les commandes de modification ne réécrivent jamais votre texte en silence. Quand l'agent termine, une boîte d'examen s'ouvre avec un groupe de changements cochable et colorisé par modification — lignes supprimées en rouge, ajoutées en vert :

  • décochez les changements dont vous ne voulez pas ;
  • Appliquer remplace la sélection (ou le document entier, dans le cas sans sélection) par les seuls changements acceptés ;
  • Abandonner laisse le tampon exactement tel qu'il était.

Les changements appliqués sont des éditions ordinaires : Ctrl+Z les annule comme le reste. Le style de fins de ligne du fichier (CRLF/LF) est préservé. Si vous avez continué d'éditer pendant que l'agent travaillait et que le texte sous la sélection d'origine a changé, l'éditeur refuse d'appliquer et vous invite à relancer la commande — il ne colle jamais une modification périmée sur votre texte plus récent. Si l'agent refuse de faire une modification, son explication apparaît comme une réponse normale du chat au lieu d'un faux diff.

Les couleurs du diff suivent votre thème de couleurs : les thèmes peuvent définir des couleurs dédiées Diff added text / Diff removed text (modifiables dans Préférences → Coloration syntaxique → Thèmes) ; à défaut, l'éditeur choisit des valeurs lisibles pour les interfaces claires et sombres.

Conversations

Les questions libres forment une conversation continue : l'agent se souvient de vos questions et réponses précédentes. Il y a une conversation par dossier ouvert (ou par fichier, quand aucun dossier n'est ouvert), les projets sans rapport ne partagent donc pas de contexte. Les commandes de modification (.refactor, .fix, …) s'exécutent volontairement en un coup et ne polluent pas le contexte du chat. Les conversations ne sont pas conservées — redémarrer l'éditeur en démarre de nouvelles.

Arrêter une exécution

Pendant que l'agent travaille, une barre d'activité apparaît avec un bouton Stop — cliquez-le (ou appuyez sur Échap n'importe où dans le panneau) pour annuler. Le flux s'arrête, l'exécution est marquée [Cancelled] et aucune modification n'est appliquée. Appuyer sur Entrée en cours d'exécution ne met rien en file ; la ligne d'état rappelle que l'agent travaille encore.

Autoriser l'agent à modifier des fichiers

Par défaut, l'assistant est en lecture seule : chaque exécution lance l'agent avec ses outils de modification de fichiers, l'accès au shell et les sous-agents désactivés, si bien que les changements ne vous parviennent que comme propositions à examiner. Pour les moteurs aux drapeaux de permission vérifiés (Claude), c'est un blocage dur imposé par l'agent lui-même, quelle que soit la configuration de votre CLI.

La lecture seule n'est pas garantie pour tous les moteurs

Le blocage dur repose sur les drapeaux de permission du moteur. Les moteurs sans drapeaux vérifiés (Codex, Gemini) n'ont pas de tel interrupteur : l'éditeur ne peut que leur demander — en instruction de principe — de rester en lecture ; il ne peut pas l'imposer. Considérez la lecture seule comme non garantie pour ces moteurs : ils peuvent toujours écrire sur le disque, et leur comportement dépend en dernier ressort de la configuration de votre CLI. Gardez ce type de travail dans un dossier sous contrôle de version si cela compte pour vous.

La case Autoriser la modification de fichiers (à côté de la liste des moteurs, décochée par défaut, mémorisée entre les sessions) active l'édition côté agent :

  • les modifications de fichiers de l'agent sont acceptées automatiquement et il peut modifier des fichiers du dossier ouvert pendant une exécution ;
  • chaque écriture est signalée dans la conversation par [the agent modified a file: …], et les documents ouverts récupèrent les changements via la surveillance de fichiers normale de l'éditeur ;
  • à la fin de l'exécution, une ligne de résumé unique liste l'ensemble des fichiers touchés avec un compteur, p. ex. [modified files (3): …] ;
  • l'accès au shell et les sous-agents restent bloqués même avec l'option activée.

« Autoriser la modification de fichiers » peut écraser ou supprimer votre travail

Avec l'option activée, l'agent écrit directement sur le disque et ces écritures sont acceptées automatiquement — il n'y a pas de boîte d'examen par changement. L'agent peut écraser, supprimer ou corrompre des fichiers du dossier ouvert, et les modifications de fichiers que vous n'avez pas ouverts ne vous sont pas montrées en diff. N'activez cela que pour un dossier sous contrôle de version (Git, SVN, …) : committez ou remisez d'abord votre travail, puis inspectez chaque changement avec le diff du VCS et annulez l'indésirable — considérez le contrôle de version comme votre « annuler » pour les modifications de l'agent. Les moteurs sans drapeaux de permission vérifiés (Codex, Gemini) ignorent totalement cette option : leurs modifications ne dépendent que de la configuration de votre CLI.

Changer de moteur

Choisissez à tout moment un autre agent dans la liste Moteur (désactivée pendant une exécution active). Le changement annule la détection du moteur précédent, sonde le nouveau en arrière-plan et démarre des conversations neuves — un chat commencé avec un moteur ne peut pas être poursuivi par un autre.

Confidentialité et coût

Les requêtes sont envoyées par l'agent CLI que vous avez choisi, avec son propre compte et sa propre connexion réseau — l'éditeur n'ajoute ni télémétrie ni points de terminaison séparés. Ce qui est envoyé (votre sélection ou votre document et votre instruction) et ce que cela coûte relèvent de l'abonnement ou du forfait de cet agent.

Ce qui est livré aujourd'hui

Les commandes travaillent sur la sélection courante (ou le document entier, avec consentement) et, une fois acceptées, la remplacent. Il y a deux niveaux d'autorité : le flux propositions uniquement en lecture seule ci-dessus, ou l'option explicite Autoriser la modification de fichiers. Il n'y a pas d'examen séparé dans l'éditeur des écritures disque de l'agent — avec Autoriser la modification de fichiers activé, fiez-vous à votre contrôle de version.