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 1.14 est disponible
Et apporte de nombreuses améliorations qui sont axées sur la productivité

Le , par Stéphane le calme

92PARTAGES

10  0 
Améliorations de la palette de commande

Microsoft indique avoir amélioré le menu déroulant de la palette de commandes (Ctrl + Shift + P) pour le rendre plus utile.

Une requête populaire était de toujours restaurer la dernière saisie lors de la réouverture de la palette de commandes. Pour activer ce comportement, il suffit alors de se servir du nouveau paramètre workbench.commandPalette.preserveInput.

Microsoft a également ajouté une liste de commandes récemment utilisées (MRU) qui persiste entre les redémarrages. Les commandes récemment utilisées s'affichent toujours en haut. Un nouveau paramètre workbench.commandPalette.history vous permet de contrôler le nombre d'entrées à afficher (définissez-le sur 0 pour désactiver cette fonction). Avec le MRU activé, vous n'avez pas besoin d'activer workbench.commandPalette.preserveInput, car l'historique va toujours contenir la dernière commande exécutée par défaut lorsque vous ouvrez la palette de commandes.


Microsoft indique également qu’une nouvelle commande Clear Commands History a été ajoutée pour supprimer rapidement toutes les entrées de l'historique des commandes. Enfin, les raccourcis clavier dans la liste déroulante sont présentés sous la même forme visuelle que dans le clavier.

Nouvelles tâches dans le Menu

Tout d’abord, Microsoft a rajouté le menu Task au-dessus de la palette de Menu. Cette rubrique apporte la nouvelle action Configure Default Build Task qui, lorsqu'elle est utilisée avec la version 0.1.0 d'un fichier tasks.json, ouvre simplement le fichier tasks.json. Microsoft explique que ce n’est qu’à partir de la version 2.0.0 de tasks.json que vous pourrez utiliser le menu Tasks à plein régime.

De nombreuses fonctionnalités intéressantes sont fournies avec le nouveau format de tâche*:
  • la commande Run Task affiche maintenant les tâches les plus récemment utilisées, les tâches personnalisées définies et les dernières tâches autodétectées ;
  • les tâches sont exécutées dans le terminal intégré. Cela améliore le codage de sortie, appuie pleinement les séquences de contrôle ANSI (par exemple, les couleurs) et prend en charge la saisie d'une tâche ;
  • tâche d'autodétection pour TypeScript, Gulp, Jake, Grunt et npm :

  • vous pouvez encore définir vos propres tâches personnalisées dans le fichier tasks.json avec un contrôle total sur la façon dont ils sont exécutés sur le terminal. Par exemple, les tâches ci-dessous exécutent un script de test dans le terminal et utilisent un nouveau terminal pour chaque exécution de test :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
  "version": "2.0.0",
  "tasks": [
      {
          "taskName": "Run tests",
          "type": "shell",
          "command": "./scripts/test.sh",
          "windows": {
              "command": ".\\scripts\\test.bat"
          },
          "group": "test",
          "presentation": {
              "reveal": "always",
              "panel": "new"
          }
      }
  ]
}

Règles d’indentation

Avec cette version, les auteurs d'extensions de langage peuvent déclarer les règles d'indentation dans un fichier language-configuration.json au lieu de les enregistrer dans la phase d'activation de l'extension.

Code : Sélectionner tout
1
2
3
4
5
6
{
  "indentationRules": {
    "increaseIndentPattern": "^\\s*((begin|class|def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while)|(.*\\sdo\\b))\\b[^\\{;]*$",
    "decreaseIndentPattern": "^\\s*([}\\]]([,)]?\\s*(#_|$)|\\.[a-zA-Z_]\\w*\\b)|(end|rescue|ensure|else|elsif|when)\\b)"
  }
}
« TypeScript, JavaScript, CSS, HTML et JSON ont des règles d'indentation intégrées. Nous n'avons pas encore livré de règles d'indentation pour d'autres langages, mais si vous utilisez une extension qui définit des règles pour un autre langage, vous verrez la fonction editor.autoIndent s’exécuter. »

Préversion du Multi Root Workspaces

Explorateur de fichiers

L'Explorateur de fichiers peut maintenant afficher plusieurs dossiers racine dans un seul arbre. Vous pouvez facilement ajouter des dossiers racine dans le menu Fichier ou dans le menu contextuel :


Une fois qu'un dossier racine est ajouté, l'Explorateur affichera le nouveau dossier en tant que racine dans l'arborescence des fichiers. Vous pouvez cliquer avec le bouton droit de la souris sur l'un des dossiers racine pour ajouter plus de dossiers racine ou pour le supprimer.

Recherche

La recherche de texte intégral et le sélecteur de fichiers Quick Open prennent en compte les dossiers racine supplémentaires. Lors de la recherche, les résultats de tous les dossiers racine apparaîtront dans la vue des résultats de recherche.

