Mettre en forme uniquement le texte modifié
Lors de la contribution à un autre projet, les commandes Formater lors de l'enregistrement et Formater le document peuvent provoquer des mises à jour indésirables car elles mettent en forme des lignes que vous n'avez pas modifiées. Ce comportement peut impliquer des Pull Request volumineux, qui sont donc difficiles à examiner, et toucher du code que vous n'aviez pas l'intention de modifier. Il existe désormais une nouvelle fonctionnalité permettant de limiter les modifications indésirables:
- Microsoft a ajouté une nouvelle commande Formater les lignes modifiées, qui vous permet de formater uniquement les lignes nouvelles et modifiées.
- Il existe un nouveau paramètre editor.formatOnSaveMode, qui fait que le format lors de l'enregistrement ne s'applique qu'aux lignes modifiées.
Notez que les modifications sont définies par votre fournisseur de contrôle de code source, par exemple, les modifications détectées par Git, et que sans modifications du contrôle de code source, aucune ligne modifiée n'est formatée. L'indicateur Quick Diff sur le côté gauche de l'éditeur est un indice fiable pour les lignes qui seront formatées.
Cela nécessite également que le formateur actif prenne en charge le formatage uniquement d'une partie d'un document, ce que font la plupart des formateurs courants.
Mettre en forme plusieurs sélections
La commande Sélection de format est désormais compatible avec les multi-curseurs. Sélectionnez plusieurs lignes ou instructions, déclenchez la sélection du format et la mise en forme sera appliquée à toutes les sections.
Table de travail
Changement de casse dans regex replace
En juin, l'équipe a ajouté la prise en charge de la modification de la casse des groupes de correspondance regex tout en effectuant une recherche / remplacement dans l'éditeur. Ce mois-ci, Microsoft a ajouté la même fonctionnalité pour Rechercher / Remplacer dans tout l'espace de travail. Ceci est fait avec les modificateurs \ u\U\l\ L, où \u et \l mettront en majuscules / minuscules un seul caractère, et \U et \L en majuscules / minuscules le reste du groupe correspondant.
Amélioration des diagnostics de liaison de touches
Pour résoudre les problèmes de raccourcis clavier, il existe désormais une commande Developer: Toggle Keyboard Shortcuts Troubleshooting. Cela activera la journalisation des raccourcis clavier distribués et ouvrira un panneau de sortie avec le fichier journal correspondant.
Par exemple, lorsque vous appuyez sur [C]cmd+/[/B] dans un éditeur de code sous macOS, la sortie de journalisation serait:
Envoyé par affichage
Le premier événement keydown concerne la clé MetaLeft (cmd) et ne peut pas être distribué. Le deuxième événement keydown est pour la touche Slash (/) et est distribué en tant que meta+[Slash]. Il y avait deux entrées de liaison de touches mappées à partir de meta+[Slash] et celle qui correspondait était pour la commande editor.action.commentLine.
Contrôle de la source
Vue Référentiels de contrôle de source
La vue Référentiels de contrôle de source (anciennement connue sous le nom de vue Fournisseurs de contrôle de source) a été réintroduite pour permettre un contrôle plus précis des référentiels de contrôle de source devant être visibles dans la vue Contrôle de source. Comme auparavant, cette vue prend en charge la sélection multiple afin que vous puissiez avoir plusieurs référentiels visibles en même temps.
Débogage
Filtre de la console de débogage
La console de débogage prend désormais en charge le filtrage, ce qui permet aux utilisateurs de trouver plus facilement la sortie qu'ils recherchent ou de masquer la sortie de journalisation non pertinente. Le filtre prend également en charge les modèles d'exclusion (par exemple, les modèles commençant par un point d'exclamation!). Le filtre s'applique uniquement à la sortie du programme, mais pas aux évaluations exécutées par un utilisateur. Comme d'autres zones de saisie dans VS Code, vous pouvez utiliser les touches fléchées up et down pour naviguer entre les anciennes entrées de filtre.
Améliorations UX
Lors du débogage de plusieurs sessions, VS Code rend désormais uniquement la flèche dans la marge du glyphe pour la session ciblée. Cela devrait permettre aux utilisateurs de distinguer plus facilement la décoration de la pile d'appels de l'éditeur qui appartient à la session de débogage qui intéresse l'utilisateur.
Améliorations du débogueur JavaScript
Amélioration d'Auto Attach
Auto Attach peut désormais déboguer les processus même sans leur passer manuellement un indicateur --inspect. Lorsque l'attachement automatique est activé, VS Code utilise par défaut son mode "intelligent" pour déboguer tout script Node.js en dehors des dossiers node_modules, ainsi que certains outils 'runner' courants tels que mocha et ts-node.
Vous pouvez revenir à l'ancien comportement ou choisir de déboguer tous les scripts Node.js à l'aide du paramètre debug.javascript.autoAttachFilter. Si vous souhaitez modifier le moment où le mode "intelligent" se connecte, vous pouvez le configurer dans le paramètre debug.javascript.autoAttachSmartPattern.
Dans ce cadre, Auto Attach fonctionne également désormais avec des multiplexeurs de terminaux tels que tmux, à condition qu'ils héritent des variables d'environnement de la session.
Gestion du sourcemap dans les erreurs enregistrées
Auparavant, la trace de la pile lors de la journalisation d'une erreur JavaScript telle que console.log(error) indiquait les emplacements dans votre code compilé. Si des sourcemaps sont disponibles, VS Code traitera maintenant la trace de pile pour utiliser les emplacements source. Ceci est utile lors du débogage d'applications Web qui utilisent des bundlers comme Webpack.
Langages
TypeScript 4.0
VS Code est désormais livré avec TypeScript 4.0.2. Cette mise à jour majeure prend en charge de nouvelles fonctionnalités de langage telles que les types de tuple variadiques, ainsi que des améliorations des outils de l'éditeur et de nombreuses corrections de bogues.
Importations auto plus "intelligentes"
L'éditeur est désormais plus performant dans la recherche de vos packages npm installés pour des importations auto potentielles JavaScript et TypeScript. Les packages répertoriés dans vos dépendances package.json sont désormais analysés à la recherche d'importations, même s'ils ne sont pas encore référencés dans votre base de code. Cela peut être particulièrement utile après avoir installé un nouveau package et que vous souhaitez commencer à l'utiliser.
Un mode IntelliSense partiel pendant les chargements de projet
Avec TypeScript 4.0, VS Code peut désormais fournir IntelliSense et d'autres fonctionnalités de langage plus avancées pendant le chargement d'un grand projet. Cela devrait vous permettre de commencer à travailler plus rapidement avec votre code.
Pour expliquer comment marche cette fonctionnalité, vous devez d'abord comprendre comment VS Code fonctionnait auparavant. Lorsque vous ouvrez un fichier JavaScript ou TypeScript dans VS Code, le service de langage TypeScript tente de charger le projet auquel appartient le fichier. Parfois, ce projet peut être assez volumineux, comme avec la base de code VS Code principale, qui se compose de plusieurs milliers de fichiers TypeScript. Lors du chargement d'un projet, VS Code est capable de gérer les opérations de syntaxe de base, telles que l'obtention du contour du document et l'activation du pliage de code, mais il ne pouvait auparavant pas fournir IntelliSense ou d'autres fonctionnalités de langage plus avancées car elles dépendent de la compréhension de l'ensemble du projet.
Grâce à TypeScript 4.0, VS Code peut offrir un IntelliSense limité pendant le chargement d'un grand projet. Néanmoins, dans ce cas d'utilisation, IntelliSense est limité à l'utilisation du fichier actuel, au lieu de l'ensemble du projet. Cela signifie que les fonctionnalités telles que les suggestions et Aller à la définition fonctionneront, mais les suggestions ne sont affichées qu'à partir du fichier actuel et vous ne pouvez exécuter Aller à la définition que pour accéder à un autre symbole dans le fichier actuel. Vous n'obtiendrez pas non plus de fonctionnalités telles que l'importation automatique, car cela dépend du traitement par VS Code de l'ensemble du projet.
Le mode partiel IntelliSense ne sera utilisé que pendant le chargement d'un projet. Une fois le projet chargé, VS Code passera automatiquement à IntelliSense complet. Si vous travaillez avec de grands projets JavaScript ou TypeScript, le mode IntelliSense partiel devrait vous permettre de commencer à travailler avec votre code presque instantanément jusqu'à ce qu'un IntelliSense plus complet à l'échelle du projet devienne disponible.
Télécharger Visual Studio Code version 1.49 Windows: User System | Mac | Linux: snap deb rpm tarball
Source : Microsoft