IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Visual Studio Code version 1.49 apporte la possibilité de mettre en forme uniquement le texte modifié
Et un mode IntelliSense partiel pendant les chargements de projet

Le , par Stéphane le calme

280PARTAGES

5  0 
Éditeur

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:

Citation Envoyé par affichage
[KeybindingService]: / Received keydown event - modifiers: [meta], code: MetaLeft, keyCode: 91, key: Meta
[KeybindingService]: | Converted keydown event - modifiers: [meta], code: MetaLeft, keyCode: 57 ('Meta')
[KeybindingService]: \ Keyboard event cannot be dispatched.
[KeybindingService]: / Received keydown event - modifiers: [meta], code: Slash, keyCode: 191, key: /
[KeybindingService]: | Converted keydown event - modifiers: [meta], code: Slash, keyCode: 85 ('/')
[KeybindingService]: | Resolving meta+[Slash]
[KeybindingService]: \ From 2 keybinding entries, matched editor.action.commentLine, when: editorTextFocus && !editorReadonly, source: built-in.

Vous pouvez ensuite appuyer sur la combinaison de touches souhaitée et vérifier quel raccourci clavier VS Code détecte et quelle commande est appelée.

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

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de smarties
Expert confirmé https://www.developpez.com
Le 08/07/2022 à 10:39
Cool mais je continue d'utiliser VSCodium afin de me passer des télémétrie de M$
5  1 
Avatar de pierre.E
Membre confirmé https://www.developpez.com
Le 12/03/2021 à 18:18
moi j'aimerais surtout un bouton pour chaque langage avec les extensions utiles pour éviter de me coltiner la recherche d'extension
2  0 
Avatar de JPLAROCHE
Membre expérimenté https://www.developpez.com
Le 23/11/2020 à 3:22
vscodium
1  0 
Avatar de LittleWhite
Responsable 2D/3D/Jeux https://www.developpez.com
Le 13/06/2021 à 20:08
Bonjour,

Je pense que le Workspace Trust fait suite à un proof of concept d'utilisation de l'analyseur de code de Visual Studio Code sur une macro Rust qui permet d'effectuer des actions malveillantes sur le PC. Je n'arrive plus à retrouver le POC .
1  0 
Avatar de pierre.E
Membre confirmé https://www.developpez.com
Le 13/02/2021 à 14:00
moi j aimerais bien des boutons pour changer installer extensions
si je travail en c# en python en javascript sans avoir à me coltiner la recherche des principales extensions et l activation désactivation de celle dont je ne me sert pas
0  0 
Avatar de ManPaq
Membre averti https://www.developpez.com
Le 13/03/2021 à 15:29
codium est bien et offre toutes les fonctionnalités de vs code sans le traçage, comme il a été fait mention dans un article précédent. A l'instar de son avatar il tourne sur x86, 64, arm, linux, Apple, chrome OS... Pourtant, particulièrement sur ce dernier dans le container linux, je le trouve excessivement lourd et les suggestions tellement envahissantes en particulier sur un écran réduit en plus du temps de chargement des extensions et les messages d'erreurs sans intérêts!
Je ne sais si c'est dû à électron et une interface héritée plutôt que native mais dans mon Linux bêta vim est bien plus convivial.
Attention à rester KISS!
0  0 
Avatar de air-dex
Membre expert https://www.developpez.com
Le 20/03/2021 à 4:17
Citation Envoyé par pierre.E Voir le message
moi j'aimerais surtout un bouton pour chaque langage avec les extensions utiles pour éviter de me coltiner la recherche d'extension
+1 dans le sens où VS Code évolue mais reste rustre au possible dans son interface. En effet la recherche d'extensions est clairement perfectible.

