Voici quelques nouveautés de cette version :
- Multi-sélection des onglets de l'éditeur - Sélectionnez et effectuez des actions sur plusieurs onglets simultanément.
- Profils - Ouvrez de nouvelles fenêtres avec votre profil préféré.
- Actions de l'éditeur - Accédez immédiatement aux actions de l'éditeur à travers les groupes d'éditeurs.
- Extensibilité de Copilot - Intégrez l'IA dans vos extensions grâce à l'API Chat et Modèle de langage.
- VS Code Speech - Lisez automatiquement les réponses de Copilot Chat avec la synthèse vocale.
- Recherche dans les carnets - Limitez la recherche aux cellules sélectionnées dans les carnets.
- Contexte du chat - Attachez rapidement différents types de contexte dans le chat.
- IntelliSense dans les réponses au chat - Mieux comprendre le code généré avec IntelliSense.
Sélection multiple des onglets de l'éditeur
Vous pouvez désormais sélectionner plusieurs onglets simultanément, ce qui vous permet d'appliquer des actions à plusieurs éditeurs à la fois. Cette nouvelle fonctionnalité vous permet de déplacer, d'épingler ou de fermer plusieurs onglets en une seule action. Pour ajouter un autre onglet à votre sélection, utilisez Ctrl + Clic (Cmd + Clic sur macOS). Pour sélectionner une série d'onglets, utilisez Maj + Clic.
Configurer un profil personnalisé pour une nouvelle fenêtre
Auparavant, lorsque vous ouvriez une nouvelle fenêtre VS Code, elle utilisait le profil de la fenêtre active ou le profil par défaut, s'il n'y avait pas de fenêtre active. Vous pouvez désormais spécifier le profil à utiliser lors de l'ouverture d'une nouvelle fenêtre en configurant le paramètre window.newWindowProfile.
Toujours afficher les actions de l'éditeur
Cette version introduit le paramètre Toujours afficher les actions de l'éditeur. Lorsque vous activez ce paramètre, les actions du titre de l'éditeur de chaque groupe d'éditeurs sont toujours affichées, que l'éditeur soit actif ou non.
Lorsque le paramètre n'est pas activé (valeur par défaut), les actions de l'éditeur ne sont affichées que lorsque l'éditeur est actif. Si vous activez le paramètre, les actions de l'éditeur sont toujours disponibles, même si l'éditeur n'est pas actif.
Chat et API de modèle de langage
Cette version finalise les API qui permettent aux extensions de participer au chat et d'accéder aux modèles de langue. Ces API sont finalisées mais ne sont actuellement disponibles que dans VS Code Insiders.
Chat Participants
L'API Chat Participants permet aux extensions d'étendre GitHub Copilot Chat avec un participant au chat qui peut être invoqué dans le champ de saisie du chat avec @. Le participant peut répondre aux demandes des utilisateurs avec du markdown, une arborescence de fichiers, des boutons pour exécuter des commandes VS Code, ou d'autres types de contenu.
Modèle de langage
L'API Modèle de langage permet d'accéder aux modèles de chat de Copilot, tels que gpt-3.5 et gpt-4. Cette API peut être utilisée pour les participants au chat mais aussi pour enrichir d'autres fonctionnalités. L'API est construite autour des objets LanguageModelChat, qui sont utilisés pour les demandes de chat et pour le comptage des jetons.
La seule façon d'accéder aux objets de chat est la fonction vscode.lm.selectChatModels. Cette fonction accepte un sélecteur pour restreindre les différentes propriétés des modèles de chat, par exemple par fournisseur, famille, version ou identifiant. Les valeurs sont relativement libres et doivent être recherchées dans la documentation des extensions qui les fournissent. Aujourd'hui, seule l'extension Copilot Chat fournit des modèles de chat. Elle utilise le fournisseur Copilot et les familles actuelles sont gpt-3.5-turbo et gpt-4, mais elles sont sujettes à modification.
L'extrait montre comment sélectionner tous les modèles de chat du fournisseur Copilot :
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 | const models = await vscode.lm.selectChatModels({ vendor: 'copilot' }); if (models.length === 0) { // no models available return; } |
- La fonction renvoie un tableau vide si aucun modèle n'est disponible et les extensions doivent gérer ce cas.
- Les modèles de chat de Copilot nécessitent le consentement de l'utilisateur avant qu'une extension puisse les utiliser. Le consentement est implémenté comme un dialogue d'authentification. Pour cette raison, selectChatModels doit être appelé dans le cadre d'une action initiée par l'utilisateur, comme une commande, et non pas "à l'improviste".
Avec un objet de chat à portée de main, les extensions peuvent maintenant l'utiliser pour envoyer des demandes de chat. L'extrait suivant montre comment envoyer une requête de chat et traiter le flux de réponses.
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 | // take the first model and say "Hello" const [chat] = models; const messages = [vscode.LanguageModelChatMessage.User('Hello')]; const response = await chat.sendRequest(messages); // the response is always an async iterable that can be consumed with for-await for await (const part of response.text) { console.log(part); } |
Bibliothèque @vscode/prompt-tsx : Pour faciliter le développement d'extensions GitHub Copilot pour VS Code, Microsoft a développé et publié une bibliothèque basée sur TSX pour déclarer des invites complexes et les convertir en messages de chat, sous réserve des limites de la fenêtre contextuelle de votre LLM. Pour ce faire, ils se sont inspirés de la bibliothèque priompt d'Anysphere.
VS Code Speech
Cette version ajoute la prise en charge des capacités de synthèse vocale à l'extension VS Code Speech. Un nouveau paramètre accessibility.voice.autoSynthesize peut être activé pour lire automatiquement à haute voix les réponses de Copilot Chat lorsque la voix a également été utilisée comme entrée.
Remarquez que l'icône du microphone dans le champ de saisie change, indiquant que le texte est lu à haute voix. Pour interrompre la synthèse, sélectionnez l'icône ou appuyez sur Echap.
Chaque réponse au chat affiche également une nouvelle icône de haut-parleur, ce qui vous permet de lire sélectivement une réponse à haute voix :
Vous pouvez modifier la langue utilisée pour la synthèse vocale via le paramètre accessibility.voice.speechLanguage existant.
Recherche dans la sélection de cellules
Lorsque vous êtes dans un carnet de notes, vous pouvez désormais utiliser le contrôle Rechercher pour effectuer une recherche dans des plages spécifiques de cellules sélectionnées.
Après avoir défini notebook.experimental.find.scope.enabled sur true, l'onglet Recherche dans la sélection de cellules sera disponible dans le contrôle Find. Vous pouvez alors sélectionner une plage de cellules et ouvrir le contrôle Find ou, s'il est déjà ouvert, sélectionner le bouton Recherche dans la sélection de cellules.
Copilote GitHub : Associer un contexte au chat
Pour rendre vos invites de chat plus spécifiques, vous pouvez ajouter du contexte à vos messages de chat. Vous pouvez maintenant attacher plus de types de contexte à un message de chat, tels que les symboles d'espace de travail. Auparavant, vous utilisiez le symbole # pour faire référence à un fichier ou à la sélection en cours. Désormais, vous pouvez joindre un contexte à un message de discussion en sélectionnant l'icône 📎 dans le champ de saisie de l'affichage de la discussion, ou en tapant Ctrl+/.
Conseil : utilisez la touche fléchée droite pour joindre rapidement un contexte en arrière-plan tout en gardant le sélecteur de contexte ouvert. Lorsque vous êtes dans l'éditeur, vous pouvez également cliquer avec le bouton droit de la souris sur une sélection et choisir Copilote > Ajouter la sélection à la discussion.
Copilote GitHub : IntelliSense dans les blocs de code du chat
Cette version prend désormais en charge l'IntelliSense de base dans les blocs de code générés par Copilot. Cela vous permet d'utiliser la plupart des outils IntelliSense que vous utilisez déjà dans l'éditeur et peut vous aider à mieux comprendre le code généré.
Les fonctions IntelliSense prises en charge sont les suivantes :
- Aller à la définition en utilisant ctrl click / cmd click ou F12
- Survols
- Aller à l'implémentation
- Aller à la définition du type
IntelliSense peut même être utilisé avec @workspace pour connaître les symboles de l'espace de travail utilisés dans les réponses de Copilot.
IntelliSense pour les blocs de code TypeScript, JavaScript, HTML et CSS est disponible en standard. Pour la prise en charge de langues supplémentaires, essayez d'installer une extension pour cette langue, bien que toutes les extensions de langues ne prennent pas déjà en charge l'IntelliSense pour les blocs de code.
Source : Annonce de la version Mai 2024 de Visual Studio Code
Et vous ?
Quel est votre avis sur le sujet ?
Voir aussi :
Microsoft présente la version de février 2024 de Microsoft Visual Studio Code 1.87 avec Code Speech et l'extension Copilot
L'extension Unity pour Microsoft Visual Studio Code est disponible, s'appuyant sur le Dev Kit C# et les extensions C#, elle offre une boîte à outils complète pour le développement avec Unity
Comment la dernière mise à jour de Visual Studio Code déployée par Microsoft a cassé l'éditeur sur Ubuntu 18.04 LTS, laissant les développeurs dans l'embarras et à la recherche de solutions