Pour distinguer les résultats avec le même nom de fichier sur les dossiers racine, le nom du dossier racine est utilisé comme préfixe du chemin relatif dans la liste des résultats. Les paramètres comme search.exclude sont pris en charge pour chaque dossier racine s'il est configuré et dans tous les dossiers si configurés en tant que paramètre utilisateur global.

API Proposed multi-root

Avoir plusieurs dossiers ouverts dans l'éditeur nécessite une API plus puissante. Lorsqu’une seule racine est prise en charge, l'API rootPath peut toujours faire l’affaire et la compatibilité est maintenue. Cependant, Microsoft indique avoir une nouvelle API plus puissante dans le pipeline. Cette API vous permet d'inspecter tous les dossiers de l'espace de travail et envoie un événement lorsque ceux-ci changent. Elle vous donne également accès au nouveau modèle de configuration.

Code : 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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
export namespace workspace {
    /**
    * List of workspace folders or `undefined` when no folder is open. The *first*
    * element in the array is equal to the [`rootPath`](#_workspace.rootPath)
    */
    export let workspaceFolders: Uri[] | undefined
    /**
     * An event that is emitted when a workspace folder is added or removed.
     */
    export const onDidChangeWorkspaceFolders: Event<WorkspaceFoldersChangeEvent>;
    /**
    * Get a configuration object.
    *
    * @param section A dot-separated identifier.
    * @param resource A resource for which configuration is asked
    * @return The full workspace configuration or a subset.
    */
    export function getConfiguration2(section?: string, resource?: Uri): WorkspaceConfiguration2;
}
 
export interface WorkspaceFoldersChangeEvent {
    readonly addedFolders: Uri[];
    readonly removedFolders: Uri[];
}
 
export interface WorkspaceConfiguration2 extends WorkspaceConfiguration {
 
    /**
    * Retrieve all information about a configuration setting. A configuration value
    * often consists of a *default* value, a global or installation-wide value,
    * a workspace-specific value and a folder-specific value.
    *
    * The *effective* value (returned by [`get`](#_WorkspaceConfiguration.get))
    * is computed like this: `defaultValue` overwritten by `globalValue`,
    * `globalValue` overwritten by `workspaceValue`. `workspaceValue` overwritten by `folderValue`.
    *
    * *Note:* The configuration name must denote a leaf in the configuration tree
    * (`editor.fontSize` vs `editor`) otherwise no result is returned.
    *
    * @param section Configuration name, supports _dotted_ names.
    * @return Information about a configuration setting or `undefined`.
    */
    inspect<T>(section: string): { key: string; defaultValue?: T; globalValue?: T; workspaceValue?: T, folderValue?: T } | undefined;
 
}
Microsoft rappelle que cette API est une proposition, par conséquent, vous devrez l'activer par extension. Dans le fichier package.json de votre extension, ajoutez la ligne suivante :

Code : Sélectionner tout
"enableProposedApi": true
Comme l'API est encore en phase de proposition, elle est toujours susceptible d’être affinée et les changements provoquant une rupture pourraient survenir. Pour cette raison, Microsoft ne prend pas en charge les extensions de publication qui utilisent les API proposées.

Source : Visual Studio Code

Et vous ?

Quelles améliorations vous intéressent le plus ?

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

Avatar de Beginner.
Membre émérite https://www.developpez.com
Le 03/08/2017 à 22:41
Salut,

Je débute avec VSCode (pour JS/HTML/CSS)...

- Il y a plusieurs choses qui sont vraiment biens (auto-complétion avancée, references, rename, go to definition, le type au survol de la souris...)...

Tout ce qui est présent à la base finalement car les extensions par contre c'est une autre histoire, c'est rebutant, ça peut dégouter un débutant car on peut passer beaucoup de temps à comprendre comment ils fonctionnent et il faut parfois les configurer...

A cause de ça ce genre d'outils peut décourager quelqu'un qui débute, qui veut apprendre un langage car une telle personne a besoin de se concentrer sur le langage lui-même et l'outil doit l'assister mais si il faut pour ça passer beaucoup de temps à apprendre le fonctionnement et la configuration des extensions alors cela nous détourne de l'objectif premier...

Alors avec ce genre d'outils il vaut mieux être averti...

----> Ce qui aurait été bien pour un débutant qui veut apprendre JS/HTML/CSS c'est que tout ce qui est nécessaire pour bien travailler soit déjà installé... Genre j'arrive, je tape du code et tout de suite j'ai le résultat ou peut-être éventuellement je clique sur un bouton "start" mais seulement la première fois et non à chaque fois que je fais une modif...

C'est par exemple ce qu'on a avec JS Bin : copier/coller du code et tout de suite le résultat sans même cliquer sur un bouton et si on fait un changement pareil on voit tout de suite le résultat et cela dans les trois langages html/CSS/JS !

