Developpez.com

Une très vaste base de connaissances en informatique avec
plus de 100 FAQ et 10 000 réponses à vos questions

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, Chroniqueur Actualités
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 ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :
Offres d'emploi IT
Développeur Web FULL-STACK
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
RESPONSABLE WEB ANALYTICS F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
Développeur WEB PHP F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil