VS Code 1.51 publié avec des améliorations des onglets épinglés et plus
Visual Studio Code est une application populaire pour les développeurs. Il s'agit d'un éditeur de code redéfini et optimisé pour la création et le débogage d'applications Web et cloud modernes. VS Code est livré avec une variété d'extensions et d'aides qui permettent vraiment de gagner du temps. Il est disponible pour toutes les principales plates-formes, y compris Windows, MacOS et Linux. Microsoft a publié aujourd'hui une nouvelle version de l'application qui apporte des améliorations à diverses fonctionnalités de l'application, notamment les onglets épinglés, l'intégration GitHub et bien plus encore.
VS Code 1.51 est notable pour les changements suivants.
Remarque: vous pouvez télécharger l'application à partir de son site Web officiel.
Table de travail
Onglets épinglés plus proéminents
Les onglets épinglés afficheront désormais toujours leur icône d'épingle, même lorsqu'ils sont inactifs, pour les rendre plus faciles à identifier. Si un éditeur est à la fois épinglé et contient des modifications non enregistrées, l'icône reflète les deux états.
Les arbres d'extension utilisent un survol personnalisé
Au lieu d'utiliser l'info-bulle native dans les vues d'arborescence d'extension, nous utilisons désormais un survol personnalisé qui est cohérent sur plusieurs plates-formes et s'intègre mieux à l'UX global.
Installer une extension sans synchroniser
Vous pouvez désormais installer une extension sans la synchroniser lorsque la synchronisation des paramètres est activée.
Thème: Lumière GitHub
Installer une extension depuis Explorer
VS Code prend désormais en charge l'installation d'un fichier d'extension VSIX à partir de l'explorateur en cliquant avec le bouton droit sur un fichier VSIX et en choisissant le Installer l'extension VSIX élément de menu contextuel.
Commande de flou d'entrée
Un nouvel interne workbench.action.blur
La commande est maintenant disponible, ce qui supprime le focus de toute entrée pouvant être focalisée. Vous pouvez affecter un raccourci clavier à cette commande dans le Préférences des raccourcis clavier.
Terminal intégré
Écho local
Effectuer des modifications dans le terminal nécessite traditionnellement que des informations soient envoyées au processus du terminal, traitées et renvoyées à VS Code afin d'être affectées. Cela peut être lent lorsque vous travaillez sur une connexion médiocre ou distante à un serveur SSH ou Espace de code.
Cette version ajoute un mode "écho local" au terminal, qui tente de prédire les modifications et les mouvements du curseur effectués localement et de les afficher dans l'interface utilisateur sans nécessiter un aller-retour vers le serveur. Par défaut, les caractères prédits s'affichent comme "estompés" :
Il y a deux paramètres que vous pouvez utiliser pour configurer ceci :
-
terminal.integrated.localEchoLatencyThreshold
configure le seuil de retard détecté, en millisecondes, auquel l'écho local s'activera. Cela peut être réglé sur0
pour activer la fonction tout le temps, ou-1
pour le désactiver. Par défaut à30
. -
terminal.integrated.localEchoStyle
configure le style ou la couleur du caractère local, par défautfaible
.
IntelliSense
Suggestions redimensionnables
Cette étape importante, nous avons apporté plusieurs améliorations à l'interface utilisateur des suggestions. Tout d'abord, il peut maintenant être redimensionné. Faites glisser les côtés ou les coins pour redimensionner le contrôle.
Thème: Lumière GitHub, Police: FiraCode
La taille de la liste de suggestions sera enregistrée et restaurée d'une session à l'autre. La taille du volet de détails n'est enregistrée que par session, car cette taille a tendance à être plus variable. Également editor.suggest.maxVisibleSuggestions
réglage est devenu obsolète.
Barre d'état pour les suggestions
Le contrôle des suggestions peut désormais afficher sa propre barre d'état en bas de la fenêtre. Activez-le à l'aide du editor.suggest.showStatusBar
réglage. Il simplifie le basculement des détails et indique si une complétion prend en charge l'insertion, le remplacement ou les deux.
Thème: Lumière GitHub, Police: FiraCode
Dans l'exemple ci-dessus, la sélection de « Insérer » entraîne Math.floorceil
et en sélectionnant « Remplacer », les résultats étage.mathématiques
.
Le nouveau editor.suggest.insertMode
Ce paramètre vous permet de configurer si vous préférez insérer ou remplacer. Lorsqu'une suggestion prend en charge les deux, votre préférence sera la valeur par défaut.
Déplacez le curseur pour sélectionner des suggestions
Enfin, vous pouvez désormais déplacer le curseur pendant que les suggestions s'affichent. Par exemple, vous pouvez déclencher des suggestions à la fin d'un mot, vous déplacer vers la gauche pour voir plus de suggestions, puis utiliser remplacer pour écraser le mot.
Thème: Lumière GitHub
Emmet
Les extraits personnalisés dans Emmet sont de retour. De plus, les extraits sont désormais automatiquement actualisés lors de l'enregistrement du fichier d'extraits ou de la mise à jour du emmet.extensionsPath
réglage.
Contrôle de source
La zone de saisie du contrôle de source enregistre l'historique des messages de validation
Cela répond à un demande de fonctionnalité pour parcourir l'historique des commits SCM. presse ↑ (Windows, Linux En haut) et ↓ (Windows, Linux Vers le bas) pour afficher respectivement les commits précédents et suivants. Pour passer directement à la première et à la dernière position de la zone de saisie, appuyez sur Alt en conjonction avec la touche fléchée correspondante.
Git: commandes de balises dans le sous-menu
Les commandes Git liées aux balises ont été ajoutées au ... menu Git.
Git: commande Rebase
Un nouveau Git: Rebase de la branche... La commande a été ajoutée qui vous permet de rebaser une branche à l'aide de l'interface utilisateur.
Git: commande de clonage récursif
Avec le Git: Clone (récursif) commande, vous pouvez désormais cloner de manière récursive les référentiels Git, y compris ses sous-modules Git imbriqués.
Chronologie: rendu des codes courts Emoji
Nous rendons maintenant les shortcodes emoji, tels que :le sourire:
, dans la vue chronologique.
Langues
Sélection intelligente de démarques
Développez et réduisez la sélection dans les documents Markdown à l'aide des nouvelles commandes suivantes :
- Développer: ⌃⇧⌘→ (Windows, Linux Maj+Alt+Droite)
- Rétrécir: ⌃⇧⌘← (Windows, Linux Maj+Alt+Gauche)
La sélection s'applique aux éléments suivants et suit un modèle hiérarchique traditionnel :
- En-têtes
- Listes
- Bloquer les guillemets
- Blocs de code clôturés
- Blocs de code HTML
- Paragraphes
Option de formatage d'accolade vide pour JavaScript et TypeScript
Le nouveau javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
et typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
l'option de configuration de formatage contrôle si des espaces sont insérés entre des accolades vides. La valeur par défaut de ces paramètres est true. Par exemple, pour le JavaScript :
class Foo { doFoo() { } }
Réglage "javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false
et le formatage du code donne :
class Foo { doFoo() {} // Notez que l'espace a été supprimé. }
Prise en charge du navigateur
Dossiers de téléchargement (Edge, Chrome)
Tirer parti de la nouvelle Accès au système de fichiers L'API, VS Code exécuté dans un navigateur peut désormais proposer une action de téléchargement de dossiers à partir de l'explorateur de fichiers pour télécharger tous les fichiers et dossiers sur le disque.
Noter: Cela nécessite une version récente de Microsoft Edge ou Google Chrome.
Ouvrir la notification de l'espace de travail
Si vous ouvrez un dossier contenant .code-espace de travail
fichiers au niveau supérieur, vous verrez maintenant une notification vous demandant de l'ouvrir. Cela a toujours été le cas dans VS Code pour ordinateur de bureau et fonctionnera désormais également dans le navigateur.
Empêcher la fermeture accidentelle
Un nouveau décor window.confirmAvantFermer
a été ajouté pour afficher une boîte de dialogue de confirmation avant de fermer ou de quitter l'atelier.
Les valeurs possibles sont :
-
clavierseulement
La confirmation ne sera affichée que lorsque vous utilisez un raccourci clavier pour fermer (par exemple, W (Windows, Linux Ctrl+W)). (défaut) -
toujours
: La boîte de dialogue de confirmation sera toujours affichée, même si vous fermez d'un geste de la souris. -
jamais
: La confirmation ne sera jamais affichée.
Noter: Ce paramètre peut ne pas couvrir tous les cas. Les navigateurs peuvent toujours décider de fermer un onglet ou une fenêtre sans confirmation.
Contributions aux prolongations
Demandes d'extraction et problèmes GitHub
Les travaux se poursuivent sur le Demandes d'extraction et problèmes GitHub extension, qui vous permet de travailler, de créer et de gérer les demandes d'extraction et les problèmes.
Pour en savoir plus sur toutes les nouvelles fonctionnalités et mises à jour, vous pouvez voir le changelog pour le 0.22.0 libération de l'extension.
Développement à distance
Les travaux se poursuivent sur le Extensions de développement à distance, qui vous permettent d'utiliser un conteneur, une machine distante ou le Sous-système Windows pour Linux (WSL) en tant qu'environnement de développement complet.
Les points forts de la 1.51 incluent :
- Possibilité de persister/reconnecter aux sessions de terminal.
- Expérience de redirection de port améliorée.
Vous pouvez en savoir plus sur les nouvelles fonctionnalités d'extension et les corrections de bogues dans le Notes de version de développement à distance.
Aperçu des fonctionnalités
Les fonctionnalités de prévisualisation ne sont pas prêtes à être publiées, mais sont suffisamment fonctionnelles pour être utilisées. Nous apprécions vos premiers commentaires pendant qu'ils sont en cours de développement.
Synchronisation des paramètres
La synchronisation des paramètres synchronise désormais l'état global des extensions. Les extensions devront fournir l'état à synchroniser en utilisant le nouveau setKeysForSync API.
Mémoriser les informations d'identification du proxy
Nous sommes en train de réviser la boîte de dialogue de connexion qui s'affiche lorsqu'une connexion réseau nécessite une authentification avec un proxy. Un nouveau décor, window.enableExperimentalProxyLoginDialog: vrai
, permettra cette nouvelle expérience que nous prévoyons de faire par défaut dans une future version.
Thème: Lumière GitHub
La boîte de dialogue apparaîtra dans la fenêtre VS Code et offrira un moyen de mémoriser les informations d'identification afin que vous n'ayez pas à les fournir à chaque démarrage de VS Code. Les informations d'identification seront stockées dans le magasin d'informations d'identification standard du système d'exploitation (porte-clés sur macOS, Windows Credential Manager sur Windows et porte-clés gnome sur Linux).
Nous n'affichons toujours cette boîte de dialogue qu'une fois par session, mais nous pourrions revoir cette décision à l'avenir. Vous verrez la boîte de dialogue réapparaître au cas où les informations d'identification que vous avez sélectionnées pour être mémorisées ne sont pas valides. Les fournir à nouveau vous permet de les modifier.
Veuillez activer cette option et laissez-nous savoir si quelque chose ne fonctionne pas comme prévu via notre Traqueur d'incidents.
Prise en charge de la version bêta de TypeScript 4.1
VS Code prend en charge le TypeScript 4.1 bêta et des constructions nocturnes. La mise à jour 4.1 apporte de nouvelles fonctionnalités du langage TypeScript, telles que la prise en charge de types conditionnels récursifs, ainsi que des améliorations d'outillage. Un domaine d'intervention a été ajout du support initial pour @voir
balises dans les commentaires JSDoc.
Pour commencer à utiliser les builds nocturnes de TypeScript 4.1, installez simplement le Extension TypeScript Nightly. Veuillez partager vos commentaires et faites-nous savoir si vous rencontrez des bogues avec TypeScript 4.1.
Création d'extensions
Exemples d'extensions mis à jour
Nous avons mis à jour certains de nos exemples d'extension pour inclure les styles par défaut de VS Code qui sont connectés à nos jetons de thème de couleur. Cela signifie que les éléments communs (texte, boutons, entrées) seront thématiques et correspondront aux styles par défaut du produit. Vous trouverez ci-dessous les extensions qui incluent ceci :
- échantillon-éditeur-personnalisé
- exemple-webview
- webview-view-sample
Couleurs Codicon dans les arbres
Avec la finalisation du ThèmeIcône
API de couleur, les auteurs d'extensions peuvent utiliser des couleurs de thème sur les codicons dans des arborescences personnalisées.
État global de synchronisation
Les extensions peuvent désormais synchroniser leur état global en fournissant les clés, dont les valeurs doivent être synchronisées lorsque la synchronisation des paramètres est activée, en utilisant le nouveau setKeysForSync
API dans état global
mémento.
/** * Définir les clés dont les valeurs doivent être synchronisées sur tous les appareils lors de la synchronisation des données utilisateur * comme la configuration, les extensions et les mémentos. * * Notez que cette fonction définit l'ensemble des clés dont les valeurs sont synchronisées: * - l'appeler avec un tableau vide arrête la synchronisation pour ce mémento * - l'appeler avec un un tableau non vide remplace toutes les clés dont les valeurs sont synchronisées * * Pour un ensemble donné de clés, cette fonction n'a besoin d'être appelée qu'une seule fois, mais il n'y a aucun mal à * l'appeler à plusieurs reprises. * * @param keys L'ensemble de clés dont les valeurs sont synchronisées. */ setKeysForSync (clés: chaîne[]): void ;
Commenter les extensions peuvent désormais contrôler la visibilité du bouton de réponse dans un fil de commentaires avec une nouvelle propriété, Fil de commentaire#canRépondre
. Quand il est réglé sur faux
, les utilisateurs ne verront pas le bouton de réponse ou la zone de commentaire dans le fil de commentaire.
API d'extension proposées
Chaque étape est accompagnée de nouvelles API proposées et les auteurs d'extensions peuvent les essayer. Comme toujours, nous voulons vos commentaires. Voici ce que vous devez faire pour essayer une API proposée :
- Vous devez utiliser Insiders car les API proposées changent fréquemment.
- Vous devez avoir cette ligne dans le
package.json
fichier de votre extension:"enableProposedApi": vrai
. - Copiez la dernière version du
vscode.proposed.d.ts
dans l'emplacement source de votre projet.
Vous ne pouvez pas publier une extension qui utilise une API proposée. Il peut y avoir des changements importants dans la prochaine version et nous ne voulons jamais casser les extensions existantes.
Événement de changement de fournisseur de gamme de pliage
Les fournisseurs de plages de pliage peuvent signaler à l'éditeur que les plages de pliage doivent être mises à jour à l'aide de la onDidChangePliagePlages
un événement.
Pour plus de détails et pour faire part de vos commentaires, veuillez utiliser numéro #108929.
API de mot de passe
Dans le cadre de la poursuite des travaux sur Fournisseurs d'authentification, nous avons introduit une API pour stocker et récupérer des informations sensibles. En interne, cela agit comme une enveloppe du clé bibliothèque que VS Code utilise pour stocker les secrets.
/** * Récupérer un mot de passe qui a été stocké avec la clé. Renvoie undefined s'il n'y a * aucun mot de passe correspondant à cette clé. * @param key La clé sous laquelle le mot de passe a été stocké. */ fonction d'exportation getPassword (clé: chaîne): Thenable; /** * Stocke un mot de passe sous une clé donnée. * @param key La clé pour stocker le mot de passe sous * @param value Le mot de passe */ fonction d'exportation setPassword (clé: chaîne, valeur: chaîne): Thenable; /** * Supprimer un mot de passe du stockage. * @param key La clé sous laquelle le mot de passe a été stocké. */ fonction d'exportation deletePassword (clé: chaîne): Thenable; /** * Se déclenche lorsqu'un mot de passe est défini ou supprimé. */ export const onDidChangePassword: événement;
Ingénierie
Rendre les types approuvés de VS Code conformes
Nous avons poursuivi nos efforts pour rendre VS Code "Trusted Types" conforme. L'objectif est d'empêcher les vulnérabilités de scripts intersites basés sur DOM. Vous pouvez en savoir plus sur les types de confiance sur le site web.dev Site des types de confiance et suivez nos progrès dans numéro #103699.