Par contre évidement on n'a pas l'assistance efficace et agréable qu'apporte VSCode...

Ce serait bien : JS Bin + VSCode le tout en un...
1  0 
Avatar de goldbergg
Membre actif https://www.developpez.com
Le 12/10/2018 à 10:45
En faite VS code utilise Blink, qui est bien le moteur de rendu utilisé par chrome, mais aussi par Opera et Vivaldi (entre autre) pour la gestion de son interface graphique, il est donc normale de pouvoir y voir certaine similitude.
VS code n'est pas une sur-couche a Chrome, ils partagent juste un certains composant.

Pour la petite histoire, Vs Code est basé sur Electron, qui est un framework qui permet de développé des client lourd multi plateforme via les outils du web (Html/CSS/Javascript), pour ce faire Electron utilise Blink pour le rendu et Node.js pour l'exécution du JS.
1  0 
Avatar de LittleWhite
Responsable 2D/3D/Jeux https://www.developpez.com
Le 12/10/2018 à 10:48
Bonjour,

C'est une application JavaScript, portée en application native grâce à Electron. C'est à la mode.
Une application de ce style embarque le moteur JavaScript (ce qui permet d'interpréter le JS) et le moteur "simple" à importer, c'est le WebKit.
Note : il existe une version de Chrome, appelée Chromium, qui est entièrement libre. Le navigateur Chrome est une version patchée de Chromium, pour y intégré les "ajouts" de Google.
1  0 
Avatar de air-dex
Membre expert https://www.developpez.com
Le 17/05/2019 à 19:05
Un bon petit éditeur sur lequel Microsoft fait du bon travail. Je l'avais testé il y a longtemps et je ne l'avais pas trouvé sensationnel, loin de là même. Mais je l'ai retesté il n'y a longtemps et je trouve qu'il a très bien évolué. Il a encore un peu de chemin à faire, mais il est clairement sur la bonne voie. Avant ce n'était qu'un éditeur pour geeks à bidouiller. Maintenant c'est un bon petit logiciel sympa, mais qui a le cul entre deux chaises : trop gros pour être considéré comme un simple éditeur de texte comme Notepad++, Kate ou gedit, mais pas assez consistant pour être utilisable au quotidien en remplacement d'un EDI plus ambitieux comme Eclipse ou IntelliJ. En l'état actuel des choses c'est une très bonne alternative à Geany.

Il ne manque pas grand chose à VS Code pour pouvoir être envisageable en remplacement d'un EDI type Eclipse ou IntelliJ, notamment une barre d'icônes en alternative au menu et aux raccourcis claviers. Pour le reste il sera possible d'en faire un bon EDI avec les plugins qui vont bien.
1  0 
Avatar de dfiad77pro
Membre expérimenté https://www.developpez.com
Le 17/05/2019 à 19:26
+ 1 pour la barre d'icones, j'avais oublié ça mais en effet c'est super intéressant pour la productivité.
Je rajoute aussi le fait donner la possibilité de docker la barre de commande pour qu'elle soit toujours visible
1  0 
Avatar de CoderInTheDark
Membre chevronné https://www.developpez.com
Le 18/08/2019 à 14:31
Un gros peluche 1 pour l'accessibilité
1  0 
Avatar de twoitipoints
Membre à l'essai https://www.developpez.com
Le 06/07/2018 à 18:59
Vraiment le meilleur pour moi actuellement.
0  0 
Avatar de ShigruM
Nouveau Candidat au Club https://www.developpez.com
Le 06/09/2018 à 16:35
existe t'il un moyen ou une extension pour avoir une barre de commande comme dans tous les autres ide, comme visual studio 2016 par exemple
juste en dessous de la barre de menu :
0  0 
Avatar de Golfy
Membre du Club https://www.developpez.com
Le 07/09/2018 à 13:58
Je plussoie : la seule extension que je connaisse, apportant un semblant de menu avec icône est "shortcut menu bar"... mais c'est loin d'être satisfaisant.
0  0 
Avatar de visithierry
Membre du Club https://www.developpez.com
Le 12/10/2018 à 10:16
Salut,
Cette question n'a peut être pas sa place ici, mais il y a un truc qui me chiffonne depuis que j'utilise VS Code.

En fait VS Code c'est un navigateur Chrome (version 61)???

Quand on va dans [Aide -> Activer / Désactiver les outils de développement] on voit très clairement que la fenêtre principale de l'EDI n'est rien d'autre qu'une page web !

Bon j'ai pas a m'en plaindre, il fait son boulot et c'est gratuit, mais ça me fait bizarre...

Et pourquoi un outil de chez Microsoft est basé sur Chrome et pas sur Edge ???
0  0