Microsoft publie VS Code 1.51 avec des onglets épinglés améliorés et plus

Icône de temps de lecture 11 minute. lis


Les lecteurs aident à prendre en charge MSpoweruser. Nous pouvons recevoir une commission si vous achetez via nos liens. Icône d'info-bulle

Lisez notre page de divulgation pour savoir comment vous pouvez aider MSPoweruser à soutenir l'équipe éditoriale En savoir plus

Microsoft contre le code

Microsoft contre le code

Microsoft a annoncé aujourd'hui la sortie de Visual Studio Code v1.51 (mise à jour d'octobre 2020) avec plusieurs améliorations et corrections de bogues. Cette nouvelle mise à jour comprend désormais une boîte de suggestions IntelliSense redimensionnable, des sessions de terminal distant persistantes, des onglets épinglés améliorés, etc. Trouvez le journal des modifications complet fourni par Microsoft ci-dessous.

Workbench#

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.

Onglets épinglés inactifs affichant des icônes d'épingle

Les arbres d'extension utilisent un survol personnalisé#

Au lieu d'utiliser l'info-bulle native dans les arborescences d'extensions, nous utilisons désormais un survol personnalisé qui est cohérent sur toutes les plates-formes et s'adapte mieux à l'UX globale.

Survol d'arbre personnalisé

Installer une extension sans synchronisation#

Vous pouvez désormais installer une extension sans la synchroniser lorsque la synchronisation des paramètres est activée.

Installer l'extension sans synchronisation

Theme: Lumière GitHub

Installer une extension depuis l'explorateur#

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 est maintenant disponible, ce qui supprime le focus de toute entrée pouvant être focalisée. Vous pouvez attribuer un raccourci clavier pour cette commande dans le Préférences des raccourcis clavier.

Terminal intégré#

Écho local#

Faire des modifications dans le terminal nécessite traditionnellement que les 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 faible ou distante à un Serveur SSH or Espace codé.

Cette version ajoute un mode "écho local" au terminal, qui tente de prédire les modifications et les mouvements de 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":

Gif montrant la saisie avec une latence de 250 ms où les caractères saisis immédiatement sont grisés

Vous pouvez utiliser deux paramètres 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é sur 0 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éfaut à dim.

IntelliSense#

Suggestions redimensionnables#

Au cours de cette étape, 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.

Champ Suggestions redimensionnables

Theme: 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 également afficher sa propre barre d'état en bas de la fenêtre. Activez-le à l'aide de la editor.suggest.showStatusBar réglage. Cela simplifie le basculement des détails et indique si une complétion prend en charge l'insertion, le remplacement ou les deux.

Barre d'état des suggestions

Theme: Lumière GitHub, Police : FiraCode

Dans l'exemple ci-dessus, la sélection de "Insérer" entraîne Math.floorceil et la sélection de "Remplacer" entraîne Math.floor.

Le nouveau système d’ editor.suggest.insertMode Le 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 maintenant 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.

Déplacement du curseur pendant l'affichage des suggestions

Theme: 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.

Les extraits personnalisés Emmet fonctionnent à nouveau

Contrôle de source#

La zone de saisie du contrôle de code source enregistre l'historique des messages de validation#

Cela adresse une demande de fonctionnalité pour naviguer dans l'historique des commits SCM. presse Up ainsi que  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 autre en conjonction avec la touche fléchée correspondante.

Après avoir tapé un message dans la zone de saisie SCM, puis mis en scène et validé les modifications, appuyer sur la flèche vers le haut révèle le message qui vient d'être validé

Git : Commandes de balises dans le sous-menu#

Des commandes Git liées aux balises ont été ajoutées au ... Menu Git.

Sous-menu des balises Git

Git : commande Rebase#

Une nouvelle Git : Rebaser la branche… La commande a été ajoutée, ce qui vous permet de rebaser une branche à l'aide de l'interface utilisateur.

Git : commande de clonage récursif#

Avec la Git : Clone (récursif) , 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 du shortcode Emoji#

Nous rendons maintenant les shortcodes emoji, tels que :smile:, dans la vue Chronologie.

Affichage de la chronologie avec emoji

Langues#

Sélection intelligente Markdown#

Développez et réduisez la sélection dans les documents Markdown à l'aide des nouvelles commandes suivantes :

  • Développer: Maj+Alt+Droite
  • Rétrécir: Maj+Alt+Gauche

La sélection s'applique aux éléments suivants et suit un schéma hiérarchique traditionnel :

  • En-têtes
  • Liste
  • Bloquer les citations
  • Blocs de code clôturés
  • Blocs de code HTML
  • Paragraphes

La sélection intelligente dans un document Markdown s'étend d'un élément de bloc à l'élément de bloc le contenant, au reste du contenu sous un en-tête, à l'en-tête lui-même

Option de formatage des accolades vides pour JavaScript et TypeScript#

Le nouveau système d’ javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces ainsi que  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() {}
}

Paramètres "javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false et le formatage du code donne :

class Foo {
  doFoo() {} // Notice that the space has been removed
}

Navigateurs pris en charge#

Dossiers de téléchargement (Edge, Chrome)#

Tirer parti du nouveau Accès au système de fichiers API, Microsoft VS Code exécuté dans un navigateur peut désormais proposer une action de téléchargement pour les dossiers à partir de l'explorateur de fichiers afin de télécharger tous les fichiers et dossiers sur le disque.

Dossier de téléchargement

Remarque: Cela nécessite une version récente de Microsoft Edge ou Google Chrome.

Notification d'ouverture d'espace de travail#

