Workbench
Onglets enveloppants
Un nouveau paramètre "workbench.editor.wrapTabs" a été ajouté à Visual Studio Code et permet aux onglets de l'éditeur de s'habiller (s'envelopper) au lieu d'afficher une barre de défilement. Si l'espace disponible pour les onglets est trop petit, la fonction d'habillage sera temporairement désactivée, et vous verrez l'ancienne expérience avec une barre de défilement. Vous pouvez empêcher les onglets enveloppés de devenir trop grands en configurant "workbench.editor.tabSizing: shrink".
Onglets décoratifs
Deux nouveaux paramètres vous permettent de configurer si les onglets de l'éditeur affichent des décorations, telles que l'état de git ou les diagnostics. Utilisez le paramètre "workbench.editor.decorations.colors" pour décorer les onglets avec des couleurs, comme rouge/vert pour les fichiers comportant des erreurs et des avertissements, et utilisez "workbench.editor.decorations.badges" pour décorer les onglets avec des badges, comme M pour "git modified".
Open Editors caché par défaut
La vue "Open Editors" est maintenant cachée par défaut. Cela ne concerne que les nouveaux utilisateurs de VS Code, et les utilisateurs existants continueront à voir la vue "Open Editors". L'équipe de développement de l'éditeur a indiqué qu'elle a voulu présenter un aspect plus clair dans la vue "Explorateur" et pense que les fonctionnalités de la vue "Open Editors" sont couvertes dans d'autres zones du workbench, comme les onglets. La visibilité de la vue "Open Editors" peut être contrôlée par le menu contextuel dans la zone de titre de la vue "Explorer".
Nouveaux boîte de dialogue de confirmation
Si un utilisateur tente de quitter VS Code alors qu'une opération sur un fichier est en cours, l'éditeur affiche maintenant un dialogue de confirmation. Il affiche aussi un dialogue de confirmation pour les opérations d'annulation destructives depuis l'explorateur. L'équipe a déclaré que son objectif est de toujours éviter la perte de données, c'est pourquoi elle a introduit ces boîtes de dialogues pour s'assurer que cela ne se produise pas par accident.
Nouveau paramètre workbench.editor.enablePreviewFromCodeNavigation
Un nouveau paramètre workbench.editor.enablePreviewFromCodeNavigation vous permet d'activer explicitement les éditeurs de prévisualisation à partir des navigations de code, comme "Go to Definition". Dans la version précédente, l'équipe a changé la valeur par défaut pour ouvrir les éditeurs normalement à partir des navigations de code. Ce paramètre vous permet de choisir l'option que vous préférez.
Améliorations des performances et des fonctionnalités d'Emmet
Emmet travaille désormais beaucoup plus rapidement dans les fichiers HTML et CSS. L'extension utilise également la dernière version d'Emmet, ce qui signifie que des fonctionnalités telles que les comptes à rebours sont désormais prises en charge.
Mode de recherche par défaut
Le paramètre "search.mode" est maintenant disponible pour permettre de configurer les commandes de recherche de l'interface utilisateur comme "Search: Find in Files", et les entrées du menu contextuel de l'explorateur "Find in Folder..." et "Find in Workspace" utilisent, avec les options de :
- view : comportement existant par défaut, recherche en utilisant la vue de recherche dans la barre latérale ou le panneau ;
- newEditor : rechercher dans un nouvel éditeur de recherche ;
- existingEditor : réutilisation d'un éditeur de recherche ouvert existant, s'il existe, sinon création d'un nouvel éditeur ;
Dans le passé, il était conseillé de configurer l'interface utilisateur de recherche par défaut en modifiant les raccourcis clavier. Cela n'est plus nécessaire et ces raccourcis clavier peuvent être supprimés en faveur de ce paramètre.
Éditeur
- il y a de nouvelles variables d'extrait de code pour l'insertion des UUID, et pour l'insertion du chemin relatif du fichier courant ;
- il existe une nouvelle commande "Transform to Snake Case" qui convertira le texte sélectionné en casse serpent (par exemple, myVariable -> my_variable).
Débogage
Démarrer la même configuration de débogage plusieurs fois
L'équipe a annoncé qu'elle a supprimé la restriction selon laquelle une seule session de débogage peut être lancée à partir d'une configuration de lancement. Vous pouvez maintenant démarrer plusieurs sessions simultanées en appuyant sur le bouton vert d'exécution dans le menu déroulant de la configuration de débogage un nombre illimité de fois. Chaque session de débogage aura un numéro ajouté à la fin du nom afin de pouvoir les distinguer facilement.
Terminal intégré
Contrôle des flux
La connexion entre les processus du terminal et le frontend est maintenant protégée par un mécanisme de contrôle de flux qui mettra le processus en pause lorsque le frontend aura besoin de rattraper son retard. Auparavant, cela entraînait des problèmes de stabilité/performance lors de l'utilisation d'un terminal dans une connexion à distance. Ce changement ne s'applique qu'à l'utilisation de la fonctionnalité de remoting de VS Code pour l'instant, mais l'équipe a annoncé qu'il sera bientôt utilisé pour les fenêtres locales, après qu'elle aura ajusté l'endroit où les processus du terminal seront lancés.
Meilleure prise en charge de PowerShell 7
VS Code prend en charge désormais PowerShell 7, qui est la dernière version de PowerShell, qui peut être installée sur Windows, macOS et Linux. Si vous installez PowerShell 7 sur Windows, VS Code l'utilisera comme Shell par défaut. Si vous n'avez pas PowerShell 7 installé, VS Code continuera à utiliser Windows PowerShell comme Shell par défaut. De plus, si vous ouvrez le Quick Pick du Shell par défaut, l'énumération de toutes les versions de PowerShell installées s'affichera (installation MSI, installation Microsoft Store, etc.).
L'équipe note que la découverte et l'énumération des Shells par défaut de macOS et Linux ne sont pas affectées par cela, car elles utilisent le jeu par défaut du système d'exploitation et de /etc/shells respectivement. De plus, le paramètre "terminal.integrated.shell.windows" est toujours respecté.
Langues
Prévisualisation des mises à jour automatiques
Avec la sortie de VS Code 1.53, l'aperçu de Markdown se met désormais automatiquement à jour lorsque des images intégrées sont modifiées sur le disque. Cela peut se produire lorsque vous modifiez le fichier image en utilisant un programme externe ou à partir d'une opération de contrôle de la source, comme le changement de branche.
Bloc-notes
Plan et fil d'Ariane
Les cellules du bloc-notes s'affichent désormais dans le volet du plan et dans le fil d'Ariane. Cela permet une meilleure vue d'ensemble et une navigation rapide dans les blocs-notes.
Deux paramètres vous permettent de définir si les cellules de code font partie du schéma ou non :
- notebook.outline.showCodeCells : si le contour contient des cellules de code ;
- notebook.breadcrumbs.showCodeCells : si le fil d'Ariane contient des cellules de code ;
Éditeur de différences pour Bloc-notes
L'éditeur de différences pour les documents du Bloc-Notes permet maintenant de rendre des résultats riches comme des tableaux, des images ou des sorties HTML. Cette fonction est actuellement disponible dans "Insiders" et vous pouvez installer l'extension Jupyter ou ".NET Interactive" pour avoir un aperçu. L'équipe a aussi amélioré les performances de défilement afin d'assurer une expérience fluide lors de la navigation des changements dans l'éditeur de différences.
Contrôle des sources
Git
- l'équipe a ajouté une nouvelle commande à la palette de commandes de Git. "Git: Open All Changes" ouvre tous les fichiers modifiés et non suivis ;
- VS Code vous avertira désormais chaque fois que vous tenterez d'extraire (ou de synchroniser) et que la branche actuelle semble avoir été rebasée (par exemple, lorsque l'historique publié a été réécrit).
Git : Nouveaux paramètres
De nouveaux paramètres Git ont été ajoutés :
- git.requireGitUserConfig : dans VS Code 1.51, l'équipe a apporté un changement de confidentialité pour exiger un nom d'utilisateur ou une adresse e-mail avant de valider. Vous pouvez maintenant désactiver cette exigence si vous le souhaitez ;
- git.ignoreRebaseWarning : désactive le nouvel avertissement lorsque vous extrayez (ou synchronisez) et que la branche actuelle a été rebasée ;
- git.autofetch : l'option "Auto fetch" peut maintenant être réglée sur "all" pour récupérer toutes les remotes.
Fonctionnalités expérimentales
Recherche dans les éditeurs ouverts
Cette version s'accompagne d'un support expérimental pour la recherche dans les éditeurs ouverts, qui est une fonctionnalité très demandée depuis un certain temps. Cette fonctionnalité est activée par défaut dans Insiders, et peut être activée avec le paramètre "search.experimental.searchInOpenEditors" dans Stable.
Support de TypeScript 4.2
Cette version continue à améliorer le support pour la prochaine version du surensemble de Microsoft TypeScript 4.2. Voici quelques-unes des améliorations de l'éditeur qu'il permet :
- les modèles JS Doc génèrent désormais un @return ;
- les API DOM obsolètes sont désormais marquées comme telles ;
- une solution rapide pour déclarer les fonctions manquantes ;
- support natif de la mise en évidence sémantique, au lieu d'utiliser un plug-in de service TypeScript ;
- pour commencer à utiliser les nightly builds de TypeScript 4.2, il suffit d'installer l'extension TypeScript Nightly.
Nouvelle commande Find References to File
Si vous utilisez TypeScript 4.2, vous pouvez également essayer la nouvelle commande "Find References to File" pour JavaScript et TypeScript afin de trouver tous les endroits où un fichier est référencé.
Vous pouvez déclencher cette commande de plusieurs façons différentes :
- pour le fichier actif à l'aide de TypeScript: Find References to File ;
- cliquez avec le bouton droit sur un onglet de l'éditeur et sélectionnez "Find References to File" ;
- cliquez avec le bouton droit sur un fichier dans l'explorateur de fichiers et sélectionnez "Find References to File".
Création d'extension
Thèmes des icônes des produits
Les API des thèmes d'icônes de produits sont désormais stables. Les auteurs de thèmes peuvent publier des thèmes qui remplacent les icônes intégrées utilisées dans les vues et les éditeurs. Les utilisateurs peuvent passer à de nouveaux thèmes avec la commande "Preferences: Product Icon Theme".
Couleur de fond de l'entrée de la barre d'état API
La couleur de fond proposée précédemment pour l'API StatusBarItem est désormais stable. Actuellement, seul le fichier "statusBarItem.errorBackground" est pris en charge pour éviter que la barre d'état ne soit trop colorée. L'équipe a annoncé qu'elle va étendre cette prise en charge à d'autres couleurs à l'avenir. Le cas d'utilisation de cette nouvelle API est de permettre aux extensions d'indiquer les conditions d'erreur dans la barre d'état. Par exemple, l'extension ESLint peut décider d'utiliser cette couleur pour alerter l'utilisateur qu'ESLint n'a pas encore été activé pour un espace de travail.
API de l'extension Git
- un nouvel événement API.onDidPublish a été ajouté, qui se déclenche lorsqu'un dépôt ou une branche est publié à partir de l'extension de Git pour VS Code ;
- une nouvelle méthode API.openRepository a été ajoutée, pour permettre aux extensions d'indiquer à l'extension Git les autres dépôts Git, par exemple, en dehors de l'espace de travail, ou plus profondément imbriqués à l'intérieur de celui-ci ;
- la méthode API.push dispose maintenant d'un paramètre de force optionnel supplémentaire ;
- CommitOptions de la méthode API.commit a maintenant un requireUserConfig optionnel supplémentaire pour éviter de demander un utilisateur ou une adresse e-mail.
Ingénierie
Améliorations des performances
L'équipe a déclaré qu'il y a eu un travail considérable autour des infrastructures GitHub Actions et Azure DevOps Pipelines. Grâce à ces améliorations, les constructions sont désormais plus rapides et plus fréquentes. La construction de VS Code prend désormais deux fois moins de temps qu'auparavant.
Support d'Electron 11
Dans cette étape, l'équipe a terminé l'exploration pour une prise en charge complète d'Electron 11 VS Code. Pour l'équipe, il s'agit d'une étape importante dans la prise en charge d'Electron 11, qui s'accompagne de Chrome 87.0.4280.141 et de Node.js 12.18.3. Toutefois, il faut noter qu'il y a certains changements de rupture. L'équipe a annoncé qu'elle a dû modifier son image de construction pour utiliser Ubuntu-18.04 pour les machines Linux x64 pour prendre en charge Electron. Cette mise à jour a augmenté le minimum requis par GLIBCXX à 3.4.22 pour les modules natifs, ce qui rompt le support des anciennes distributions sur le bureau.
Après quelques modifications du système de compilation, l'équipe a pu revenir en arrière et utiliser la chaîne d'outils gcc-5, ce qui porte la configuration minimale requise pour GLIBCXX à 3.4.21. Avec ces changements, voici les distros connues pour fonctionner avec l'application x64 :
- Ubuntu 16.04 et plus récent ;
- Fedora 24 et plus récent ;
- Debian 9 et plus récent ;
- CentOS 8 et plus récent.
Les composants de développement à distance continuent d'utiliser la version 3.4.19 de GLIBCXX, il n'y a donc pas de changement dans les plateformes prises en charge. Une solution pour les autres distributions consisterait à installer la chaîne d'outils gcc-5 ou supérieure pour éviter l'erreur GLIBCXX avec les modules natifs, mais il n'y a aucune garantie que tous les composants du runtime fonctionneront correctement. Il est également possible d'utiliser la suite de développement à distance pour travailler avec les anciennes distributions.
Apple Silicon Insiders
Grâce à Electron 11, l'équipe continue à faire des progrès pour prendre en charge pleinement Apple Silicon. Pour le build Insiders, elle propose trois variantes de téléchargement sous macOS :
- une version x64 pour les appareils Mac avec puce Intel ;
- une version arm64 pour les appareils Mac avec puce en silicium d'Apple ;
- une version universelle pouvant fonctionner en natif sur l'un ou l'autre des appareils ci-dessus.
La version universelle est l'option de téléchargement par défaut sur le site Web. L'équipe a déclaré qu'elle s'efforce de supprimer les téléchargements spécifiques à l'architecture dans le courant de l'année. D'autres mises à jour suivront dans les prochaines itérations. Les applications universelles sont créées en regroupant les versions x64 et arm64 des applications, d'où une augmentation significative de la taille des téléchargements pour la première installation, mais simplifie la transition pour un utilisateur vers les nouveaux Apple Silicon Macs.
En outre, l'équipe annonce avoir initialement prévu de rendre stable cette itération pour les Apple Silicon builds. Cependant, à la fin de l'itération, des utilisateurs ont signalé que sur macOS Big Sur 11.2, le chargement d'un module WASM faisait planter l'hôte de l'extension.
Corrections notables
- changer debug.console.wordWrap ne devrait pas nécessiter de redémarrage ;
- terminal rempli de ^[[D^[[D^[[D^[[D lors d'un clic alt-clic sur un lien ;
- ne pas inclure les paramètres modifiés avec des valeurs par défaut dans les paramètres utilisateur ;
- la sortie du débogueur est décalée et instable lors du défilement ;
- le bord de la fenêtre entraîne un léger décalage des vues sur le Web ;
- "Toggle Editor Type" crée une nouvelle vue corrompue qui ne peut pas être ouverte ;
- l'action dans l'explorateur est interrompue peu après la création d'un dossier ;
- accessibilité des liens dans le widget d'exception ;
- taille maximale de la pile d'appel dépassée pour les longs chemins d'accès aux fichiers avec des éditeurs personnalisés ;
- informer les utilisateurs des éditeurs qui n'ont pas pu être sauvegardés pour hotexit ;
- Watch: copy value doit respecter la multisélection.
Source : Visual Studio Code January 2021 (v1.53)
Et vous ?
Que pensez-vous des nouvelles fonctionnalités de Visual Studio Code 1.53 ?
Voir aussi
La version 1.51 de Visual Studio Code est disponible, rend les onglets épinglés plus visibles et permet d'installer une extension à partir de l'explorateur de fichier
Visual Studio Code 1.50 s'accompagne de l'amélioration de l'expérience avec les onglets épinglés, ainsi que de l'amélioration de l'expérience de débogage
Adobe XD, une extension pour Visual Studio Code, est disponible pour créer et consommer des systèmes de design, il permet aux développeurs de mapper visuellement les sources de conception
Debug Visualizer, une extension VS Code pour visualiser les structures de données lors du débogage qui fonctionnerait avec tous les langages qui peuvent être débogués dans VS Code