Voici, ci-dessous, quelques-unes des principales nouveautés :
Améliorations de l'éditeur de fusion
Ouverture de l'éditeur de fusion à partir de fichiers présentant des conflits
Un fichier qui présente un conflit affichera désormais automatiquement un bouton Ouvrir dans l'éditeur de fusion pour passer de l'éditeur de texte à l'éditeur de fusion.
Le fichier de l'éditeur de fusion n'est pas modifié à l'ouverture
VS Code ne modifie plus le fichier de résultat lors de son ouverture dans l'éditeur de fusion (les régions en conflit étaient remplacées par la base). Au lieu de cela, les marqueurs de conflit restent dans le fichier mais sont cachés dans la vue des résultats. Les cases à cocher peuvent être utilisées pour remplacer les marqueurs de conflit par l'un ou l'autre côté, une combinaison des deux côtés ou, en les décochant, par la base.
Restauration des anciens décorateurs de conflits
Les anciens décorateurs de conflits en ligne ne sont plus désactivés, de sorte que l'éditeur de fusion et l'expérience en ligne peuvent être utilisés ensemble. Lorsque l'éditeur de fusion s'ouvre, vous pouvez obtenir l'expérience précédente par un simple clic dans la barre d'outils de l'éditeur :
En cliquant sur la même icône à côté du nom du fichier dans la vue Source Control, il est possible d'ignorer complètement l'éditeur de fusion. Cependant, il estpossible de basculer entre la nouvelle et l'ancienne expérience à tout moment et même les utiliser en parallèle :
Améliorations des cases à cocher
Microsoft prend désormais des dispositions pour que les cases à cocher d'un conflit soient toujours visibles, même lorsque le conflit est plus grand que la fenêtre d'affichage. Des couleurs sont utilisées pour mettre en évidence les cases à cocher des conflits non gérés.
Améliorations de l'algorithme de différenciation
Des algorithmes de diffusion alternatifs sont explorés dans le but d’améliorer la qualité des conflits. Un nouvel algorithme de diffusion expérimental peut être activé avec le paramètre suivant :
"mergeEditor.diffAlgorithm": "experimental",
Ce nouvel algorithme n'est pas encore optimisé pour les performances, mais il améliore l'expérience de l'éditeur de fusion pour de nombreux cas limites.
Évolution
Dans cette version, Microsoft s'est concentrés sur les problèmes d'interface utilisateur les plus importants de l'éditeur de fusion et a corrigé de nombreux bogues. Les prochaines améliorations se concentreront sur une vue de base séparée, la réduction des conflits, le raffinement de l'algorithme de différenciation et d'autres améliorations.
La bibliothèque partagée FFmpeg qui fait partie du VS Code ne supportait auparavant que le codec FLAC. Avec cette version, la bibliothèque a été mise à jour pour supporter la liste suivante de codecs et de conteneurs. Cela permettra à plus de fichiers audio et vidéo d'être lus à partir de notebooks ou par des extensions intégrant de l'audio et de la vidéo dans des webviews.
- Vorbis
- Flac
- H.264
- VP8
- WAV
- MP3
- Ogg
Améliorations de la sélection de renommage de l'explorateur
Après avoir lancé une action de renommage sur un fichier, la touche F2 permet de parcourir le nom du fichier, la sélection entière et l'extension du fichier afin de permettre une interaction plus flexible avec le clavier.
Superposition des contrôles de fenêtre sous Windows
Dans la version 1.68, VS Code a adopté le support de la fonctionnalité Window Controls Overlay d'Electron derrière un tag expérimental et était désactivé par défaut. Microsoft a résolu les problèmes restants autour de cette fonctionnalité affectant VS Code, ce qui permet de l'activer par défaut pour tous les utilisateurs de Windows.
La fonction de superposition des contrôles Windows permet aux utilisateurs de VS Code sur Windows 11 de sélectionner des dispositions instantanées pour placer VS Code sur leur bureau.
Mode d'expansion de l'arborescence
Le paramètre Workbench > Tree : Expand Mode (workbench.tree.expandMode), qui détermine si les nœuds de l'arbre se développent en cas de simple ou de double-clic, sera désormais respecté par les arborescences fournies par des extensions.
Éditeur
Sticky Scroll
Sticky scroll affiche la portée actuelle en haut du port d'affichage. Cette fonctionnalité n'est plus expérimentale et peut être activée dans les paramètres avec editor.stickyScroll.enabled. D'autres améliorations ont été apportées :
- Il est possible de définir le nombre maximal de lignes à afficher avec le paramètre Editor > Sticky Scroll : Max Line Count (editor.stickyScroll.maxLineCount). Le maximum par défaut est de 5 lignes ;
- Il est possible d'utiliser Ctrl/Cmd + Click dans le sticky scroll, pour naviguer vers une définition.
Nouveau contrôle de l'action du code
Microsoft a complètement remanié le contrôle de l'action du code. Au lieu d'un simple menu d'actions de code, il y a maintenant un contrôle personnalisé qui permet de trouver plus facilement l'action de code désirée. Le nouveau contrôle permet également à VS Code de faire apparaître des informations supplémentaires. Par exemple, il est maintenant possible de survoler les actions de code désactivées pour savoir pourquoi elles sont désactivées.
Il est également possible de personnaliser les raccourcis clavier utilisés pour naviguer dans la liste des actions de code en modifiant les liaisons de touches pour les commandes suivantes :
- selectNextCodeAction(
- selectPrevCodeAction(
- acceptSelectedCodeAction(
La nouvelle interface utilisateur des actions de code constitue une excellente base pour d'autres améliorations de l'interface utilisateur.
Configuration de la correspondance suggérée
Il existe un nouveau paramètre pour configurer le filtrage IntelliSense. Par défaut, le premier caractère doit correspondre à un début de mot, par exemple c doit correspondre à console ou WebContext mais ne correspondra pas à description. Le paramètre (editor.suggest.matchOnWordStartOnly( modifie ce comportement. Lorsqu'il est désactivé, le filtrage prend en compte toutes les correspondances, ce qui donne plus de résultats, mais le filtrage se fait toujours en fonction de la qualité de la correspondance.
Dans la courte vidéo ci-dessous, lorsque (matchOnWordStartOnly( est désactivé, les suggestions pour dir incluent plus d'éléments, tels que mkdir et makedirs
Contrôle de source
Améliorations du bouton d'action de validation
Les utilisateurs peuvent contrôler globalement l'action secondaire (par exemple, pull, sync) qui est exécutée après une opération de commit réussie en utilisant le paramètre git.postCommitCommand. Microsoft a ajouté un nouveau paramètre git.rememberPostCommitCommand qui peut être activé pour se souvenir de la dernière action secondaire exécutée par dépôt.
Terminal
Améliorations de l'intégration du shell
Les améliorations suivantes ont été apportées à l'intégration shell dans cette version :
L
- 'intégration shell Fish est disponible uniquement en tant qu'installation manuelle expérimentale ;
- L'intégration du shell Git bash pour Windows est disponible uniquement en tant qu'installation manuelle expérimentale ;
- Prise en charge des séquences alternatives courantes de répertoire de travail : OSC 6 ; scheme://<cwd> ST, OSC 1337 ; CurrentDir=<cwd> ST, OSC 9 ; 9 ; <cwd> ST.
Défilement fluide
Le terminal prend maintenant en charge le défilement fluide, qui animera le défilement pendant une courte période de temps pour aider à voir l'emplacement après le défilement, comme dans l'éditeur et les listes. Pour activer le défilement fluide, définissez :
"terminal.integrated.smoothScrolling" : true
Tâches
Reconnexion lors du rechargement de la fenêtre
Les tâches de surveillance sont désormais reconnectées lors du rechargement de la fenêtre, ce qui permet un travail ininterrompu lorsque VS Code est mis à jour ou que l'état d'une extension change. La reconnexion des tâches est activée par défaut, mais peut être désactivée avec le paramètre task.reconnection.
Débogage
Option suppressMultipleSessionWarning dans launch.json
Lorsque l'utilisateuressaye de démarrer le débogage avec une configuration de lancement, mais qu'il y a déjà une session de débogage active pour cette configuration, VS Code affichera une boîte de dialogue d'avertissement avant de démarrer la deuxième instance. Ceci est facile à faire par accident et n'est généralement pas ce que vous vouliez faire. Cependant, si l'exécution de plusieurs instances de la même configuration fait partie de du flux de travail, il est maintenant possible de désactiver cet avertissement en ajoutant "suppressMultipleSessionWarning" : true au fichier de configuration launch.json.
Création d'extensions
TerminalExitStatus.reason
Les auteurs d'extensions ont désormais un meilleur aperçu de la raison pour laquelle un terminal s'est éteint grâce à la nouvelle API TerminalExitReason.
Code : | Sélectionner tout |
1 2 3 4 5 6 7 | export enum TerminalExitReason { Unknown = 0, Shutdown = 1, Process = 2, User = 3, Extension = 4 } |
Documentation sur les paramètres d'énumération enumItemLabels
Les paramètres d'énumération de l'éditeur de paramètres prennent en charge la clé enumItemLabels, qui permet à l'auteur de l'extension de spécifier les valeurs à afficher dans les listes déroulantes correspondant aux valeurs de l'énumération.
Nouvelle clé contextuelle activeWebviewPanelId
La nouvelle clé contextuelle activeWebviewPanelId permet de suivre le viewType du panneau du webview actuellement focalisé. Il est possible de l'utiliser dans des clauses when pour activer des commandes ou des éléments de menu lorsque votre webview est focalisé.
"when" : "activeWebviewPanelId =='markdown.preview'"
Plugins de serveur TypeScript sur web
Les plugins de service de langage TypeScript sont désormais pris en charge sur le web. Cela s'applique aux plugins qui sont contribués par des extensions utilisant le point de contribution typescriptServerPlugins.
Pour commencer, vous devez d'abord indiquer à TypeScript que votre plugin est compatible avec le web en ajoutant un point d'entrée de navigateur dans votre package.json en plus de main :
Code : | Sélectionner tout |
1 2 | "main" : "out/main.js", "browser" : "out/main.browser.js" |
Code JavaScript : | Sélectionner tout |
1 2 3 | export default function init(modules: { typescript: typeof import("typescript/lib/tsserverlibrary") }) { ... }; |
Éléments d'arbre désactivés
Les éléments de l'arbre avec des commandes dont la clause d'activation est résolue à false seront affichés comme désactivés.
Protocole de l'adaptateur de débogage
Proposition d'une requête 'startDebugging'
Aujourd'hui VS Code supporte plusieurs sessions de débogage simultanées mais le Debug Adapter Protocol (DAP) ne couvre qu'une seule session. Cela signifie que la création programmatique de nouvelles sessions de débogage ne fait pas partie de DAP et ne peut se faire qu'en dehors de DAP ou de l'adaptateur de débogage, typiquement dans l'extension de débogage qui contient l'adaptateur de débogage.
Une conséquence de ceci est que la fonctionnalité multi-session, telle que le débogage des processus enfants, n'est pas facilement disponible pour les clients DAP non-VS Code qui réutilisent seulement l'adaptateur de débogage et non l'extension de débogage spécifique à VS Code. Pour améliorer cette situation, Microsoft prévoit d'ajouter une nouvelle demande inverse à DAP pour créer une nouvelle session de débogage à partir de l'adaptateur de débogage. « Après quelques discussions, nous avons préparé une proposition pour une requête inverse startDebugging.
Ingénierie
Mise à jour de l'Electron 19
Dans cette étape importante, Microsoft dit avoir terminé l'exploration pour regrouper Electron 19, l'environnement permettant de développer des applications multi-plateformes de bureau avec des technologies web, dans le bureau VS Code. Cette mise à jour est livrée avec Chromium 102.0.5005.167 et Node.js 16.14.2.
Le support de Windows 7 est terminé
Microsoft a mis fin à la prise en charge de Windows 7 en janvier 2020. Cependant, Electron a continué à prendre en charge Windows 7 en appliquant un correctif à la bibliothèque libuv. Avec la mise à jour Electron 19, le correctif libuv ne fonctionne plus et Microsoft recommande aux utilisateurs de mettre à jour vers une version plus récente de Windows afin d'utiliser la version de bureau VS Code. VS Code ne fournira plus de mises à jour de produits et de correctifs de sécurité sur Windows 7.
Source :Microsoft
Et vous ?
Que pensez-vous des changements introduits dans VS Code 1.71 ?
Voir aussi
Visual Studio Code 1.60 est disponible et apporte la détection automatique du langage
Visual Studio Code 1.59 est disponible. Cette version s'accompagne d'une amélioration de la vue Extensions, ainsi que du suivi des processus enfants et des avertissements de fermeture
Visual Studio Code 1.58 est disponible et apporte des modifications aux commentaires des clients et la prise en charge des mathématiques dans l'aperçu de Markdown
Visual Studio Code 1.57 s'accompagne de Workspace Trust, une fonctionnalité de sécurité pour autoriser ou restreindre l'exécution automatique de code