Si vous ouvrez un dossier contenant .code-workspace fichiers au niveau supérieur, vous verrez maintenant une notification vous demandant de l'ouvrir. Cela a toujours été le cas dans Microsoft VS Code pour ordinateur de bureau et fonctionnera désormais également dans le navigateur.

Ouvrir la notification d'espace de travail

Empêcher la fermeture accidentelle#

Un nouveau décor window.confirmBeforeClose a été ajouté pour afficher une boîte de dialogue de confirmation avant de fermer ou de quitter l'atelier.

Les valeurs possibles sont :

  • keyboardOnly La confirmation ne s'affichera que lorsque vous utilisez un raccourci clavier pour fermer (par exemple, Ctrl + W). (défaut)
  • always: La boîte de dialogue de confirmation sera toujours affichée, même si vous fermez à partir d'un geste de la souris.
  • never: La confirmation ne sera jamais affichée.

Fermer la boîte de dialogue de confirmation

Notes: 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.

Cotisations aux extensions#

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 sur, de créer et de gérer des demandes d'extraction et des problèmes.

Pour en savoir plus sur toutes les nouvelles fonctionnalités et mises à jour, vous pouvez voir l'intégralité journal des modifications pour la 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 version 1.51 incluent :

  • Possibilité de persister/reconnecter aux sessions de terminal.
  • Expérience de transfert 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 mise à jour du 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 à l'aide du nouveau setKeysForSync API.

Mémoriser les informations d'identification du proxy#

Nous sommes en train de remanier 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: true, activera cette nouvelle expérience que nous prévoyons d'utiliser par défaut dans une future version.

Connexion proxy

Theme: Lumière GitHub

La boîte de dialogue apparaîtra dans la fenêtre Microsoft 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, gestionnaire d'informations d'identification Windows sur Windows et porte-clés gnome sur Linux).

Nous n'affichons toujours cette boîte de dialogue qu'une seule fois par session, mais nous pourrions revenir sur 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 faites-nous savoir si quelque chose ne fonctionne pas comme prévu via notre Tracker de problème.

Prise en charge de la version bêta de TypeScript 4.1#

Microsoft VS Code prend en charge la TypeScript 4.1 bêta et 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é ajouter un support initial en @see balises dans les commentaires JSDoc.

Pour commencer à utiliser les versions nocturnes de TypeScript 4.1, installez simplement le Extension nocturne TypeScript. Veuillez partager vos commentaires et nous faire savoir si vous rencontrez des bogues avec TypeScript 4.1.

Création d'extensions#

Exemples d'extension mis à jour#

Nous avons mis à jour certains de nos exemples d'extensions pour inclure les styles par défaut de Microsoft VS Code qui sont relié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 :

Exemples de style d'affichage Web

Couleurs Codicon dans les arbres#

Avec la finalisation du ThemeIcon API couleur, les auteurs d'extensions peuvent utiliser des couleurs de thème sur les codicons dans les arborescences personnalisées.

Arborescence avec les couleurs des icônes

Synchroniser l'état global#

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, à l'aide du nouveau setKeysForSync API dans globalState mémento.

/**
 * Set the keys whose values should be synchronized across devices when synchronizing user-data
 * like configuration, extensions, and mementos.
 *
 * Note that this function defines the whole set of keys whose values are synchronized:
 *  - calling it with an empty array stops synchronization for this memento
 *  - calling it with a non-empty array replaces all keys whose values are synchronized
 *
 * For any given set of keys this function needs to be called only once but there is no harm in
 * repeatedly calling it.
 *
 * @param keys The set of keys whose values are synced.
 */
setKeysForSync(keys: string[]): void;

Visibilité du bouton de réponse du fil de commentaires#

Commentaires les extensions peuvent désormais contrôler la visibilité du bouton de réponse dans un fil de commentaires avec une nouvelle propriété, CommentThread#canReply. Lorsqu'il est réglé sur false, les utilisateurs ne verront pas le bouton de réponse ni la zone de commentaire dans le fil de commentaires.

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": true.
  • Copiez la dernière version du vscode.proposed.d.ts fichier 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 avec rupture dans la prochaine version et nous ne voulons jamais casser les extensions existantes.

Les fournisseurs de la gamme pliante changent d'événement#

Les fournisseurs de plages de pliage peuvent signaler à l'éditeur que les plages de pliage doivent être mises à jour à l'aide de la onDidChangeFoldingRanges un événement.

Pour plus de détails et pour nous 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 un emballage du clé bibliothèque que VS Code utilise pour stocker les secrets.

/**
 * Retrieve a password that was stored with key. Returns undefined if there
 * is no password matching that key.
 * @param key The key the password was stored under.
 */
export function getPassword(key: string): Thenable<string | undefined>;

/**
 * Store a password under a given key.
 * @param key The key to store the password under
 * @param value The password
 */
export function setPassword(key: string, value: string): Thenable<void>;

/**
 * Remove a password from storage.
 * @param key The key the password was stored under.
 */
export function deletePassword(key: string): Thenable<void>;

/**
 * Fires when a password is set or deleted.
 */
export const onDidChangePassword: Event<void>;

ENGINEERING#

Rendre les types de confiance Microsoft VS Code conformes#

Nous avons poursuivi nos efforts pour rendre les « types de confiance » compatibles avec le code VS. L'objectif est d'empêcher les vulnérabilités de script intersite basées sur DOM. Vous pouvez en savoir plus sur les types de confiance sur le web.dev Site Types de confiance et suivez nos progrès dans Numéro #103699.

La source: Microsoft

En savoir plus sur les sujets : microsoft, Visual Studio Code 1.51, Code VS

Soyez sympa! Laissez un commentaire

Votre adresse email n'apparaitra pas. Les champs obligatoires sont marqués *