8 pièce(s) jointe(s)
Microsoft rend disponible Visual Studio Code version 1.32 qui s'accompagne de nombreuses améliorations
Microsoft rend disponible Visual Studio Code version 1.32 qui s'accompagne de nombreuses améliorations,
comme la possibilité de résoudre automatiquement des problèmes courants
Cette version contient un certain nombre de mises à jour significatives parmi lesquelles :
- la possibilité de prévisualiser et d'appliquer des thèmes de couleur : installez et appliquez de nouvelles extensions de thème sans recharger.
- des améliorations apportées à l'éditeur de raccourcis clavier : modifiez les conditions de type «when» dans l'éditeur.
- des commandes de survol du panneau Problèmes : appliquez des solutions rapides ou ouvrez une fenêtre Peek directement à partir des survols.
- des actions de code préférées : les actions de code préférées (généralement probables) prennent en charge la résolution automatique des problèmes courants.
- la personnalisation de la console de débogage : modifiez la taille de la police, la famille de polices et la hauteur de ligne de la console de débogage.
- de meilleurs attributs IntelliSense pour ARIA : Descriptions plus détaillées des attributs d’accessibilité HTML.
Table de travail
Prévisualiser et appliquer de nouveaux thèmes
Vous pouvez maintenant prévisualiser et appliquer des thèmes de couleurs et d'icônes de fichiers immédiatement après avoir installé une extension qui les contribue.
Éditeur de raccourcis clavier
Vous pouvez maintenant modifier la clause when d'une liaison au clavier dans l'éditeur de raccourcis clavier.
L'équipe a supprimé le lien qui ouvre votre fichier keybindings.json de l'éditeur de raccourcis clavier au profit du bouton {} situé à droite de la barre de titre de l'éditeur.
Lorsque vous modifiez directement votre fichier keybindings.json, les associations de touches par défaut ne sont plus affichées à gauche. Si vous préférez voir les associations de touches par défaut, vous pouvez vérifier le paramètre Table de travail > Paramètres : Ouvrir les associations de clés par défaut (workbench.settings.openDefaultKeybindings à true).
Paramétrage de la navigation automatique au clavier
Un nouveau paramètre Liste: Navigation clavier automatique détermine si les listes et les arbres capturent les touches du clavier lexicographiques afin de naviguer et de filtrer les éléments. Si cette option est désactivée, la navigation au clavier devient modale et la commande list.toggleKeyboardNavigation bascule son état. Vous pouvez affecter un raccourci clavier spécifique à cette commande. Par exemple, vous pouvez le définir sur / et uniquement après avoir appuyé sur /, les touches suivantes permettront d’appuyer sur les touches pour filtrer les éléments dans les listes / arborescences. Ce paramètre est activé par défaut.
Vous trouverez ci-dessous le raccourci clavier pour basculer la navigation au clavier avec / pour l'explorateur de fichiers:
Code:
1 2 3 4 5
| {
"key": "/",
"command": "list.toggleKeyboardNavigation",
"when": "filesExplorerFocus"
} |
Style de barre de titre par défaut sous Linux
Après avoir écouté les commentaires des utilisateurs, l'équipe a pris la décision de rétablir la modification du paramètre par défaut window.titleBarStyle, qui est désormais personnalisé en natif sous Linux. Elle recommande toujours la barre de titre personnalisée pour ceux qui ont besoin d’une meilleure prise en charge de l’accessibilité. Plus d'informations sur cette modification ont été documentées dans la page de configuration Linux.
Éditeur
Améliorations des commandes de survol du panneau Problèmes
Dans cette version, une barre de commandes avec les actions de résolution rapide et d'aperçu des problèmes a été ajoutée au survol du panneau Problèmes. L'action Correctif rapide applique les correctifs rapides à partir du survol et l'action Peek Problem ouvrira la vue Peek dans l'éditeur.
Dans la vue d’aperçu du panneau Problèmes, vous pouvez maintenant naviguer vers l’erreur / avertissement précédent et suivant.
L'équipe a également amélioré l’apparence des survols et la vue d’aperçu du panneau Problèmes. Les survols présentant des problèmes et les blocs de code disposent de suffisamment d'espace pour afficher leur contenu:
Correction automatique et actions de code préférées
L'API d'action de code alimente les solutions rapides de VS Code (les ampoules que vous voyez dans l'éditeur). Bien qu'il puisse exister de nombreuses solutions rapides pour une erreur donnée, il en existe souvent une qui soit la solution la plus raisonnable au problème. Par exemple, la correction d'une erreur d'orthographe est généralement la solution la plus susceptible de générer que la création de nouveaux champs.
Les extensions peuvent désormais marquer une action de code comme "préférée" pour indiquer qu'il s'agit du correctif le plus raisonnable pour le problème sous-jacent. Lorsqu'un correctif préféré est disponible, un badge bleu est ajouté à l'ampoule. Les correctifs préférés peuvent être appliqués automatiquement à l’aide de la commande Correction automatique (Maj + Alt +.).
Les solutions rapides préférées devraient généralement:
- Corriger correctement l’erreur sous-jacente (et ne pas la supprimer).
- Être une solution raisonnable pour l'erreur.
- Ne pas effectuer de longues opérations de manière inattendue.
Les actions de code de refactoring peuvent également être marquées comme préférées pour indiquer qu'elles constituent le refactoring le plus raisonnable. Par exemple, alors que plusieurs refactorisations constantes d'extraction peuvent être disponibles, l'utilisateur souhaite généralement extraire au local le plus proche. Si cette action de code de refactoring est marquée isPreferred, les utilisateurs peuvent configurer une seule liaison pour elle:
Code:
1 2 3 4 5 6 7 8
| {
"key": "ctrl+shift+r ctrl+e",
"command": "editor.action.codeAction",
"args": {
"kind": "refactor.extract.constant",
"preferred": true
}
} |
Corriger toutes les actions source
Le nouveau code source.fixAll CodeActionKind établit une convention pour les extensions qui peuvent corriger automatiquement les erreurs d'un fichier. Ce nouveau type d'action source est similaire à Organize imports et facilite la configuration des associations de touches pour corriger toutes les actions ou activer le correctif automatique lors de l'enregistrement:
Code:
1 2 3 4 5
| // On save, run both fixAll and organizeImports source actions
"editor.codeActionsOnSave": {
"source.fixAll": true,
"source.organizeImports": true,
} |
L'extension TSLint utilise déjà le type source.fixAll Code Action pour implémenter tout correctif et correctif automatique lors de l'enregistrement.
Changement de raccourci par défaut pour expandLineSelection
La commande expandLineSelection est maintenant liée par défaut à Ctrl + L (Cmd + L sur macOS) et non à Ctrl + I (Cmd + I).
Sélection améliorée de colonne
Avec le paramètre Multi Cursor Modifier configuré pour utiliser Ctrl (Cmd sur macOS) "editor.multiCursorModifier": "ctrlCmd", le modificateur Alt n'est donc utilisé que pour Aller à la définition, il est maintenant possible d'appuyer sur le modificateur Alt lorsque vous faites glisser un curseur sélection dans l'éditeur pour basculer entre une sélection standard et une sélection de colonne.
Dans la vidéo suivante, la sélection commence par une sélection normale, puis vous maintenez la touche Alt enfoncée jusqu'à ce que vous relâchiez le bouton de la souris:
Les langages
TypeScript 3.3.3
Cette version inclut TypeScript 3.3.3, une mise à jour mineure qui corrige quelques bogues importants.
Aucun rechargement requis lors de l'installation d'extensions TypeScript
Dans sa dernière itération, VS Code a été modifié pour ne plus nécessiter de rechargement après l’installation de la grande majorité des extensions. VS Code prend désormais également en charge le chargement dynamique des extensions de plug-in TypeScript. Lorsque vous installez une nouvelle extension TypeScript, telle que TSLint, cette extension est automatiquement activée sans nécessiter de rechargement.
Aucun rechargement requis lors de l'installation d'extensions Markdown
De plus, il n'est plus nécessaire de recharger le code de VS après avoir installé une extension telle que GitHub Markdown Preview. Toutes les préversions actives de Markdown seront automatiquement mis à jour dès qu'une extension Markdown sera installée.
IntelliSense HTML amélioré pour les attributs ARIA
Grâce aux données extraites du W3C et de MDN, VS Code affiche désormais des descriptions des attributs ARIA (Accessible Rich Internet Applications) et des événements DOM.
Suppression de la prise en charge de Razor dans l'extension HTML
Le support ASP.NET Razor hérité a été supprimé. L'équipe recommande maintenant l’extension C # pour éditer les fichiers Razor.
Débogage
Configuration de police pour la console de débogage
Il est maintenant possible de configurer la taille de la police, la famille de polices et la hauteur de ligne dans la console de débogage à l’aide des paramètres suivants: debug.console.fontSize, debug.console.fontFamily et debug.console.lineHeight.
Terminal intégré
Prise en charge des variables dans la commande d'envoi de séquence
Il est maintenant possible d'utiliser des variables avec la commande workbench.action.terminal.sendSequence, par exemple:
Code:
1 2 3 4 5
| {
"key": "ctrl+shift+t",
"command": "workbench.action.terminal.sendSequence",
"args": { "text": ". ${file}" }
} |
Fonctions en préversion
Les fonctionnalités en préversion ne sont pas prêtes pour la publication mais sont suffisamment fonctionnelles pour être utilisées.
Ouvrir automatiquement un URI lors du débogage d'un programme serveur
Le développement d'un programme Web nécessite généralement d'ouvrir une URL spécifique dans un navigateur Web afin d'accéder au code du serveur dans le débogueur. Au cours de cette étape, l'équipe a ajouté une première version d'une nouvelle fonctionnalité de VS Code qui tente d'automatiser ce processus de manière flexible. Voici un exemple d'application Node.js Express simple:
Code:
1 2 3 4 5 6 7 8 9 10
| var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!')
});
app.listen(3000, function () {
console.log('Example app listening on port 3000!')
}); |
Cette application installe d’abord un gestionnaire "Hello World" pour l’URL "/", puis commence à écouter les connexions HTTP sur le port 3000. Le port est annoncé dans la console de débogage et le développeur doit désormais taper http: // localhost: 3000. dans son application de navigateur.
La nouvelle fonctionnalité permet d’ajouter une propriété structurée serverReadyAction à toute configuration de lancement et de sélectionner une "action" à exécuter:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| {
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/app.js",
"serverReadyAction": {
"pattern": "listening on port ([0-9]+)",
"uriFormat": "http://localhost:%s",
"action": "openExternally"
}
} |
Ici, la propriété pattern décrit l'expression régulière permettant de faire correspondre la chaîne de sortie du programme qui annonce le port. Le modèle pour le numéro de port est placé entre parenthèses afin qu'il soit disponible en tant que groupe de capture d'expression régulière. Dans cet exemple, nous extrayons uniquement le numéro de port, mais il est également possible d'extraire un URI complet.
La propriété uriFormat décrit comment le numéro de port est transformé en un URI. Le premier% s est remplacé par le premier groupe de capture du motif correspondant.
L'URI résultant est ensuite ouvert en dehors de VS Code ("en externe") avec l'application standard configurée pour le schéma de l'URI.
Sinon, l'action peut être définie sur debugWithChrome. Dans ce cas, VS Code démarre une session de débogage de Chrome pour l’URI (l’extension Debugger for Chrome doit être installée). Dans ce mode, une propriété webRoot peut être ajoutée et transmise à la session de débogage de Chrome.
Pour simplifier un peu les choses, la plupart des propriétés sont optionnelles et voici les valeurs de secours utilisées :
- pattern: "listening on.* (https?://\\S+|[0-9]+)" qui correspond aux messages couramment utilisés "listening on port 3000" ou "Now listening on: https://localhost:5001".
- uriFormat: "http: // localhost:% s"
- webRoot: "$ {workspaceFolder}"
Source : Microsoft
7 pièce(s) jointe(s)
Visual Studio Code 1.33 est disponible avec une nouvelle commande qui simplifie la configuration de la langue
Visual Studio Code 1.33 est disponible avec une nouvelle commande qui simplifie la configuration de la langue d’affichage
Et d’autres améliorations
Nouveau mois et nouvelle version de Visual Studio Code – l’éditeur open source et multiplateforme de Microsoft. La version 1.33 disponible depuis peu s’accompagne d’améliorations qui touchent aux axes sur lesquels la firme de Redmond développe de façon traditionnelle : le workbench, l’éditeur, le terminal intégré, les langages, le débogage et les extensions. Tour d’horizon …
Les améliorations en ce qui concerne le workbench ou espace de travail concernent l’introduction de facilités en ce qui concerne la langue d’affichage, le contrôle de version et la gestion des lecteurs d’écran.
Désormais, il suffit de faire usage de la commande Configure Display Language pour provoquer l’affichage d’une liste de langues disponibles. Dans la version 1.33 de Visual Studio Code, la vue de contrôle de version a un comportement aligné sur celles d’autres comme l’explorateur de fichiers ou la vue de débogage. De façon concrète, Microsoft a procédé à l’introduction d’actions au sein de menus contextuels qui permettent d’afficher ou masquer des dépôts ainsi que les fournisseurs d’outils de contrôle de version. Enfin, la nouvelle mouture de l’éditeur de code open source et multiplateforme est conçue pour proposer un mode de navigation simplifié lorsqu’elle détecte un lecteur d’écran. D’après Microsoft, ce comportement s’applique à tout ce qui est liste ou arbre au sein du workbench.
De façon brossée, l’éditeur de la version 1.33 s’accompagne d’options de personnalisation d’Intellisense et de la fonctionnalité de saut Go To. Noter en sus qu’il se dote d’une fonctionnalité de sélection par défaut de la mise en forme du code source et d’une nouvelle variable de gestion des snippets.
Dans le détail, Microsoft a procédé à l’introduction des paramètres editor.suggest.filteredTypes, editor.suggest.maxVisibleSuggestions et editor.suggest.showIcons qui permettent de contrôler les retours d’Intellisense. Dans le cas où l’utilisateur dispose d’une multiplicité d’outils de formatage du code, il peut faire usage de l’option de paramétrage editor.defaultFormatter pour la définition par défaut de l’un de ceux-ci. Noter en sus que le paramètre de configuration editor.gotoLocation.multiple est désormais disponible ; il peut être défini sur les valeurs peek, gotoAndPeek et goto qui définissent le comportement du saut Go To. Enfin, il faut souligner que la variable $WORKSPACE_NAME fait son entrée pour la gestion des snippets.
Exemple de configuration d’Intellisense : mot clés filtrés, pas d’icônes, nombre de suggestions limité à 8
Sélection par défaut d’une mise en forme de code source
Exemple d’utilisation de la variable $WORKSPACE_NAME
Pour ce qui est du terminal intégré, Microsoft annonce l’activation par défaut du backend conPTY. Petite précision à ce propos : c’est pour les insiders qui recoivent les builds de Windows 10 19H1 (18309 et ultérieures). Noter également que la durée d’analyse des données du terminal intégré est limitée à 12 millisecondes dans cette version de Visual Studio Code. D’après la firme de Redmond, la manœuvre est destinée à améliorer le rendu de l’interface utilisateur.
Visual Studio Code 1.33 est livré avec TypeScript 3.4.1. Cette mise à jour vient avec le support de nouvelles assertions const et une inférence améliorée. En sus, il y a que le langage se dote de l’option de refactoring Convert to named parameters qui permet d’opérer une organisation rapide des longues listes de paramètres passés à des fonctions. Enfin, la dernière mouture de l’éditeur de code open source vient avec l’option de paramétrage css.completion.triggerPropertyValueCompletion dédiée à la désactivation de la complétion des valeurs de certaines propriétés CSS.
Convert to named parameters en action
Visual Studio Code 1.33 est livré avec un affichage réorganisé des sessions de débogage. Le géant de la Tech précise à ce propos qu’il adopte l’affichage sous forme d’arbre et laisse tomber les listes plates. La fonctionnalité est disponible via une nouvelle API d’extension. D’après Microsoft, la conséquence est que l’adoption par les extensions de débogueur sera nécessaire pour en faire usage. Seul le débogueur Node.js s’appuie par défaut sur cette nouvelle organisation plus hiérarchisée des sessions de débogage. Noter en sus à propos de débogage que la fonctionnalité d’ouverture automatique d’une URL lors du débogage d’un programme serveur sort de la préversion. En effet, Le développement d'un programme Web nécessite généralement d'ouvrir une URL spécifique dans un navigateur Web afin d'accéder au code du serveur dans le débogueur. Cette fonctionnalité de VS Code tente d'automatiser ce processus de manière flexible.
Ci-dessous, un exemple d'application Node.js Express simple:
Code:
1 2 3 4 5 6 7 8 9 10
| var express = require('express');
var app = express();
*
app.get('/', function (req, res) {
res.send('Hello World!')
});
*
app.listen(3000, function () {
console.log('Example app listening on port 3000!')
}); |
Cette application installe d’abord un gestionnaire "Hello World" pour l’URL "/", puis commence à écouter les connexions HTTP sur le port 3000. Le port est annoncé dans la console de débogage et le développeur doit désormais taper http: // localhost: 3000. dans son application de navigateur.
La nouvelle fonctionnalité permet d’ajouter une propriété structurée serverReadyAction à toute configuration de lancement et de sélectionner une "action" à exécuter:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| {
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/app.js",
*
"serverReadyAction": {
"pattern": "listening on port ([0-9]+)",
"uriFormat": "http://localhost:%s",
"action": "openExternally"
}
} |
Ici, la propriété pattern décrit l'expression régulière permettant de faire correspondre la chaîne de sortie du programme qui annonce le port. Le modèle pour le numéro de port est placé entre parenthèses afin qu'il soit disponible en tant que groupe de capture d'expression régulière. Dans cet exemple, nous extrayons uniquement le numéro de port, mais il est également possible d'extraire une URL complète. La propriété uriFormat décrit comment le numéro de port est transformé en un URL. Le premier % s est remplacé par le premier groupe de capture du motif correspondant. L'URL résultante est ensuite ouverte en dehors de VS Code ("en externe") avec l'application standard configurée pour le schéma de l'URL.
On termine avec les extensions pour souligner que VS Code 1.33 est doté d’une meilleure notification d’échec à l’activation d’une extension. Désormais, lorsque l’éditeur détecte qu’une dépendance d’extension est absente, il donne la possibilité d’installer la dépendance manquante.
Source : Microsoft
Et vous ?
:fleche: Qu’en pensez-vous ?
Voir aussi :
:fleche: Microsoft annonce la disponibilité générale de Visual Studio 2019 sur Windows et macOS : petit tour d'horizon sur les nouveautés et améliorations
:fleche: Visual Studio Live Share désormais installé par défaut dans Visual Studio 2019 et toujours disponible comme extension pour VS Code
:fleche: Microsoft et Canonical, l'éditeur d'Ubuntu, lancent Visual Studio Code en tant que paquetage snap pour Linux
:fleche: Visual Studio 2017 version 15.9 est disponible et s'accompagne de la possibilité de revenir dans un état précédent lors d'un débogage C++
:fleche: Microsoft livre un aperçu des nouveautés de C# 8.0 et envisage de commencer à livrer cette version dans les préversions de Visual Studio 2019
1 pièce(s) jointe(s)
Microsoft publie la version 1.34 de Visual Studio Code
Microsoft publie la version 1.34 de Visual Studio Code
qui permet de coder dans les conteneurs ou à distance sur des machines physiques ou virtuelles
Microsoft a annoncé comme à son habitude, la disponibilité de la mise à jour de Visual Studio Code (VS Code) pour le mois écoulé, c’est-à-dire la version d’avril 2019. Dans cette nouvelle version, Microsoft a annoncé la présence de nouvelles fonctionnalités, de quelques améliorations et de quelques correctifs de bogues. Des améliorations ont été apportées à l’éditeur pour améliorer l’expérience avec CodeLens et l'une des nouveautés les plus notables concernent l’arrivée de trois nouvelles extensions pour VS Code permettant de développer de façon transparente dans les conteneurs ou à distance sur des machines physiques ou virtuelles et avec le sous-système Windows pour Linux (WSL).
La version d’avril 2019 représente la version 1.34 de l’éditeur open source de Microsoft. Comme la version antérieure, la version 1.33 de mars 2019, celle-ci intègre également de nouvelles fonctionnalités, ainsi que quelques améliorations. Le travail de Microsoft, comme dans sa tradition, touche les principaux axes tels que l’éditeur, les langages, le terminal intégré, le débogage et les extensions.
Dans cette version de l’éditeur, le travail effectué par Microsoft sur l’éditeur touche essentiellement CodeLens. VS Code met désormais en cache les emplacements CodeLens de manière optimiste et les restaure immédiatement après le changement d'éditeur. Cela corrige un problème où les lignes CodeLens seraient légèrement décalées lors du basculement entre les éditeurs. Notons que CodeLens est CodeLens est une fonctionnalité populaire dans Visual Studio Code. L'objectif de cette fonctionnalité est de vous permettre d’avoir, au cours de votre travail, des informations contextuelles exploitables intercalées dans votre code source.
Au niveau du débogage dans l’éditeur, Microsoft dit avoir introduit un nouveau paramètre debug.showSubSessionsInToolBar qui a pour rôle de contrôler si les sous-sessions de débogage sont affichées dans la barre d’outils de débogage. Lorsque ce paramètre est défini sur false, la commande d'arrêt d'une sous-session arrête également la session parente. Le paramètre est défini sur false par défaut. De plus, toujours à ce niveau et si vous êtes un développeur d’extensions, VS Code intègre désormais la prise en charge du débogage multiple. Ceci est utile si vous développez un ensemble d'extensions étroitement couplées ou interdépendantes.
Auparavant, cette fonctionnalité n'était disponible qu'à travers l'interface de la ligne de commande de Visual Studio Code. Désormais, a indiqué Microsoft, l'argument --extensionDevelopmentPath peut être spécifié plusieurs fois. L’extension est généralement utilisée dans la configuration de lancement d'une extension. Lors du développement de plusieurs extensions, il est recommandé de combiner les projets d’extensions individuels dans un espace de travail à plusieurs dossiers et de créer une nouvelle configuration de lancement utilisant plusieurs arguments --extensionDevelopmentPath pour les extensions individuelles.
Les tâches peuvent être désormais gérées de façon plus optimale grâce à une nouvelle option que Microsoft a ajoutée pour permettre de terminer toutes les tâches en cours. La commande Tasks : Terminate Task comporte une nouvelle option permettant de terminer toutes les tâches si plusieurs tâches sont en cours d'exécution. Si vous effectuez souvent cette action, vous pouvez créer un raccourci clavier pour la commande avec l'argument terminateAll.
Au niveau des paramètres spécifiques à la machine, Microsoft a expliqué que si vous avez des paramètres permettant aux utilisateurs de personnaliser un chemin d'un exécutable et si ces chemins doivent être étendus à la machine sur laquelle ils sont exécutés, vous pouvez maintenant classer ces paramètres comme étant définis pour la machine. Les développeurs d'extensions définissent la propriété scope lorsqu'ils contribuent au point d'extension de la configuration. Les paramètres spécifiques à la machine ne peuvent être configurés que pour les paramètres utilisateur.
S’agissant des nouvelles extensions de développement à distance, Microsoft a annoncé que le pack est disponible en version Preview que vous pouvez installer et tester. Ces extensions vous permettent de travailler avec VS Code sur SSH sur une machine physique ou une machine virtuelle distante, dans le sous-système Windows pour Linux (WSL) ou encore dans un conteneur Docker.
Les correctifs de bogues sont également à noter dans la version 1.34 de VS Code. Un problème qui entraîne le blocage de la fenêtre du terminal sous Mac OS a été résolu, ainsi que certains comportements étranges que les développeurs ont observés dans la fenêtre de débogage. D’autres erreurs comme celle observée lors de la révélation des fichiers dans l’explorateur ont été corrigées et bien d’autres choses encore sont à noter dans la version 1.34 de Visual Studio Code.
:fleche: Téléchargez VS Code 1.34
Source : Microsoft
Et vous ?
:fleche: Qu'en pensez-vous ?
:fleche: Quelle fonctionnalité vous captive le plus dans cette nouvelle version ? Pourquoi ?
Voir aussi
:fleche: Visual Studio Code 1.33 est disponible avec une nouvelle commande qui simplifie la configuration de la langue d'affichage et d'autres améliorations
:fleche: Visual Studio Code version 1.32 s'accompagne de nombreuses améliorations comme la possibilité de résoudre automatiquement des problèmes courants
:fleche: Visual Studio Code 1.31 est disponible et permet désormais d'installer des extensions sans redémarrer l'éditeur
3 pièce(s) jointe(s)
Visual Studio Code 1.35 est disponible en téléchargement et apporte de nombreuses améliorations à l'éditeur
Visual Studio Code 1.35 est disponible en téléchargement et apporte de nombreuses améliorations à l'éditeur
ainsi qu'un support de TypeScript 3.5.1
Icône de Visual Studio Code mise à jour
Au cours des deux derniers mois, Microsoft a travaillé à la mise à jour du logo du produit VS Code. L'éditeur a pris en compte les commentaires de la communauté et en profite pour remercier toutes les personnes qui ont pris la peine de répondre. Désormais, les versions Stable et Insider disposent des nouveaux logos ci-dessous (ce logo est utilisé indépendamment des plateformes) :
Éditeur
Améliorations apportées à l'action Go to Definition
Microsoft a affiné l'action Go to Definition et les fonctions connexes Go to Declaration, Go to Type Definition et Go to Implementation :
- Plus tôt, Microsoft a ajouté l'option editor.gotoLocation.multiple: goto pour désactiver l'affichage d'un affichage Peek lorsqu'un symbole comporte plusieurs définitions. Cependant, cela ne montrerait que la première définition et ignorerait le reste. C’est maintenant beaucoup mieux, car plusieurs résultats sont affichés dans la barre d’état et que vous appuyez sur F12 pour accéder à chaque définition.
- Go to Definition respecte maintenant le paramètre workbench.editor.revealIfOpen. Cela signifie qu'un éditeur déjà ouvert dans un autre groupe peut être réutilisé (ou non) lors du passage à un symbole. Notez que l'ancien comportement, codé en dur, consistait à réutiliser l'éditeur actuel et que la valeur par défaut de discoverIfOpen n'était pas à réutiliser.
- La vue Peek prend désormais en charge la recherche et le filtrage, comme l’arborescence des résultats, pour vous permettre d’affiner rapidement un résultat.
- Dernier point mais non le moindre, vous pouvez maintenant annuler les demandes de définitions de longue durée en appuyant sur Échap.
Affichage du fil d'Ariane
Le fil d'Ariane pour la navigation rapide dans les fichiers et les symboles est maintenant activé par défaut. Cela peut être basculé dans la commande View > Toggle Breadcrumbs du menu Affichage.
Langages
TypeScript 3.5
VS Code est maintenant livré avec TypeScript 3.5.1. Cette mise à jour apporte des améliorations au langage TypeScript, ainsi que des améliorations d'outils pour JavaScript et TypeScript. Elle corrige également un certain nombre de bogues importants, notamment des problèmes de performances que certains utilisateurs rencontraient lorsqu'ils utilisaient des composants stylés.
Sélection intelligente pour JavaScript et TypeScript
JavaScript et TypeScript prennent désormais en charge la sélection intelligente. Cette fonctionnalité utilise les connaissances sémantiques pour développer intelligemment les sélections d'expressions, de types, d'instructions, de classes et d'importations.
Extraire pour taper le refactoring d'alias pour TypeScript
Le refactoring Extract to type alias a une sorte de refactor.extract.type. Vous pouvez configurer une liaison de clé unique qui extrait des constantes ou des alias de types en utilisant:
Code:
1 2 3 4 5 6 7 8
| {
"key": "shift+ctrl+e",
"command": "editor.action.codeAction",
"args": {
"kind": "refactor.extract",
"preferred": true
}
} |
Tri des suggestions JavaScript et TypeScript
Microsoft a adapté ses suggestions de tri pour JavaScript et TypeScript afin de hiérarchiser davantage les suggestions pour les variables locales par rapport aux suggestions pour les éléments globaux ou les importations automatiques.
Comme indiqué dans l'image ci-dessous, si vous créez une fonction appelée setTimOut, VS Code la suggérera maintenant d'abord au lieu de supposer que vous voulez dire setTimeout.
Source : Microsoft
5 pièce(s) jointe(s)
Visual Studio Code 1.36 est disponible et apporte l'exécution de dépendances séquentielles
Visual Studio Code 1.36 est disponible et apporte l'exécution de dépendances séquentielles,
et un meilleur sélecteur de terminal
Table de travail
Masquer les éléments individuels de la barre d'état
Il existe maintenant un menu contextuel pour la barre d'état permettant de masquer et d'afficher des entrées individuelles.
La configuration est persistante globalement dans tous les espaces de travail.
Microsoft précise que le paramètre workbench.statusBar.feedback.visible a été supprimé en faveur de cette nouvelle approche. Vous pouvez masquer le smiley de commentaires à l'aide du menu contextuel de la barre d'état.
Glisser-déposer un dossier à copier
Il est maintenant possible de glisser-déposer un dossier de l'extérieur de VS Code dans l'explorateur de fichiers pour le copier. Auparavant, lorsque vous déposiez un dossier dans VS Code Explorer, l'éditeur ouvrait alors un espace de travail contenant ce dossier. Il est maintenant possible de simplement copier le contenu du dossier.
Copier coller le changement d'incrémenteur de nom de fichier
Lors du copier-coller de fichiers et de dossiers dupliqués dans VS Code Explorer, VS Code incrémente le nom du fichier collé. La façon dont l'éditeur procédait à la dénomination incrémentale aboutissait parfois à des résultats inattendus.
Pour essayer de simplifier le nommage, il incrémente maintenant le nom de fichier de la manière suivante:
"hello.txt" -> "hello copy.txt" -> "hello copy 2.txt" -> "hello copy 3.txt"
Désactiver le focus de la touche Alt de la barre de menus personnalisée
De nombreux utilisateurs ont demandé de désactiver le comportement de la barre de menu personnalisée lorsque la touche Alt était enfoncée. Pour éviter ce problème, définissez le nouveau paramètre window.customMenuBarAltFocus sur false.
Décorations de recherche avec minimap
Lors de la recherche dans un fichier, les correspondances résultantes seront maintenant mises en surbrillance à la fois dans le fichier et dans la mini-carte:
Mise à jour des couleurs d'avertissement
Microsoft a mis à jour list.warningForeground et editorWarning.foreground afin de mieux correspondre au reste des couleurs d'avertissement de l'éditeur. Vous verrez cette couleur mise à jour dans l'explorateur de fichiers et la vue d'erreur Peek. Microsoft a également mis à jour editorOverviewRuler.findMatchForeground afin de mieux les distinguer des couleurs d'avertissement mises à jour.
Paramètres de services en ligne
VS Code utilise des services en ligne à diverses fins, telles que le téléchargement de mises à jour de produits, la recherche, l'installation et la mise à jour d'extensions ou la fourniture d'une recherche en langage naturel dans l'éditeur de paramètres. Vous pouvez choisir d'activer / désactiver les fonctionnalités qui utilisent ces services via vos paramètres utilisateur, que vous pouvez filtrer avec la balise @tag: usesOnlineServices. Il existe maintenant une commande Fichier> Préférences> Paramètres des services en ligne (Code> Préférences> Paramètres des services en ligne sur macOS) qui applique la balise dans l'éditeur de paramètres.
Terminal intégré
Meilleur sélecteur de shell par défaut
Windows utilise la commande Sélectionner le shell par défaut depuis un certain temps et la dernière version a été ajoutée au menu déroulant Terminal intégré. Cette commande est désormais également disponible sur macOS et Linux et expose les shells enregistrés sur le système en lisant le fichier /etc/shells.
Lancer des terminaux dans des environnements propres
Le terminal intégré dans VS Code a toujours agi un peu différemment des terminaux normaux, en particulier sous Linux et macOS. La raison en est que l'environnement a toujours été hérité de la fenêtre de VS Code (instance) et que les variables d'environnement liées à VS Code / Electron ont été supprimées, alors qu'un terminal normal est généralement lancé à partir du menu Dock / Démarrer et utilise l'environnement système. Cela pourrait entraîner des problèmes dans certains scénarios. Par exemple, les environnements virtuels Python ont été interrompus en raison de la manière dont ils utilisent la variable $PATH.
Il existe une nouvelle option en préversion, terminal.integrated.inheritEnv, qui, lorsque la valeur est false, empêche le terminal d'utiliser l'environnement de VS Code.
En fonction de la plateforme, elle procédera comme suit:
- Linux: récupère et utilise l'environnement du processus parent du "processus principal" de VS Code.
- macOS: extrait une poignée de variables d'environnement importantes de l'environnement actuel et se contente de faire des inclusions. Microsoft indique vouloir que macOS se comporte de la même manière que Linux, mais il existe actuellement des problèmes avec les environnements de récupération.
- Windows: Actuellement, ce paramètre n'affecte pas Windows.
Le principal résultat visible de la définition de [C]inheritEnv [/B]sur falseest que $SHLVL (niveau du shell) doit maintenant être égal à 1 et que $PATH ne doit pas inclure les chemins en double, à condition que vos scripts de lancement ne les incluent pas intentionnellement.
La valeur par défaut de terminal.integrated.inheritEnv est true, ce qui correspond au comportement précédent, mais Microsoft envisage de faire basculer la valeur sur false dans le futur.
Changements apportés à Ctrl + \
Auparavant, Ctrl + \ était associé à la commande pour diviser le terminal sous Linux et Windows, mais cela a été modifié pour transmettre SIGQUIT au shell, comme la plupart des gens s'attendaient à ce qu'un terminal le fasse. Si vous voulez l'ancien comportement, vous pouvez ajouter ce raccourci clavier à votre fichier keybindings.json.
Code:
1 2 3
| {
"key": "ctrl+\\", "command": "workbench.action.terminal.split", "when": "terminalFocus"
} |
Tâches
Exécution de dépendance séquentielle
Par défaut, l'attribut de tâche dependOn exécute toutes les dépendances en parallèle, mais vous pouvez maintenant spécifier "dependOrder": "sequence" et faire exécuter vos dépendances de tâche dans l'ordre dans lequel elles sont répertoriées. Toutes les tâches d'arrière-plan / de surveillance utilisées dans dependOn doivent avoir un correcteur de problèmes qui permet de savoir quand elles sont "terminées".
L'exemple de tâche ci-dessous exécute la tâche deux, la tâche trois, puis la tâche un.
Code:
1 2 3 4 5 6 7 8 9 10
| {
"label": "One",
"type": "shell",
"command": "echo Hello ",
"dependsOrder": "sequence",
"dependsOn":[
"Two",
"Three"
]
} |
Source : Microsoft
Voir aussi :
:fleche: Microsoft publie l'édition de juin 2019 de l'extension Python pour Visual Studio Code, elle inclut 70 correctifs et son lot de nouveautés
:fleche: Microsoft annonce le lancement de Visual Studio Code Java Pack Installer, un programme d'installation spécial de VS Code pour les développeurs Java
:fleche: Visual Studio 2019 version 16.2 Preview 2 est disponible en téléchargement, et apporte des améliorations à la productivité .NET
8 pièce(s) jointe(s)
Visual Studio Code 1.37 affiche les résultats d'une recherche dans l'explorateur de fichiers
Visual Studio Code 1.37 est disponible : cette version affiche les résultats d'une recherche dans l'explorateur de fichiers,
et préserve la casse dans "Rechercher et remplacer"
Microsoft a annoncé la disponibilité de Visual Studio Code version 1.37. Passons en revue quelques fonctionnalités.
Workbench
Prise en charge de l'éditeur de paramètres pour les tableaux de chaînes
L'éditeur de paramètres permet maintenant de modifier les paramètres d'un tableau de chaînes. Le bouton Ajouter un élément fera apparaître une zone de saisie pour ajouter une nouvelle chaîne.
Les développeurs d'extensions peuvent activer cette prise en charge en fournissant une configuration avec des clés typeet item :
Code:
1 2 3 4 5 6
| {
"type": "array",
"items": {
"type": "string"
}
} |
Suppression des avertissements des fichiers de paramètres
Vous ne verrez plus les avertissements concernant les paramètres inconnus ou non pris en charge dans vos fichiers settings.json. Au lieu de cela, les paramètres inactifs seront estompés, comme le code source inutilisé, avec un survol expliquant pourquoi. En outre, vous ne verrez pas les avertissements concernant les paramètres des extensions actuellement désactivées.
Afficher le résultat de la recherche dans l'explorateur
Le menu contextuel du fichier dans la vue Rechercher contient maintenant une commande Afficher dans l'explorateur pour accéder à ce fichier dans l'explorateur de fichiers.
Rechercher des fonctionnalités regex
Dans la version 1.29, Microsoft a ajouté le paramètre search.usePCRE2 pour que la recherche utilise le moteur de regex PCRE2. Cela a permis d'effectuer des recherches avec des fonctionnalités regex avancées. Grâce à certains travaux en amont dans ripgrep, vous pouvez maintenant utiliser ces fonctionnalités sans activer de paramètre particulier. ripgrep aura automatiquement recours au moteur PCRE2 si regex utilise une fonctionnalité qui n'est pas prise en charge par le moteur Rust regex, et si search.usePCRE2 est désormais obsolète. Pour rappel, VS Code ne prend en charge que les expressions rationnelles valables en JavaScript, car les éditeurs ouverts font toujours l'objet d'une recherche à l'aide de la recherche basée sur JavaScript de l'éditeur.
NPM Scripts Explorer visible par défaut
Auparavant, vous deviez activer le paramètre npm.enableScriptExplorer pour rendre l'explorateur de scripts NPM visible, ce qui était difficile à détecter. L'explorateur de scripts NPM est maintenant affiché comme étant réduit dans l'explorateur de fichiers, lorsqu'un fichier package.json se trouve à la racine de l'espace de travail.
Lorsque vous n'avez pas package.json à la racine de votre espace de travail, vous pouvez toujours utiliser le paramètre pour activer l'explorateur de scripts NPM. Si vous souhaitez masquer l'explorateur, vous pouvez effectuer un clic droit au niveau du titre et sélectionner Masquer dans le menu contextuel.
Touche de contexte FocusView
Il existe un nouveau raccourci clavier lorsque la clé de contexte de la clause, FocusView, permet d'afficher ou d'activer une commande lorsqu'une vue donnée est activée.
Code:
"when": "focusedView == nodeDependencies"
Éditeur
Afficher les espaces dans la sélection
Le paramètre editor.renderWhitespace prend désormais en charge une option de sélection. Lorsque cette option est définie, les espaces ne sont affichés que sur le texte sélectionné:
C'est pratique pour vérifier rapidement les espaces sans remplir l'éditeur en entier.
Meilleure visibilité des résultats de recherche sur la mini-carte
Dans la version précédente, Microsoft avait introduit les décorations de recherche dans la mini-carte (contour de code). Ces décorations étaient difficiles à voir, alors pour cette itération, l'équipe a travaillé à l'augmentation de leur visibilité. Désormais, la ligne entière sera mise en surbrillance avec une opacité faible dans la mini-carte et la correspondance réelle sera affichée avec une opacité élevée.
Vous pouvez également modifier la couleur des décorations à l'aide de la nouvelle couleur de thème minimap.findMatchHighlight.
Préserver la casse dans Rechercher et remplacer
Vous pouvez maintenant conserver la casse lors du remplacement dans le widget Rechercher de l'éditeur. La fonctionnalité est activée lorsque l'option Conserver la requête (bouton AB) est activée dans la zone de saisie Remplacer de l'éditeur.
Actuellement, VS Code prend uniquement en charge la conservation des majuscules, des minuscules et des titres.
Bouton pour faire bascule l'état actif dans le widget de recherche
L'équipe a mis à jour l'état de basculement du bouton du widget de recherche avec un arrière-plan rempli de sorte que vous puissiez désormais facilement savoir quand vous êtes concentré sur un basculement actif. Cela apparaît dans la vue Recherche, Rechercher et remplacer, et Trouver un terminal.
Avec cette mise à jour, l'équipe a introduit une nouvelle couleur de thème, inputOption.activeBackground, permettant de contrôler la couleur d'arrière-plan de l'état actif. Cette couleur réutilise focusBorder afin de mieux fonctionner avec les thèmes par défaut. Elle a également défini la valeur par défaut pour inputOption.activeBorder sur transparent afin que la bordure ne soit utilisée que pour le focus.
Mise à jour des couleurs d'informations
Suite à l'unification des couleurs d'avertissement, Microsoft a également mis à jour editorInfoForeground et editorInfoBorder afin qu'elles correspondent aux autres couleurs de diagnostic des informations. Vous verrez cette couleur mise à jour dans la vue d'erreur Peek et les brouillons de l'éditeur:
Terminal intégré
Amélioration de l'accessibilité du terminal
Le terminal propose désormais un mode de navigation de ligne lorsque des lecteurs d’écran sont utilisés, ce qui permet une navigation aisée des lignes via Ctrl + Bas et Ctrl + Haut. Le mode peut être échappé avec Escape.
Voici les nouvelles commandes si vous souhaitez personnaliser les associations de touches:
Code:
1 2 3
| workbench.action.terminal.navigationModeExit
workbench.action.terminal.navigationModeFocusNext
workbench.action.terminal.navigationModeFocusPrevious |
D'autres améliorations de l'accessibilité ont également été apportées:
- Le caractère d'espace insécable est maintenant utilisé pour les lignes vides au lieu d'une chaîne explicite, permettant au lecteur d'écran de l'annoncer correctement.
- Les lecteurs d'écran annonceront maintenant les caractères une fois tapés et supprimés. Dans certains cas, cela ne fonctionnera pas, mais la majorité des cas sont couverts.
Variables résolues dans les paramètres
Les variables peuvent maintenant être utilisées dans les paramètres suivants:
Code:
1 2 3
| terminal.integrated.cwd
terminal.integrated.shell.<platform>
terminal.integrated.shellArgs.<platform> |
Par exemple, vous n'avez plus besoin d'une extension pour ouvrir un terminal dans le dossier du fichier en cours, ajoutez simplement ce paramètre:
Code:
"terminal.integrated.cwd": "${fileDirname}"
Rapports d'erreur et diagnostics améliorés
Auparavant, lorsque le terminal était lancé avec une mauvaise configuration, cela indiquait uniquement que le processus s'était arrêté avec un code d'erreur. De meilleurs messages d'erreur sont maintenant fournis qui guident l'utilisateur vers des solutions pour plusieurs scénarios courants.
Les tâches
Avertissement des tâches détectées par TypeScript
Dans la dernière version, la détection automatique des tâches TypeScript, qui utilisait des séparateurs de chemin propres au système d’exploitation dans le chemin tsconfig, a été remplacée par un /. VS Code affiche maintenant un avertissement s’il existe un \\ dans un chemin de tsconfig.
Code:
1 2 3 4 5 6 7 8
| {
"type": "typescript",
"tsconfig": "src\\tsconfig.json", // This will cause a warning to show. It should be "tsconfig": "src/tsconfig.json"
"option": "watch",
"problemMatcher": [
"$tsc-watch"
]
} |
Variable ${relativeFileDirname} pour les configurations de tâches et de débogage
Une nouvelle variable ${relativeFileDirname}, dans le chemin relatif du dossier de l'espace de travail du répertoire du fichier ouvert en cours, peut être utilisée dans les configurations de tâche et de débogage (task.json et launch.json).
support de resolTask
Les fournisseurs de tâches peuvent maintenant implémenter resolTask afin de réduire la charge de travail liée aux extensions produisant des tâches. resolTask est appelé après supplyTasks. Par conséquent, si votre extension a un paramètre qui désactive la fourniture et la détection automatique (comme l'extension gulp intégrée), mais qu'un utilisateur fait toujours référence à l'une de vos tâches dans tasks.json, il sera appelé et votre extension peut renvoyer cette tâche unique.
Source : Microsoft
3 pièce(s) jointe(s)
Visual Studio Code 1.38 permet de préserver la casse dans « Rechercher et remplacer »
Visual Studio Code 1.38 permet de préserver la casse dans « Rechercher et remplacer »,
et est livré avec TypeScript 3.6.2
Microsoft a annoncé la disponibilité de Visual Studio Code version 1.38. Passons en revue quelques fonctionnalités.
Workbench
Préserver la casse dans Rechercher et remplacer
Dans la version 1.37, Microsoft a ajouté une option Préserver la casse au contrôle Rechercher / Remplacer de l'éditeur. La même option est désormais disponible sous forme d’icône AB dans la recherche globale et le remplacement.
Il existe également un nouveau mode de conservation de la casse pour les mots séparés par un trait d'union :
Mise à jour de l'icône Annuler la recherche
Microsoft a mis à jour l'icône utilisée pour annuler une recherche afin de mieux représenter l'action. Une action qui peut se montrer très utile par exemple lorsque les recherches prennent trop de temps.
Validation des paramètres du tableau de chaînes
L'éditeur de paramètres affiche désormais des erreurs pour les éléments de type tableau de chaînes si la valeur actuelle ne correspond pas au schéma minItems, maxItems, item.enum ou item.pattern spécifié.
Améliorations de l'explorateur
Création de ressources de niveau supérieur
Microsoft a amélioré le processus de création de fichiers et de dossiers de niveau supérieur dans l'explorateur. Il existe maintenant trois façons de créer un fichier ou un dossier à la racine de l’explorateur de fichiers :
- faire défiler au-delà du dernier élément afin d'appeler le menu contextuel sur l'espace vide ;
- appuyer sur Echap efface le focus et la sélection dans l'Explorateur, ce qui permet aux actions de la zone de titre d'être exécutées à la racine de l'Explorateur ;
- utiliser un menu contextuel sur la barre de défilement.
Ouvrir le fichier et préserver le focus
Il est maintenant possible d'ouvrir un fichier en aperçu à partir de l'explorateur tout en gardant le focus dans l'explorateur. La nouvelle commande est filesExplorer.openFilePreserveFocus et, par défaut, elle peut être déclenchée via la touche Espace.
Nom du fichier de l'explorateur
Il existe un nouveau paramètre, explorer.incrementalNaming, permettant de contrôler le nommage des fichiers en double, qui peut avoir les valeurs simple ou smart.
- simple - Ajoute le mot « copie » à la fin du nom dupliqué éventuellement suivi d'un numéro. Il s’agit du comportement stable actuel du code VS.
- smart - Ajoute un numéro à la fin du nom dupliqué. Si un numéro fait déjà partie du nom, alors il se verra incrémenté.
Maximiser la commande bascule éditeur
Une nouvelle commande Basculer les tailles de groupe d'éditeurs (workbench.action.toggleEditorWidths) permet d'alterner entre la maximisation du groupe d'éditeurs actif et la correction de la largeur des groupes d'éditeurs.
Mise en grille du plan de travail
Le moteur de présentation du plan de travail a été réécrit pour utiliser le même widget de grille que la zone d'édition elle-même. Ce travail est en cours depuis un certain temps et il a été activé par défaut pour les versions Insiders au cours des dernières itérations. Le paramètre est workbench.useExperimentalGridLayout et sera désormais activé par défaut.
Éditeur
Curseur entourant les lignes (scrollOff)
Vous pouvez maintenant personnaliser le nombre de lignes visibles à afficher autour du curseur lorsque vous déplacez le curseur vers le début ou la fin d'un fichier en définissant editor.cursorSurroundingLines. Dans l'éditeur Vim, cette fonctionnalité s'appelle scrollOff.
Recherche multiligne dans Recherche
Le contrôle Recherche de l'éditeur prend désormais en charge la recherche et le remplacement de texte sur plusieurs lignes. En appuyant sur Ctrl + Entrée, vous pouvez insérer de nouvelles lignes dans la zone de saisie.
Copier / rétablir le contenu supprimé
De nouvelles actions permettent de copier ou de rétablir le contenu supprimé lors de l'utilisation de l'éditeur de différences en ligne. Survolez le contenu supprimé dans l'éditeur de diff en ligne et vous pouvez maintenant :
- copier tout le contenu supprimé ;
- copier une ligne spécifique ;
- annuler le changement.
Langages
Référence MDN pour HTML et CSS
VS Code affiche désormais une URL pointant vers la référence MDN appropriée en complétant et survolant les entités HTML et CSS:
TypeScript 3.6
VS Code est maintenant livré avec TypeScript 3.6.2. Cette mise à jour majeure apporte certaines améliorations au langage TypeScript, notamment des générateurs plus stricts et la prise en charge de import.meta, ainsi que de nouvelles fonctionnalités d’outillage pour JavaScript et TypeScript. Comme toujours, cette version inclut également un certain nombre de corrections importantes de bogues.
Édition sensible au point-virgule pour JavaScript et TypeScript
Lorsque vous ajoutez une importation ou appliquez une refactorisation dans le code source JavaScript ou Typescript, VS Code essaie maintenant de déterminer s'il faut inclure des points-virgules à partir du code existant dans le fichier.
Source : Microsoft
Voir aussi :
:fleche: Sortie de Qt Visual Studio Tools 2.4 RC, la fenêtre de configuration Qt est remplacée par une page de paramètres
:fleche: Microsoft annonce la disponibilité de la Preview 2 de Visual Studio 2019 version 16.3, ainsi que la Preview 2 de la version 8.3 de Visual Studio pour Mac
:fleche: Microsoft annonce la disponibilité générale de Visual Studio 2019 version 16.2 ainsi que la Preview 1 de la version 16.3
Visual Studio Code 1.39 apporte une meilleure détection des paramètres régionaux
Visual Studio Code 1.39 apporte une meilleure détection des paramètres régionaux,
une mise à jour de la vue Contrôle de source et bien d'autres
Workbench
Vue du contrôle de source mise à jour
La vue Contrôle de source a été mise à jour pour utiliser le dernier widget d'arborescence. Vous pouvez maintenant basculer entre une liste et une vue arborescente avec le bouton Basculer le mode d'affichage dans la barre de titre du contrôle de code source.
Vous pouvez modifier la vue par défaut à l'aide du paramètre scm.defaultViewMode, qui prend la liste ou l'arborescence des valeurs.
Vous bénéficiez également de la navigation automatique au clavier et du filtrage du widget arborescent mis à jour simplement en tapant dans la vue.
En mode d'affichage en arborescence, qui affiche les dossiers, l'extension Git ajoute désormais des commandes aux dossiers, par exemple Stage Changes, qui seront appliquées à tous les fichiers d'un dossier.
Amélioration du paramètre Domaines de confiance
L'équipe a simplifié la gestion des domaines de confiance pour la fonctionnalité de protection des liens sortants introduite dans la version 1.38.
Vous pouvez maintenant utiliser la commande Gérer les domaines de confiance pour ajouter, supprimer ou modifier facilement des domaines de confiance sous forme de fichier texte JSON.
Détails de complétion sélectionnables
Les détails de complétion automatique peuvent maintenant être sélectionnés pour être copiés et collés.
Amélioration de l'affichage des caractères monospaces dans les suggestions et les survols
Auparavant, les segments <code> intégrés dans les widgets de suggestion et de survol ne spécifiaient pas la famille de polices. Sous Windows/macOS, ces segments ont été générés avec le choix par défaut de Chrome pour la famille de polices: monospace.
Dans cette itération, l'équipe les a alignés sur les polices de caractères système sans empattement utilisées dans l'interface utilisateur de code VS.
- Windows: Courier New -> Consolas (Alignement sur l'interface utilisateur de Segoe)
- macOS: Courrier -> SF Mono, Monaco, Menlo (Aligner sur SF Text et Helvetica Neue)
- Linux: Pas de changement. Les segments de code en ligne sont toujours restitués dans Liberation Mono, qui est la valeur par défaut de Chrome pour la famille de polices: monospace sous Linux.
Vous pouvez voir ci-dessous que SF Mono donne une apparence plus cohérente aux blocs de code intégrés.
Validation pour uniqueItems dans l'éditeur de paramètres
La validation des paramètres de tableau de chaînes, introduite dans la version 1.38, prend désormais en charge uniqueItems.
Si vous utilisez "uniqueItems": true, les entrées en double dans l'éditeur de paramètres afficheront un avertissement.
Bloc code en surbrillance dans les fichiers README
Les blocs de code dans les fichiers README, qui sont affichés dans le volet Détails de la vue Extensions, sont maintenant mis en surbrillance dans VS Code. La surbrillance utilise le thème de couleur actuel.
Éditeur
Développer et réduire une région de pliage
Vous pouvez maintenant développer et réduire une région de pliage à l'aide de la commande Basculer les plis (Ctrl + K Ctrl + L).
Décorations de sélection de l'éditeur Minimap
La sélection de l'éditeur est maintenant mise en surbrillance dans la mini-carte:
Vous pouvez changer la couleur de ces décorations en modifiant la couleur du thème minimap.selectionHighlight.
Terminal intégré
Ouvrir de nouveaux terminaux avec des répertoires de travail personnalisés
Il existe une nouvelle commande qui permet la création de terminaux avec un répertoire de travail actuel personnalisé (cwd):
Code:
1 2 3 4 5 6 7 8
|
{
"key": "cmd+shift+h",
"command": "workbench.action.terminal.newWithCwd",
"args": {
"cwd": "${fileDirname}"
}
} |
Vous pouvez créer vos propres raccourcis clavier pour ouvrir de nouveaux terminaux dans un nombre illimité de répertoires de travail pratiques. La valeur cwd peut être un chemin normal ou une variable.
Meilleure détection des paramètres régionaux
Le paramètre terminal.integrated.setLocaleVariables a été remplacé par le nouveau paramètre terminal.integrated.detectLocale. La valeur par défaut est auto, ce qui définira la variable $LANG dans votre session de terminal sur la valeur de la langue UTF-8 détectée, mais uniquement si elle n'a pas été explicitement configurée par l'utilisateur. Cette meilleure valeur par défaut devrait entraîner moins de problèmes liés à la langue et au codage dans le terminal.
Langages
Attributs HTML ARIA
Les informations de complétion automatique et de survol pour les attributs HTML ARIA incluent désormais une référence à la documentation WAI-ARIA correspondante.
Complétion des propriétés CSS avec un point-virgule
La complétion des propriétés CSS insère maintenant un point-virgule à la fin d'une ligne.
Vous pouvez utiliser cette fonctionnalité avec Ctrl + Entrée (Windows / Linux) ou Cmd + Entrée (macOS) pour créer une nouvelle ligne sans appuyer sur la fin; à la nouvelle ligne.
Vous pouvez contrôler cette fonctionnalité avec les paramètres [css | scss | less] .completion.completePropertyWithSemicolon.
Prévisualisation des couleurs CSS pour la complétion de variable
Lorsque vous complétez des variables CSS, si la variable d'origine est une chaîne de couleur, VS Code affiche maintenant l'élément de complétion avec sa couleur:
Débogage
Interface utilisateur améliorée pour les points d'arrêt de colonne
Pendant le débogage, VS Code affiche désormais tous les emplacements candidats du point d'arrêt en ligne. Cela permet à l'utilisateur de placer un point d'arrêt sur une position plus précise. Pour ne pas encombrer l'interface utilisateur, les points d'arrêt candidats ne sont affichés que s'il existe plusieurs emplacements possibles sur la ligne.
Vous pouvez interagir directement avec les points d'arrêt en ligne en cliquant pour les activer et les désactiver et en appelant leur menu contextuel pour plus d'actions.
Actions de débogage en ligne dans la vue CALL STACK
Lorsqu'il y a des sessions ou des threads affichés dans la vue CALL STACK, Visual Studio Code affiche maintenant les actions de débogage en ligne au survol. Cela facilitera le contrôle du flux de débogage lors du débogage de plusieurs sessions ou threads. Vous n'avez plus besoin de définir d'abord le focus sur une session ou un thread pour y effectuer une action.
Si une session ne comporte qu'un seul thread, toutes les actions sont affichées dans la session, car le thread n'est pas affiché. Sinon, toutes les actions sont affichées dans leur contexte (actions de session sur les sessions et actions de threads sur les threads).
Amélioration du comportement de la vue CALL STACK
Microsoft a amélioré les fonctionnalités de la vue CALL STACK comme suit :
- cliquer sur la session de débogage ou le fil ne les développe plus. Vous devez cliquer directement sur l'élément d'interface utilisateur chevron (>). Cela évite de développer accidentellement une session ou un fil de discussion lorsque vous souhaitez simplement déplacer le focus.
- VS Code ne fait plus automatiquement de focus sur les nouvelles sessions de débogage si elles ne sont pas interrompues.
Détection améliorée des liens dans la console de débogage
VS Code détecte maintenant les liens dans les expressions de la console de débogage, et pas seulement dans les chaînes. L'algorithme de détection de lien a également été amélioré.
API d'extension proposées
Chaque version est accompagnée de nouvelles API proposées et les auteurs d'extensions peuvent les essayer. Comme toujours, l'éditeur attend les retours des utilisateurs. Voici les conditions que vous devez remplir pour essayer une API proposée:
- Vous devez utiliser un Insider, car les API proposées changent fréquemment.
- Vous devez avoir cette ligne dans le fichier package.json de votre extension: "enableProposedApi": true.
- Copiez la dernière version du fichier vscode.proposed.d.ts dans l’emplacement source de votre projet.
Notez que vous ne pouvez pas publier une extension utilisant une API proposée. Il est probable que Microsoft apporte des modifications importantes dans la prochaine version et l'éditeur ne veut pas faire planter les extensions existantes.
vscode.env.uiKind
Une nouvelle API proposée, vscode.env.uiKind, a été ajoutée pour permettre à une extension de déterminer à partir de quel type d’interface utilisateur l’extension est utilisée. Pour vous aider à exécuter VS Code dans un navigateur, les valeurs possibles sont UIKind.Desktop et UIKind.Web.
vscode.env.asExternalUri
L'API vscode.env.asExternalUri proposée permet à une extension de résoudre un URI externe - tel qu'un http: ou https: URI - à partir duquel l'extension est exécutée sur un URI pour la même ressource sur l'ordinateur client. Ceci est un compagnon de l'API vscode.env.openExternal, sauf qu'au lieu d'ouvrir l'URI résolu à l'aide d'un programme externe, le résultat est renvoyé aux extensions.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| import * as vscode from 'vscode';
import * as http from 'http';
const PORT = 3000;
export function activate(context: vscode.ExtensionContext) {
startLocalServer(PORT);
context.subscriptions.push(
vscode.commands.registerCommand('example.command', async () => {
const resolved = vscode.env.asExternalUri(
vscode.Uri.parse(`http://localhost:${PORT}`)
);
vscode.window.showInformationMessage(
`Resolved to: ${resolved} on client and copied to clipboard`
);
vscode.env.clipboard.writeText(resolved.toString());
})
);
}
function startLocalServer(port: number) {
const server = http.createServer((req, res) => {
res.end('Hello world!');
});
server.on('clientError', (err, socket) => {
socket.end('HTTP/1.1 400 Bad Request\r\n\r\n');
});
server.listen(port);
vscode.window.showInformationMessage(`Started local server on port: ${port}`);
} |
vscode.env.asExternalUri ne prend actuellement en charge que les URL http: et https:. Il n'est donc pas une option si l'extension est en cours d'exécution sur la machine cliente. Toutefois, si l'extension est exécutée à distance, vscode.env.asExternalUri établit automatiquement un tunnel de transfert de port de la machine locale à la machine distante et renvoie un URI local au tunnel.
Éditeurs de webview en lecture seule pour les ressources
Vous pouvez trouver des extensions VS Code pour prévisualiser tout, des shaders aux fichiers Excel en passant par les modèles 3D. Quelques extensions audacieuses ont même construit des expériences complexes de type éditeur pour l'édition visuelle de fichiers binaires ou XML. Bien qu'il soit bon que tout cela soit déjà possible en utilisant l'API d'extension existante de VS Code, la création d'un aperçu ou d'un éditeur personnalisé nécessite actuellement de bricoler un ensemble d'API de manière non intuitive. Cela laisse également une grande part de responsabilité aux extensions elles-mêmes, ce qui entraîne souvent des expériences utilisateur incompatibles avec le reste de VS Code. La proposition d'API d'éditeur personnalisé vise à améliorer cela.
L'API d'édition personnalisée fournira un cadre permettant aux extensions de créer des éditeurs de lecture / écriture entièrement personnalisables utilisés à la place de l'éditeur de texte standard de VS Code pour des ressources spécifiques. Un éditeur personnalisé XAML, par exemple, peut afficher un éditeur de style WYSIWYG pour vos fichiers .xaml. Microsoft précise que son objectif final est de donner aux extensions la plus grande flexibilité possible tout en maintenant VS Code rapide, simple et cohérent.
La proposition actuelle n’est qu’une première étape et sera probablement fortement révisée. Microsoft va continuer son travail sur cette API au cours des prochains mois.
Source : Visual Studio Code
Voir aussi :
:fleche: Visual Studio 2019 version 16.3 est disponible et apporte le support de .NET Core 3.0, Microsoft annonce aussi la disponibilité de Visual Studio 2019 version 16.4 Preview 1
:fleche: Microsoft présente un nouveau Terminal pour Visual Studio qui partage l'essentiel du noyau de Windows Terminal, disponible à partir des préversions de Visual Studio 16.3
:fleche: Microsoft amorce le support des Concepts apportés par C++ 20 dans Visual Studio 2019 version 16.3 Preview 2, au niveau du compilateur mais aussi de la bibliothèque
:fleche: Microsoft annonce la disponibilité de la Preview 2 de Visual Studio 2019 version 16.3, ainsi que la Preview 2 de la version 8.3 de Visual Studio pour Mac
:fleche: Microsoft annonce la disponibilité générale de Visual Studio 2019 version 16.2 ainsi que la Preview 1 de la version 16.3
7 pièce(s) jointe(s)
Visual Studio Code 1.40 apporte un nouvel indicateur dans la barre d'activité
Visual Studio Code 1.40 apporte un nouvel indicateur dans la barre d'activité
et réduit les notifications en mode Zen
Microsoft a annoncé la disponibilité de Visual Studio Code version 1.40. Passons en revue quelques fonctionnalités.
Workbench
Indicateur de barre d'activité
Microsoft a introduit un nouvel indicateur pour l’élément actif dans la barre d’activité afin de mieux le distinguer et d’en améliorer la lisibilité. Microsoft a également ajusté les couleurs de premier plan inactives pour un contraste plus fort avec l'élément actif.
Vous pouvez contrôler l'indicateur actif via le nouveau jeton de couleur, activityBar.activeBorder. Microsoft a également introduit une couleur de fond facultative pour l'élément actif, activityBar.activeBackground, et une fois configurée, elle peut ressembler à ceci:
Thèmes de bordure de fenêtre
Microsoft a introduit deux nouvelles couleurs de thème, window.activeBorder et window.inactiveBorder, pour fournir une bordure autour de la fenêtre Code VS. Window.activeBorder s'applique à la fenêtre active (focalisée), alors que window.inactiveBorder s'applique aux fenêtres inactives (non focalisées). Ces nouvelles couleurs n'héritant d'aucune couleur, elles doivent donc être fournies par le thème ou par le paramètre workbench.colorCustomizations. Si une seule couleur est spécifiée, une bordure de cette couleur sera appliquée aux fenêtres actives et inactives.
Défilement de liste et d'arborescence
Vous pouvez maintenant appuyer sur Ctrl + Haut et Ctrl + Bas pour faire défiler des listes et des arbres à l'aide du clavier. Si le défilement horizontal est activé, Ctrl + Gauche et Ctrl + Droite feront également défiler horizontalement.
Moins de notifications en mode Zen
Lorsque vous utilisez le mode Zen, les toasts de notification ne vont plus vous distraire à moins qu’ils ne vous informent d’erreurs. Vous pouvez contrôler ce comportement avec le nouveau paramètre zenMode.silentNotifications. Vous pouvez toujours accéder à toutes les notifications à partir de la barre d'état en cliquant sur l'icône de notification située dans le coin inférieur droit.
Filtres de type pour les contours
De nouveaux paramètres permettent de configurer les symboles affichés dans la vue Structure et la navigation dans le fil d'Ariane. Les paramètres sont appelés contour.show {type de symbole} et breadcrumbs.show {type de symbole}. Par exemple, outline.showVariables, outline.showFunctions, etc.
La capture d'écran ci-dessus montre la vue Structure configurée pour ne pas afficher les variables locales et vous pouvez voir que la variable masquée n'est pas affichée.
Notez que c'est à l'extension de langage d'affecter le type d'un symbole. Vous pouvez survoler l'étiquette du symbole dans la vue Structure pour voir quel type de symbole est utilisé (indiqué entre parenthèses).
Contrôler le comportement de dimensionnement lors du fractionnement des éditeurs
Un nouveau paramètre workbench.editor.splitSizing contrôle la disposition des éditeurs lors de leur fractionnement. Par défaut, la taille sera répartie uniformément entre tous les éditeurs. Modifiez ce paramètre pour que l'éditeur actuel soit divisé en deux et n'affecte pas la taille des autres éditeurs:
Désactiver l'accélération GPU
Microsoft a reçu des comptes rendus d'incidents de la part d'utilisateurs qui semblent liés à l'utilisation du GPU pour restituer l'interface utilisateur de VS Code. Ces utilisateurs ont une bien meilleure expérience lorsqu’ils exécutent VS Code avec l’argument de ligne de commande supplémentaire --disable-gpu. Utiliser cet argument désactivera l'accélération matérielle du GPU et retombera sur un moteur de rendu logiciel.
Pour vous simplifier la vie, vous pouvez ajouter cet indicateur en tant que paramètre afin qu'il ne soit pas nécessaire de le transmettre à chaque fois sur la ligne de commande.
Éditeur
files.eol par langage
Le paramètre files.eol peut maintenant être défini par langage. Par exemple, vous pouvez définir que tous les fichiers de l'identificateur de langue 'mylangage' utilisent \n comme séquence de fin de ligne par défaut pour tous les nouveaux fichiers.
Code:
1 2 3
| "[mylanguage]": {
"files.eol": "\n"
} |
La séquence de fin de ligne est utilisée pour les nouveaux fichiers. Pour les fichiers existants, la séquence de fin de ligne actuelle est toujours conservée. Pour modifier la séquence de fin de ligne d'un fichier existant, utilisez la commande Modifier la séquence de fin de ligne.
En utilisant un paramètre de langage files.eol, la séquence de fin de ligne par défaut pour 'shellscript' est maintenant définie comme \n.
Mise à l'échelle de la minicarte et amélioration du rendu des polices
Un nouveau paramètre editor.minimap.scale configure la taille de la mini-carte sur l'une des valeurs constantes, particulièrement utile pour les écrans à haute résolution ou très grand écran. En outre, le rendu de la police de la mini-carte est maintenant plus fluide et plus clair.
Définition Aperçu au Survol du clavier
Une nouvelle commande Show Definition Preview Hover pour une meilleure accessibilité du widget de survol de prévisualisation de définition peut être déclenchée en survolant un symbole avec la souris et en appuyant sur une touche de modification en fonction de la plateforme et de la configuration. Auparavant, seule la commande Show Hover était fournie, ce qui revient à placer le curseur de la souris sur un symbole. Maintenant, avec Show Definition Preview Hover, les informations détaillées sur le survol peuvent être affichées via le clavier.
Amélioration de l'appariement des crochets
Auparavant, VS Code ne mettait en surbrillance les crochets correspondants que lorsque le curseur était à côté d'un caractère de crochets. Maintenant, VS Code mettra toujours en évidence les crochets fermants s’ils existent.
Sélection en double
Microsoft a ajouté une nouvelle action appelée Sélection en double. Une fois exécuté, la sélection en cours sera dupliquée et le résultat sera sélectionné. En l'absence de sélection, la ligne en cours est dupliquée, le tout sans écrire dans le Presse-papiers du système.
Paramètres de la fonctionnalité de police
Il existe désormais un contrôle plus fin sur les fonctionnalités de la police. Lors de la configuration de "editor.fontLigatures": true, VS Code activerait liga et calt. Mais certaines polices ont plus de paramètres, tels que les ensembles stylistiques utilisés par Fira Code.
L'éditeur autorise désormais ces fonctionnalités de police à être explicitement contrôlées, par exemple :
Code:
1 2 3 4 5
| "editor.fontFamily": "Fira Code",
"editor.fontLigatures": true,
"[javascript]": {
"editor.fontLigatures": "'ss02', 'ss19'",
}, |
Les paramètres ci-dessus configurent l'éditeur pour qu'il utilise la famille de polices Fira Code, active les ligatures de police pour tous les langages et, dans les fichiers JavaScript, active les paramètres de fonctionnalité de police "Barre horizontale" ("ss02") et "Dotted zero" ("ss19"). Ceci rend la ligature> = avec une barre horizontale et le 0 avec un point en JavaScript:
Terminal intégré
Les accords sont désormais supportés par défaut
Le nouveau paramètre terminal.integrated.allowChords (default true) permet aux liaisons de clavier faisant partie d’une liaison d’accords de sauter le terminal à des fins d’évaluation et d’être traitées par VS Code (en contournant la liste d’autorisations terminal.integrated.commandsToSkipShell).
Notez que les mêmes limitations concernant les raccourcis clavier dans le terminal s'appliquent toujours; le raccourci clavier d'accord ayant la priorité la plus élevée sera pris en compte lors de cette évaluation.
Par exemple, si une extension contribue au raccourci clavier Ctrl + MA et que les éléments suivants sont définis dans votre fichier keybindings.json:
Code:
1 2
| {"key": "ctrl+m a", "command": "workbench.action.terminal.toggleTerminal" },
{"key": "ctrl+m a", "command": "workbench.action.focusLastEditorGroup" } |
Ctrl + M, A entraîneront l'exécution de la commande workbench.action.focusLastEditorGroup car il s'agit de la liaison de clé finale et les liaisons de clé utilisateur ont une priorité supérieure à celle des liaisons de clé fournies par l'extension.
Support de défilement rapide
Le terminal prend désormais en charge Alt avec la molette de la souris pour un défilement plus rapide en fonction du multiplicateur défini dans le paramètre editor.fastScrollSensitivity.
Nouvelle option "coller" pour le comportement du clic droit
Une nouvelle option a été ajoutée au paramètre rightClickBehavior pour toujours coller dans le terminal lors d'un clic droit:
Code:
"terminal.integrated.rightClickBehavior": "paste"
Double-cliquez pour sélectionner le mot utilise plus de caractères de séparation
Les caractères ,,:, et; sont désormais comptés comme des séparateurs de mots lors d’un double-clic sur un ou plusieurs mots du terminal.
Les liens symboliques ne sont plus résolus
Si le répertoire de travail initial d'un terminal est défini sur un lien symbolique, celui-ci sera désormais conservé dans le terminal.
La navigation de commande fonctionne désormais à partir de la position de défilement
La navigation par commande permet de naviguer entre les commandes qui ont été exécutées dans le terminal ou de les sélectionner. Ceci prend maintenant en compte la position de défilement du terminal afin que vous puissiez faire défiler, retrouver la commande précédente, et le terminal défilera vers le haut depuis la fenêtre du terminal (auparavant, il défilerait depuis le bas).
La navigation de commande n'est liée par défaut que sous MacOS sous Cmd + Haut / Bas et la sélection de commande sous Cmd + Maj + Haut / Bas.
Voici quelques exemples de combinaisons de touches si vous souhaitez utiliser cette fonctionnalité sous Windows ou Linux:
Code:
1 2 3 4 5 6 7
| {
// Terminal command tracking on Windows and Linux
{ "key": "ctrl+up", "command": "workbench.action.terminal.scrollToPreviousCommand", "when": "terminalFocus" },
{ "key": "ctrl+down", "command": "workbench.action.terminal.scrollToNextCommand", "when": "terminalFocus" },
{ "key": "ctrl+shift+up", "command": "workbench.action.terminal.selectToPreviousCommand", "when": "terminalFocus" },
{ "key": "ctrl+shift+down", "command": "workbench.action.terminal.selectToNextCommand", "when": "terminalFocus" },
} |
Source : Microsoft
Voir aussi :
:fleche: Ignite 2019 : Microsoft lance la préversion publique de Visual Studio Online, proposant un accès à des environnements de développement dans le cloud
:fleche: Visual Studio 2019 v16.4 Preview 2 s'accompagne de la possibilité de disposer de vos onglets à la verticale, de pages de synthèse pour les projets CMake et bien d'autres
:fleche: Microsoft présente un nouveau Terminal pour Visual Studio qui partage l'essentiel du noyau de Windows Terminal, disponible à partir des préversions de Visual Studio 16.3
5 pièce(s) jointe(s)
Visual Studio Code 1.41 met à jour les résultats de la recherche en cours de frappe
Visual Studio Code 1.41 met à jour les résultats de la recherche en cours de frappe
et apporte une coloration à la minicarte pour signaler les erreurs, les avertissements et les modifications de contenu
Microsoft a annoncé la disponibilité de Visual Studio Code version 1.41. En voici les principales caractéristiques.
Workbench
Dossiers compacts dans l'Explorateur
Dans l'explorateur de fichiers, Microsoft rend maintenant les dossiers enfants uniques sous une forme compacte. Dans un tel formulaire, les dossiers enfants uniques seront compressés dans un élément d'arborescence combiné. Utile pour les structures de packages Java, par exemple.
La définition de explorer.compactFolders contrôle ce comportement. Par défaut, ce paramètre est activé.
Enregistrer à partir des éditeurs Peek
Si vous affichez une vue Peek et effectuez une saisie, vous pouvez maintenant enregistrer les modifications via Ctrl + S, si le focus se trouve dans cet éditeur intégré.
Panneau d'affichage de Problèmes
Plus de filtres
Des filtres prédéfinis ont été ajoutés au panneau Problèmes. Vous pouvez désormais filtrer les problèmes par type (erreurs, avertissements et informations) et également voir les problèmes limités au fichier actif en cours.
Afficher le problème actuel dans la barre d'état
Vous pouvez maintenant configurer VS Code pour afficher le message de problème actuel dans la barre d'état. Cela vous permet de voir le résumé du problème sélectionné dans le fichier actif sans mouvements de clavier ou de souris supplémentaires.
Remarque: L'activation de cette fonctionnalité nécessite l'activation du paramètre problems.showCurrentInStatus.
Disposition flexible du boîtier de filtre
La zone de filtre du panneau Problèmes ajuste désormais sa position en fonction de la position et de la taille du panneau.
Amélioration du rendu des polices (Windows, Linux)
Lorsque Microsoft a mis à jour vers Electron 6 la version précédente, de nombreux utilisateurs ont signalé que le rendu des polices avait régressé pour eux. Plus précisément, les polices n'étaient pas aussi fluides qu'auparavant. Microsoft a immédiatement résolu le problème dans l'éditeur et le correctif a été mis à disposition dans une version de récupération 1.40. Cependant, d'autres zones dans le Workbench souffraient toujours d'un rendu de police moins qu'idéal.
Dans cette version, Microsoft a amélioré le rendu des polices dans davantage de parties du plan de travail (pour Windows et Linux). Les captures d'écran ci-dessous montrent une comparaison avant et après (zoom avant pour montrer la différence). En particulier, de nombreux éléments d'arborescence et de liste du plan de travail ont été rendus en utilisant l'anticrénelage en niveaux de gris et ils sont désormais rendus avec l'anticrénelage en sous-pixels.
Avant (gauche) et après (droite):
Performances de fichier en lecture/écriture plus rapides pour les scénarios distants
La lecture et l'écriture de fichiers (à partir de l'éditeur de texte) devraient désormais être plus rapides pour les scénarios où le système de fichiers est distant et la latence est élevée (par exemple lorsque vous utilisez VS Code dans un navigateur avec une connexion lente ou lorsque vous êtes connecté à un hôte distant qui n’est pas dans la même région). Microsoft est passé à une implémentation basée sur les flux pour les lectures et les écritures qui réduit considérablement les frais de communication.
Recherche
Mettre à jour les résultats de la recherche en cours de frappe
Dans la recherche en texte intégral, les résultats seront désormais mis à jour à mesure que vous tapez. Cela est particulièrement utile dans des scénarios comme la construction de requêtes d'expression régulière complexes, où des commentaires rapides sur une requête peuvent vous aider à écrire le RegEx.
Ici, la rétroaction instantanée aide à construire une requête RegEx Find and Replace pour adopter la syntaxe de chaînage facultative de TypeScript:
Remarque: Cette fonctionnalité peut être désactivée en définissant search.searchOnType sur false, et le délai entre la saisie et la recherche peut être ajusté avec search.searchOnTypeDebouncePeriod, qui prend par défaut 300 ms.
Ajouter des curseurs aux résultats de recherche
Cette version embarque une commande pour ajouter des curseurs à toutes les correspondances d'une recherche de texte. En vous concentrant sur les résultats de recherche d'un fichier dans la vue Recherche, vous pouvez appuyer sur Ctrl + Maj + L pour modifier simultanément toutes les correspondances de ce fichier. Il s'agit du même raccourci clavier utilisé lors de la recherche dans un seul éditeur avec le widget Rechercher.
Développez tous les résultats de la recherche par défaut
Auparavant, si une recherche en texte intégral renvoyait plus de 10 résultats dans un seul fichier, elle apparaissait réduite dans l'arborescence Résultats. Cependant, cela a parfois rendu difficile la recherche d'un résultat particulier, donc avec cette version, tous les résultats sembleront développés.
Vous pouvez définir search.collapseResults sur auto pour revenir à l'ancien comportement.
Éditeur
Décorations de mini-carte pour les erreurs, les avertissements et les modifications de contenu
Les erreurs et les avertissements sont désormais mis en évidence en ligne dans la minicarte (aperçu du code). Vous pouvez changer la couleur de ces décorations avec les nouvelles couleurs de thème minimap.errorHighlight et minimap.warningHighlight.
Ci-dessous, vous pouvez voir la minicarte mettant en évidence une subtile faute de virgule manquante:
Les décorations des modifications de contenu sont également affichées dans le caniveau de la minicarte.Vous pouvez modifier les couleurs de changement de contenu avec:
- minimapGutter.addedBackground
- minimapGutter.modifiedBackground
- minimapGutter.deletedBackground
Vous pouvez modifier la visibilité des décorations de contrôle de source avec le paramètre scm.diffDecorations, qui a les valeurs:
- [B]all[/C] - Affiche les décorations des différences de contrôle de source dans tous les emplacements.
- gutter - Affiche uniquement dans la gouttière de l'éditeur de gauche.
- minimap - Affiche uniquement dans la gouttière de la mini-carte.
- overview - Affiche uniquement dans la règle d'aperçu.
- none - n'affiche pas les décorations.
Commandes alternatives de navigation dans le code
VS Code ne faisait rien lorsque vous sélectionniez Aller à la définition alors qu'il était déjà à la définition. Avec cette version, d'autres commandes peuvent être exécutées à la place. Par exemple, Aller à la définition peut être mappé pour exécuter Aller aux références.
Ceci est personnalisé via le paramètre editor.gotoLocation.alternativeDefinitionCommand. Par exemple, vous pouvez faire que l'alternative à Aller à la définition soit Aller à la déclaration et vice versa. Vous pouvez laisser le paramètre vide si vous préférez l'ancien comportement.
Raccourcis clavier IntelliSense sur macOS
IntelliSense est généralement déclenché via Ctrl + Espace. Sur macOS cependant, ce raccourci clavier est utilisé par le système d'exploitation lorsque plusieurs sources d'entrée sont configurées. Cela conduit souvent à la confusion et aux utilisateurs qui pensent qu'IntelliSense est défectueux.
Il y a maintenant deux façons de gérer cela:
- Utilisez le nouveau raccourci clavier Alt + Échap que Microsoft a ajouté pour macOS.
- Désactivez la commutation de source d'entrée via Ctrl + Espace dans vos préférences macOS via Préférences> Clavier> Raccourcis> Sources d'entrée.
Screen reader output
Il existe un nouveau paramètre editor.accessibilityPageSize qui contrôle le nombre de lignes de l'éditeur pouvant être lues simultanément par un lecteur d'écran. Notez que cela a des implications sur les performances pour les nombres supérieurs à la valeur par défaut de 10.
Si vous utilisez la commande Say All du lecteur d'écran, Microsoft recommande de définir editor.accessibilityPageSize sur 100 ou 1000. La prochaine fois, l'éditeur prévoit d'examiner la possibilité de modifier la valeur par défaut de ce paramètre.
Nouvelle option de correspondance des crochets
Il est désormais possible de configurer "editor.matchBrackets": "near" pour obtenir l'ancien comportement de mise en surbrillance des crochets correspondants uniquement lorsque le curseur se trouve de chaque côté d'un crochet. La valeur par défaut est always, ce qui met en évidence les crochets correspondants entourant la position actuelle du curseur.
Langage
Curseur miroir HTML
VS Code ajoute désormais un curseur miroir lorsque vous modifiez des balises HTML. Ce comportement est contrôlé par le paramètre html.mirrorCursorOnMatchingTag, qui est activé par défaut.
Cette fonctionnalité marche en ajoutant un multi-curseur à la balise correspondante lorsque votre curseur se déplace dans une plage de noms de balises HTML. Tout comme en mode multi-curseur, vous pouvez utiliser la suppression mot par mot ou la sélection par mot. Le curseur en miroir est supprimé lorsque vous déplacez votre curseur en dehors de la plage de noms de balises.
Un cas particulier consiste à entrer dans l'espace lorsque le curseur se trouve à la fin de la balise d'ouverture, par exemple à la fin d'un div comme <div |> </ div |>. Dans ce cas, VS Code supprime l'espace inséré après le nom de la balise de fermeture et quitte le mode de curseur miroir, afin que vous puissiez continuer à modifier les attributs HTML.
Balises de renommage HTML
Vous pouvez maintenant utiliser F2 pour renommer les paires de balises d'ouverture / fermeture en HTML.
JSON
Pour éviter les problèmes de performances avec les fichiers JSON volumineux, la prise en charge du langage JSON a désormais une limite supérieure sur le nombre de régions de pliage et de symboles de document qu'il calcule (pour la vue Structure et le fil d'Ariane). Par défaut, la limite est de 5000 éléments, mais vous pouvez modifier la limite avec le paramètre json.maxItemsComputed.
TypeScript 3.7
VS Code est désormais fourni avec TypeScript 3.7.3. Cette mise à jour majeure apporte quelques améliorations du langage TypeScript - y compris des fonctions de chaînage facultatives, de coalescence nulle et d'assertion - ainsi que de nouvelles fonctionnalités d'outils pour JavaScript et TypeScript. Comme toujours, cette version inclut également un certain nombre de corrections de bogues importantes.
Prise en charge du chaînage en option pour JavaScript et TypeScript
Grâce à TypeScript 3.7, VS Code prend désormais en charge le chaînage d'options prêt à l'emploi pour JavaScript et TypeScript. Cela inclut la coloration syntaxique et IntelliSense.
Source : Microsoft