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 : | Sélectionner tout |
1 2 3 4 5 6 7 8 | { "key": "cmd+shift+h", "command": "workbench.action.terminal.newWithCwd", "args": { "cwd": "${fileDirname}" } } |
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 Java : | Sélectionner tout |
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 :
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
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
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
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
Microsoft annonce la disponibilité générale de Visual Studio 2019 version 16.2 ainsi que la Preview 1 de la version 16.3