Microsoft a publié Visual Studio Code 1.121, ajoutant la prise en charge des sessions d'agent sur une machine distante, des options de configuration des modèles utilitaires plus étendues, des optimisations du terminal pour les flux de travail pilotés par des agents, ainsi qu'une nouvelle prise en charge intégrée de l'aperçu pour les fichiers HTML et les diagrammes Mermaid.Visual Studio Code (communément appelé VS Code) est un environnement de développement intégré développé par Microsoft pour Windows, Linux, macOS et les navigateurs Web. Il offre notamment des fonctionnalités de débogage, de mise en évidence de la syntaxe, de complétion intelligente du code, d'extraits de code, de refactorisation du code et de contrôle de version intégré avec Git. Les utilisateurs peuvent modifier le thème, les raccourcis clavier et les préférences, ainsi qu'installer des extensions qui ajoutent des fonctionnalités, notamment pour étendre ses capacités afin qu'il puisse fonctionner comme un EDI pour d'autres langages.
Microsoft a publié Visual Studio Code 1.121 le 20 mai dernier, enrichit l'éditeur de Microsoft avec des aperçus Mermaid et HTML intégrés, des sessions d'agents IA à distance et des options de configuration des modèles plus étendues. Cette mise à jour introduit également des optimisations du terminal visant à réduire la consommation de ressources et l'utilisation de jetons lors des workflows des agents.
Agents distants (Aperçu)
La fenêtre « Agents » offre une prise en charge expérimentale permettant d'exécuter des sessions d'agent sur une machine distante dont vous êtes propriétaire et à laquelle vous pouvez vous connecter via SSH ou des tunnels de développement.
Connexion à un ordinateur distant
Les utilisateurs peuvent connecter la fenêtre Agents à un ordinateur distant de deux manières :
- SSH : sélectionnez l'une des entrées existantes dans ~/.ssh/config ou saisissez user@host.
- Tunnels de développement : sélectionnez l'un des tunnels que vous avez déjà créés en exécutant la commande code tunnel sur la machine cible.
Fonctionnement
Cette fonctionnalité est similaire aux extensions de développement à distance de VS Code, mais n'est pas identique. La fenêtre Agents se connecte à l'ordinateur distant, puis télécharge et installe la CLI de VS Code (SSH) ou se connecte au serveur CLI en cours d'exécution via un tunnel de développement que vous avez lancé. Elle lance un processus léger appelé « agent host », qui héberge une nouvelle boucle d'agent basée sur le SDK Copilot.
Il est important de noter que l'hôte de l'agent distant est un processus de longue durée. Les sessions en cours continuent de s'exécuter sur le serveur distant même si le client se déconnecte ; vous pouvez donc fermer votre ordinateur portable pendant que l'agent distant continue de fonctionner.
Protocole hôte d'agent
La connexion entre la fenêtre Agents et l'hôte d'agent repose sur un nouveau protocole ouvert appelé « Agent Host Protocol » (AHP). Microsoft le développe en toute transparence sous la forme d'une spécification autonome.
Le principe de conception fondamental de l'AHP réside dans le fait qu'il permet de coordonner simultanément les sessions des agents sur plusieurs clients. C'est en cela qu'il se distingue d'autres protocoles tels que l'ACP. Un hôte d'agent gère l'état de référence, le synchronise avec chaque client connecté et ordonne toutes les modifications à l'aide de réducteurs purs.
Comme AHP est un protocole ouvert, n'importe qui peut développer un client capable de se connecter à l'hôte de l'agent de la CLI de VS Code, ou créer un hôte d'agent AHP auquel VS Code peut se connecter.
Configurer les modèles utilitaires
VS Code utilise des modèles utilitaires en arrière-plan pour les tâches liées au chat, telles que la génération de titres, de résumés et de messages de commit, les suggestions de renommage, la catégorisation des invites et la détection d'intentions. Par défaut, ces tâches utilisent les modèles utilitaires fournis par GitHub Copilot.
Les utilisateurs peuvent utiliser leurs propres modèles disponibles, y compris les modèles BYOK (Bring Your Own Key), pour les flux suivants :
- chat.utilityModel : Remplace le modèle utilisé pour les flux utilitaires généraux.
- chat.utilitySmallModel : Remplace le modèle utilisé pour les flux utilitaires rapides et légers. Un modèle rapide et peu coûteux est recommandé pour ce paramètre.
Ces deux paramètres utilisent la valeur par défaut s'ils ne sont pas configurés, ce qui permet de conserver les modèles utilitaires fournis par GitHub Copilot.
Diagrammes Mermaid dans l'aperçu Markdown et les Notebooks
Microsoft a intégré l'extension « Markdown Preview Mermaid Support » de Matt Bierner à VS Code sous la forme d'une nouvelle extension intégrée appelée « Mermaid Markdown Features ». Cette extension permet d'afficher les diagrammes Mermaid dans l'aperçu Markdown intégré de VS Code, dans les cellules Markdown des notebooks et dans les chats.
Les diagrammes Mermaid peuvent être créés à l'aide d'un bloc de code Mermaid dans votre Markdown :
| Code markdown : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 | ```mermaid
flowchart LR
Sleep[Sleep] --> Wake{Awake?}
Wake -->|No| Sleep
Wake -->|Hungry| Snack[Get treat]
Wake -->|Not in in Sun?| Move[Move to sun]
Wake -->|Human is typing| Keyboard[Sleep on keyboard]
Snack --> Sleep
Move --> Sleep
Keyboard --> Sleep
``` |
Voici à quoi ressemble le diagramme dans l'aperçu Markdown :
Les diagrammes Mermaid générés prennent également en charge le défilement et le zoom, ce qui facilite l'examen des diagrammes volumineux sans quitter l'aperçu. Les utilisateurs peuvent également cliquer avec le bouton droit sur un diagramme pour copier son code source Mermaid.
Ouverture rapide des fichiers HTML dans le navigateur intégré
Auparavant, pour prévisualiser un fichier HTML, il fallait installer une extension, ce qui constituait une étape superflue pour une opération aussi courante. Les utilisateurs peuvent désormais ouvrir facilement des fichiers HTML locaux via l'option « Ouvrir dans le navigateur intégré » en cliquant avec le bouton droit sur le fichier dans l'Explorateur de fichiers, ou en cliquant avec le bouton droit sur l'onglet de l'éditeur lorsque le fichier est déjà ouvert. Ils peuvent également sélectionner l'icône « Aperçu » dans la barre de titre de l'éditeur lorsqu'un fichier HTML est actif.
Optimisations des outils du terminal
Commandes de terminal prenant en compte l'agent
Les outils en ligne de commande n'avaient aucun moyen de déterminer si une commande de terminal avait été lancée par un utilisateur ou par le flux d'agents de VS Code, ce qui signifiait que les animations de progression, les invites interactives et le formatage détaillé pouvaient bloquer ou perturber les sessions des agents.
VS Code définit désormais une variable d'environnement VSCODE_AGENT pour les commandes de terminal lancées par l'agent. Les interfaces en ligne de commande peuvent vérifier cette variable pour passer à un format de sortie lisible par la machine, désactiver les animations de progression ou ignorer les invites qui, autrement, bloqueraient la session.
Si vous gérez des scripts ou des interfaces en ligne de commande (CLI) qui adaptent déjà le comportement pour la CI ou d'autres agents, vous pouvez utiliser le même modèle pour les commandes lancées depuis Copilot Chat.
Indicateur d'exécution en arrière-plan pour les outils de terminal
Auparavant, lorsqu'une commande du terminal de chat continuait à s'exécuter après le retour de l'appel de l'outil, l'interface utilisateur de chat donnait l'impression que la commande était déjà terminée, ce qui rendait difficile de savoir si le traitement était toujours en cours.
Les appels d'outils affichent désormais le message « Running <command> in background - Show » tant que le terminal est actif. L'action « Show » vous permet d'afficher le terminal sous-jacent et d'y placer le focus. Une fois la commande terminée, l'en-tête revient à son état normal (terminée).
Cela permet de voir plus clairement quand une commande est encore en cours d'exécution en arrière-plan, notamment pour les exécutions asynchrones ou les commandes qui ont été transférées en arrière-plan après un timeout.
Nettoyage des terminaux des agents en arrière-plan
Auparavant, lorsqu'un utilisateur menait une session de chat de longue durée impliquant plusieurs commandes de terminal, des terminaux en arrière-plan s'accumulaient à la fin de chaque commande, ce qui encombrait la liste des terminaux d'entrées obsolètes et mobilisait des ressources.
VS Code ferme désormais automatiquement les terminaux en arrière-plan créés par l'agent de chat une fois la commande exécutée, tout en conservant le résultat de la commande dans l'interface utilisateur du chat. Si vous affichez un...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.