VSCODE et les workspaces

Je vais essayer de faire une petite série de quelques irritants qui m’on posés problème lorsque j’ai débuté avec VSCODE. Le premier est le workspace.

Je n’ai pas compris tout de suite et me suis empêtré pas mal avec avant de piger.

Dis Améthyste, c’est quoi un workspace?

Un workspace est un conteneur logique de répertoires. C’est en quelque sorte l’analogue des solutions de VS Studio.

Un conteneur logique signifie que la seule chose qui relient ces répertoires est qu’ils font partie d’un même workspace. Mais on peut à tout moment en sortir un ou en faire entrer d’autres. Rien ne sera enregistré au niveau Git et donc révisé. Simplement VSCODE aura connaissance de ces répertoires et de leur contenu.

Certains objets VSCODE comme les terminaux peuvent par exemple être déclarés au niveau d’un élément particulier d’un répertoire comme nous le verront plus loin.

On peut utiliser un répertoire pour lier l’environnement de développement ouvert dans VSCODE à des fichiers un peu partout sur son disque dur sur la seule raison que l’on en a besoin pour son développement.

On peut par exemple placer dans un workspace :

  • un répertoire avec le projet en cours de développement
  • un répertoire contenant les doc
  • un répertoire contenant les fichiers de configuration comme le launch ou les task
  • un répertoire contenant des fichiers de test

C’est à vous de décider ce dont vous avez besoin.

Démo

Monter un workspace est une opération très simple, vraiment.

Je viens d’ouvrir une session VSCODE vide.

2022-03-02_22-28-05

Les menus qui vont nous intéresser se trouvent dans File:

2022-03-02_22-30-18

Commençons par alimenter notre futur workspace. J’utilise le menu Add Folder to workspace et sélectionne deux répertoires, peu importe leur contenu. Les miens s’appellent Fond et POSTER:

2022-03-02_22-34-33

On voit que le projet VSCODE embarque mes deux fichiers et créé un espace appelé: UNTITLED (workspace).

C’est parce que l’on a pas encore nommé l’espace de travail, il n’est même pas sauvegardé. 

Lançons Save workspace as:

2022-03-02_22-37-51

La sauvegarde d’un workspace se traduit par la création d’un fichier qui contiendra le contenu de ce workspace. Intéressons nous à son nom:

workspace.code-workspace

L’extension est .code-workspace. La partie workspace est en fait le nom par défaut du workspace. Nous pouvons le modifier, par exemple:

demowks.code-workspace

On doit ensuite lui trouver un emplacement. Il est préférable d’éviter un espace de travail Git. Ce fichier va contenir des informations locales à votre PC et n’a donc pas vocation à être partagé avec toute l’équipe. Créez donc un répertoire quelque part pour y créer le fichier.

Plusieurs choses se passent.

On a créé un fichier qui (chez moi) contient:

{
	"folders": [
		{
			"path": "..\\..\\Users\\fmirouze\\Pictures\\Fond"
		},
		{
			"path": "..\\..\\Users\\fmirouze\\Desktop\\Fichiers\\POSTER"
		}
	]
}

C’est un simple objet JSON contenant un tableau de répertoires.

Coté VSCODE:

2022-03-02_22-45-20

Cette fois le nom du workspace apparaît. Si on déplace la souris sur ce titre on fait apparaître des raccourcis vers le menu File:

2022-03-02_22-49-28

 

On peut évidemment explorer son contenu:

2022-03-02_22-46-42

Workspace et terminaux

Une dernière chose intéressante. Si je tente d’ouvrir un terminal:

2022-03-02_22-51-48

Il nous est demandé de choisir le répertoire du workspace dans lequel on souhaite ouvrir le terminal. C’est très utile si le workspace contient plusieurs projets:

2022-03-02_22-56-01

J’ai renommé les terminaux pour les distinguer. On passe d’un environnement l’autre juste en changeant de terminal:

2022-03-02_22-57-21

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s