Microsoft annonce la sortie de Visual Studio Code 1.119, avec des améliorations en matière d'intégration entre l'agent et le navigateur, de traçage et d'utilisation des jetons
Microsoft a publié Visual Studio Code 1.119. Cette version améliore l'intégration navigateur-agent, permettant ainsi aux agents IA de demander et d'utiliser l'accès au navigateur au sein de l'environnement. Elle ajoute également la fonctionnalité de traçage OpenTelemetry pour un suivi plus efficace des sessions des agents, optimise l'utilisation des jetons pour la gestion des listes de tâches et réduit les interruptions de flux de travail liées à la confiance réseau et à l'accès aux dossiers temporaires. Par ailleurs, la mise à jour optimise les flux de travail Markdown grâce à des transitions plus rapides entre l'aperçu et l'édition du code source.
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.
Interaction entre l'agent et le navigateur
Visual Studio Code 1.119 introduit l'intégration navigateur-agent, permettant aux agents de demander et d'utiliser l'accès au navigateur au sein de l'environnement.
Lorsque les agents ont accès à un navigateur en direct, ils peuvent valider les modifications en temps réel et itérer plus rapidement. En matière de développement web, un agent peut modifier le code, recharger la page et vérifier que la correction a bien été appliquée en une seule étape. Pour les workflows de conception, l'agent peut comparer le résultat affiché par rapport à l'intention de l'utilisateur et affiner la mise en page ou le style à la volée.
Un agent n'a pas automatiquement accès au navigateur intégré. Les utilisateurs doivent explicitement partager les pages du navigateur avec l'agent pour que celui-ci puisse interagir avec elles. Cela permet de préserver la confidentialité des données sensibles.
Dans cette version, Microsoft a ajouté de nouvelles façons de partager des navigateurs avec un agent :
Ajouter des onglets de navigateur en tant que contexte
Les onglets de navigateur peuvent désormais être explicitement ajoutés à la conversation via les méthodes habituelles, telles que les suggestions de contexte, le sélecteur de contexte et le glisser-déposer.
Lorsqu'un onglet de navigateur est connecté, il passe en mode de partage, ce qui permet à l'agent de lire le contenu de la page et d'interagir avec celle-ci. Les utilisateurs peuvent cliquer sur le bouton de partage dans le navigateur pour mettre fin au partage une fois qu'ils ont terminé.
Demandes de partage de page initiées par les agents
Les agents ont désormais accès à des informations sur le nombre d'onglets de navigateur ouverts et non partagés. Ils peuvent demander à partager un onglet ouvert lorsqu'ils ont besoin d'interagir avec une page, et l'utilisateur peut accepter ou refuser cette demande via une fenêtre contextuelle.
Lorsqu'un utilisateur tente d'ouvrir un nouvel onglet sur le même domaine qu'un onglet existant non partagé, une fenêtre contextuelle s'affiche pour lui demander s'il souhaite réutiliser l'onglet existant. Cette fonctionnalité vise à encourager la réutilisation des onglets et à réduire l'encombrement.
Utilisation optimisée des jetons pour la gestion des listes de tâches (expérimental)
Cette mise à jour adopte un modèle plus léger pour la gestion de la liste des tâches des agents. Ces listes aident un agent à rester sur la bonne voie lors de tâches complexes comportant plusieurs étapes, en lui fournissant un relevé précis de ce qui a été fait et de ce qui reste à faire. Cependant, chaque appel effectué par le modèle principal pour mettre à jour une liste de tâches coûte des jetons, et ces coûts s'accumulent au fil des longues sessions.
En confiant la gestion de la liste des tâches à un agent d'arrière-plan léger, le modèle principal peut se concentrer sur la tâche proprement dite tandis qu'un modèle plus petit assure la synchronisation du suivi de l'avancement. Cela permet de réduire la consommation globale de jetons sans sacrifier les instructions qui permettent à l'agent de rester focalisé.
Lorsque ce paramètre est activé, l'agent d'arrière-plan surveille l'activité de l'agent principal et met à jour la liste des tâches afin de refléter les tâches terminées et celles en cours. L'agent principal n'aura pas accès à l'outil de gestion des tâches, ce qui permet de réduire le coût en jetons des conversations.
Remarque : si l'outil « todo » est ajouté manuellement à la requête de chat (par exemple avec #todo), ou si un agent personnalisé le spécifie dans sa liste d'outils, l'agent d'arrière-plan est désactivé et ne s'exécute pas.
Cette fonctionnalité est désactivée par défaut. Pour l'essayer, activez le paramètre github.copilot.chat.agent.backgroundTodoAgent.enabled.
Traçage OpenTelemetry pour les sessions d'agent
Cette mise à jour intègre la fonctionnalité de traçage OpenTelemetry afin d'améliorer la visibilité sur les sessions des agents. À mesure que les sessions d'agent s'allongent et gagnent en autonomie, il devient essentiel de comprendre ce que l'agent a fait, combien de temps chaque étape a pris et où les jetons ont été utilisés pour optimiser les coûts et déboguer les comportements inattendus. OpenTelemetry est le cadre d'observabilité de référence dans ce secteur.
Les sessions des agents Copilot Chat, notamment l'agent local, l'agent d'arrière-plan Copilot CLI et l'agent Claude, génèrent désormais des traces, des métriques et des événements OpenTelemetry conformes aux conventions sémantiques GenAI. Les utilisateurs peuvent ainsi surveiller le comportement des agents, la latence et l'utilisation des jetons dans n'importe quel backend compatible OTLP (par exemple, le tableau de bord Aspire).
Chaque requête utilisateur génère un span racine invoke_agent (par exemple, invoke_agent claude) contenant des chat imbriqués, des spans execute_tool et execute_hook. Les invocations de sous-agents sont automatiquement rattachées au span execute_tool de l'agent appelant, ce qui offre une visibilité complète sur le travail de l'agent au sein d'une seule trace connectée. Les spans fournissent des informations sur l'utilisation des modèles et des jetons, y compris le détail des lectures et des créations de cache.
Pour l'essayer, activez github.copilot.chat.otel.enabled et configurez github.copilot.chat.otel.otlpEndpoint pour qu'il pointe vers votre collecteur.
Confiance et efficacité des développeurs
Les utilisateurs bénéficieront désormais d'une réduction des interruptions de flux de travail liées à la confiance réseau ou à l'accès aux dossiers temporaires.
Autoriser l'accès au réseau dans les environnements sandbox des agents
Le sandboxing des agents protège le système de l'utilisateur en limitant l'accès des outils de l'agent, mais un blocage réseau trop strict peut constituer un obstacle lorsque les agents doivent installer des paquets, appeler des API ou exécuter des serveurs de développement.
Le paramètre chat.agent.sandbox.enabled dispose désormais d'un mode allowNetwork qui maintient les restrictions du système de fichiers tout en supprimant le blocage des domaines réseau, ce qui permet de bénéficier d'une protection sandbox sans subir d'interruptions constantes lors de l'accès au réseau.
"chat.agent.sandbox.enabled": "allowNetwork"
Pour l'essayer, activez chat.agent.sandbox.enabled. Lorsque l'accès au réseau est autorisé pour le bac à sable, les paramètres chat.agent.allowedNetworkDomains et chat.agent.deniedNetworkDomains sont ignorés.
Approbation automatique des écritures dans le dossier temporaire pour les commandes autorisées par la session
Les demandes d'autorisation fréquentes pour les écritures de fichiers courantes peuvent ralentir les flux de travail de l'agent. Lorsque le paramètre chat.tools.terminal.blockDetectedFileWrites est défini sur sa valeur par défaut outsideWorkspace, les commandes du terminal qui écrivent en dehors de l'espace de travail nécessitent une autorisation, même si l'utilisateur a sélectionné « Autoriser toutes les commandes dans la session ».
Les écritures dans le dossier temporaire du système d'exploitation (/tmp sous macOS et Linux, %TEMP% sous Windows) ne sont désormais plus soumises à cette vérification lorsque l'option « Autoriser toutes les commandes dans la session » est activée.
Cela signifie que les flux de travail courants des agents qui enregistrent des fichiers temporaires dans le dossier « temp » n'interrompent plus la session, tandis que les écritures vers d'autres emplacements en dehors de l'espace de travail nécessitent toujours une confirmation.
Aperçu Markdown
Enfin, Visual Studio Code 1.119 améliore l'édition Markdown en permettant de basculer rapidement entre le code source et l'aperçu. Microsoft a simplifié le passage entre l'éditeur actuel et l'aperçu Markdown. VS Code proposait cette fonctionnalité depuis un certain temps déjà, mais elle passait souvent inaperçue. Ces nouveaux boutons et commandes la rendent désormais beaucoup plus accessible.
Dans un fichier Markdown, cliquez sur ce bouton dans la barre d'outils ou exécutez la commande « Markdown : Passer en mode Aperçu ».
Une fois l'aperçu ouvert, vous pouvez cliquer sur le bouton « Passer à la vue Éditeur » ou utiliser la commande correspondante pour revenir à la vue du code source.
Réorganisation des paramètres Markdown
Pour aider les utilisateurs à découvrir et à gérer les paramètres de la prise en charge intégrée de Markdown dans VS Code, Microsoft a créé quelques groupes de base dans l'éditeur de paramètres, sous Extensions > Fonctionnalités du langage Markdown.
Tous les identifiants de paramètres restent inchangés, mais tous les paramètres liés à l'aperçu Markdown intégré sont désormais regroupés dans la sous-section « Aperçu ».
Source : Microsoft
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous des nouveautés proposées par cette version ? Les trouvez-vous utiles et intéressantes ?
Voir aussi :
Microsoft publie Visual Studio Code 1.118 qui introduit la gestion à distance des sessions Copilot CLI, l'application Visual Studio Code Agents en préversion et l'indexation sémantique
Microsoft publie Visual Studio Code 1.116, incluant les journaux de débogage pour les sessions d'agent précédentes, le réglage de l'effort de raisonnement dans Copilot CLI et l'intégration de GitHub Copilot
Partager