Sur ce point là si quelqu'un a une piste pour déplacer le débogage en bas au lieu de la colonne de gauche je suis preneur.
0  0 
Avatar de arnofly
Membre confirmé https://www.developpez.com
Le 12/06/2021 à 20:20
Ouais... Un peu lourdingue "Workspace Trust, je trouve. Heureusement qu'il est possible de désactiver cette fonctionnalité.
0  0 
Avatar de Beginner.
Membre expert https://www.developpez.com
Le 02/07/2021 à 22:00
Salut,

Citation Envoyé par arnofly Voir le message
Ouais... Un peu lourdingue "Workspace Trust, je trouve. Heureusement qu'il est possible de désactiver cette fonctionnalité.
Oui je suis d'accord...
Je crois que c'est à cause de ce truc que je ne peux plus utiliser VS CODE...
J'ai un message du genre "cette application ne peut pas s’exécuter sur cet ordinateur"...

Comment on désactive cette fonctionnalité qui se comporte comme un virus ?
0  0 
Avatar de Stéphane le calme
Chroniqueur Actualités https://www.developpez.com
Le 06/09/2021 à 11:01
Visual Studio Code 1.60 est disponible et apporte la détection automatique du langage,
ainsi que la possibilité de garder les éditeurs de terminal ouverts au lieu de les fermer lorsqu'ils ne parviennent pas à être restaurés

Planche de travail

Détection automatique du langage

Dans l'avant dernière version, Microsoft a introduit une fonctionnalité expérimentale pour les fichiers sans titre qui définirait automatiquement le mode de langage du fichier en fonction du contenu. La fonction de détection automatique du langage utilise l'apprentissage automatique pour deviner le langage et le modèle d'apprentissage automatique s'exécute entièrement en local sur votre machine. Le modèle est alimenté par la bibliothèque ML open source, Tensorflow.js.

Dans cette version, Microsoft active la détection automatique du langage par défaut et étend également la détection pour inclure les fichiers qui n'ont pas d'extension de fichier. Dans Notebooks, Microsoft propose un moyen simple de demander la détection du langage à l'aide du sélecteur de langage.

Et Microsoft d'expliquer :

« Nous avons ajouté cette fonctionnalité car nous avons constaté que certains nouveaux utilisateurs de VS Code ne savaient pas comment définir le mode de langage et ne savaient pas que cela était nécessaire pour obtenir le riche ensemble de fonctionnalités de VS Code (colorisation du langage et recommandations d'extension). Permettre aux nouveaux utilisateurs de voir rapidement les fonctionnalités de langage et les extensions disponibles pour VS Code les aide à se lancer dans l'éditeur.

« De plus, les utilisateurs expérimentés qui utilisent des éditeurs de texte sans titre comme bloc-notes n'ont plus besoin de définir explicitement le mode de langage, ce qui, nous l'espérons, rationalisera leur flux de travail ».

Vous trouverez ci-dessous plusieurs scénarios amusants activés par la détection automatique du langage.

Prenez un exemple en ligne et collez-le dans un éditeur sans titre*:


Option de détection automatique dans le sélecteur de langage Notebooks*:


Boîte de dialogue de confirmation de l'éditeur de terminal

La boîte de dialogue présentée lors de la fermeture d'un éditeur de terminal avec des processus enfants en cours d'exécution est désormais spécifique à l'éditeur de terminal et n'offrira plus de moyen d'effectuer l'action « Enregistrer » le terminal.


Gardez les éditeurs ouverts au lieu de les fermer lorsqu'ils ne parviennent pas à être restaurés

Auparavant, lorsqu'un éditeur ne parvenait pas à être restauré après le rechargement de la fenêtre ou le redémarrage de l'application, l'éditeur se fermait automatiquement jusqu'à ce qu'un éditeur se chargeant avec succès soit trouvé. Ce comportement a conduit à des résultats frustrants, où une mise en page d'éditeur soigneusement créée disparaîtrait en raison de la fermeture des éditeurs.

Avec cette version, un éditeur qui a déjà été ouvert avec succès ne se fermera pas, même s'il ne parvient pas à se restaurer. L'éditeur signale le problème et propose de retenter l'opération.

Ouvrir l'éditeur de paramètres sur le côté

Il est désormais possible d'ouvrir l'éditeur de paramètres dans un groupe latéral en configurant un raccourci clavier à l'aide de l'argument openToSide.

Code : Sélectionner tout
1
2
3
4
5
6
7
{
  "key": "cmd+,",
  "command": "workbench.action.openSettings",
  "args": {
    "openToSide": true
  }
}
Cela fonctionne également avec la commande workbench.action.openSettingsJson.

Éditeur

Colorisation des paires de crochets haute performance

L'éditeur prend désormais en charge la colorisation native des paires de crochets.


La colorisation des paires de crochets peut être activée en définissant editor.bracketPairColorization.enabled sur true. Toutes les couleurs sont thématiques et jusqu'à six couleurs peuvent être configurées.

Suggestions en ligne dans la saisie semi-automatique

Les suggestions intégrées peuvent désormais étendre l'aperçu des suggestions lorsque le widget de saisie semi-automatique est affiché. Si une suggestion sélectionnée dans le widget de saisie semi-automatique peut être étendue par un fournisseur de saisie semi-automatique, l'extension est affichée en italique. Appuyer une fois sur Tab n'acceptera toujours que la suggestion de saisie semi-automatique. Appuyez une deuxième fois sur Tab pour accepter la suggestion en ligne.

Cette fonctionnalité nécessite l'activation de l'aperçu de suggestion ("editor.suggest.preview": true).

Terminal

Rendu personnalisé de box drawing et block element characters

Box drawing et block element characters utilisent désormais des glyphes personnalisés au pixel près au lieu d'utiliser la police lorsque l'accélération GPU est activée (terminal.integrated.gpuAcceleration). Cela signifie, par exemple, que les cases sont dessinées sans espaces, même si vous définissez la hauteur des lignes ou l'espacement des lettres dans le terminal.


Reconnexion plus rapide après rechargement de la fenêtre

Auparavant, lors du rechargement d'une fenêtre, l'analyse de l'état du tampon d'un terminal pouvait prendre jusqu'à 300 ms et il y avait également une possibilité de corruption. Pour plusieurs terminaux occupés, cela peut vite s'additionner ! Pour résoudre ce problème, la méthode de restauration du tampon est passée de l'enregistrement d'un grand nombre d'événements de terminal bruts récents sur l'hôte pty au maintien d'une interface de terminal sans tête sur l'hôte pty et à l'écriture de toutes les données dessus.

Cette approche apporte plusieurs avantages :
  • La quantité de défilement à restaurer peut être affinée. La valeur par défaut est maintenant 100, ce qui est un bon équilibre entre la vitesse et la quantité de données. La quantité de défilement peut être modifiée avec le paramètre terminal.integrated.persistentSessionScrollback.
  • Grâce à l'analyseur rapide de xterm.js, cela devrait avoir un impact minimal sur l'utilisation du processeur et réduire l'utilisation globale de la mémoire sur l'hôte pty.
  • Les modes de terminal sont maintenant restaurés explicitement, ce qui pourrait potentiellement être manqué auparavant et provoquer une corruption de la mémoire tampon.
  • Il n'est plus nécessaire de rejouer des événements de redimensionnement coûteux car le tampon du terminal est toujours synchronisé avec sa taille.
  • Comme la restauration est relativement rapide, tout est géré dans une seule image. Cela signifie que le temps CPU précieux n'est pas gaspillé pour rendre le terminal partiellement restauré et ralentir davantage les choses.

L'accélération de cette nouvelle implémentation dépend de nombreux facteurs, tels que le nombre de terminaux, le matériel, la taille de la mémoire tampon du terminal et ce qui se passait dans le terminal. Une estimation approximative de la restauration d'un tampon de terminal complet devrait donner une accélération approximative de 5 à 10x.

Source : Visual Studio Code
0  0