802 votes

Qu'est-ce qu'un 'espace de travail' dans Visual Studio Code?

Par exemple, Visual Studio Code parle de l'application des paramètres au niveau de l'utilisateur par rapport au niveau de l'espace de travail.

D'une part,

  • il pourrait se référer à un répertoire de projet que vous avez ouvert; ou
  • il pourrait se référer à tout ce que vous avez ouvert dans une fenêtre particulière.

La page référencée ci-dessus dit

"Espace de travail : Ces paramètres sont stockés à l'intérieur de votre espace de travail dans un dossier .vscode et s'appliquent uniquement lorsque l'espace de travail est ouvert."

48 votes

Je sens toujours qu'il y a plus à cette question. Je suis nouveau sur VS Code, mais pas en codage. Je pensais qu'un espace de travail est "simplement" le répertoire du projet, comme le suggère l'OP. Cependant, si je choisis Fichier --> Ouvrir un espace de travail, la boîte de dialogue de l'explorateur de fichiers ne me permet pas de simplement "ouvrir" un dossier, je dois trouver un fichier spécifique. :(

4 votes

Je suis avec vous. Je ne suis pas sûr de la différence entre une structure de dossier normale et un espace de travail. J'ai créé un espace de travail avec VS Code mais je ne vois aucune différence excepté une icône de fichier différente. Je sais que les espaces de travail sont des copies locales de différentes branches mais est-ce qu'un dossier standard pour les changements séparés pourrait faire la même chose? J'aimerais de la documentation sur ce sujet car il est très difficile à trouver.

3 votes

Il semble qu'il ne puisse y avoir qu'un seul espace de travail ouvert par fenêtre.

155voto

bonehelmet Points 48

Vous pouvez enregistrer les paramètres au niveau de l'espace de travail et vous pouvez ouvrir plusieurs dossiers dans un espace de travail. Si vous souhaitez faire l'une ou l'autre de ces choses, utilisez un espace de travail, sinon, ouvrez simplement un dossier.

Un espace de travail Visual Studio Code est une liste des dossiers et fichiers d'un projet. Un espace de travail peut contenir plusieurs dossiers. Vous pouvez personnaliser les paramètres et préférences d'un espace de travail.

2 votes

Je suis nouveau sur VS Code, mais je ne vois pas de moyen d'ouvrir un espace de travail par projet. Si j'ouvre un nouveau fichier et essaie d'enregistrer un nouvel espace de travail, je déplace plutôt le fichier de l'espace de travail existant. Je ne pense donc pas que l'espace de travail == projet soit correct.

11 votes

"Vous pouvez enregistrer les paramètres au niveau de l'espace de travail et vous pouvez ouvrir plusieurs dossiers dans un espace de travail. Si vous souhaitez faire l'une ou l'autre de ces choses, utilisez un espace de travail." Techniquement, vous n'avez pas besoin d'un espace de travail pour enregistrer les paramètres au niveau du dossier. Cela peut simplement être fait avec un fichier settings.json dans un dossier .vscode dans le dossier pertinent. Cependant, si vous souhaitez avoir plusieurs dossiers dans un espace de travail, et des paramètres qui s'appliquent à tous, alors vous devez utiliser un espace de travail.

4 votes

Ça ressemble un peu à une solution dans Visual Studio pour moi

100voto

Un espace de travail est simplement un fichier texte avec une extension (.code-workspace). Vous pouvez le consulter en l'ouvrant avec un éditeur de texte. J'étais aussi frustré par l'idée d'un espace de travail et par sa mise en œuvre dans Visual Studio Code. J'ai trouvé une méthode qui me convient.

Commencez avec un seul dossier de "projet".

Ouvrez Visual Studio Code et fermez tout espace de travail, fichier ou dossier ouvert. Vous ne devriez voir que "ÉDITEURS OUVERTS" et "AUCUN DOSSIER OUVERT" dans l'EXPLORATEUR.

Dans la barre de menu Fichier Ouvrir un dossier.... Naviguez à l'endroit où vous voulez mettre votre dossier et cliquez avec le bouton droit pour ouvrir un nouveau dossier. Donnez-lui le nom que vous voulez, puis cliquez sur "Sélectionner un dossier". Il apparaîtra dans l'*explorateur de Visual Studio Code.

Maintenant dans le menu Fichier Enregistrer l'espace de travail sous.... Nommez l'espace de travail et enregistrez-le où vous voulez conserver tous vos espaces de travail (pas nécessairement là où se trouvent vos dossiers de projet). Je mets tous les miens dans un dossier appelé "Espace de travail Visual Studio Code".

Il sera enregistré sous forme d'un fichier (.code-workspace) et n'est qu'un index de tous les fichiers et dossiers qu'il contient (ou pointe) où qu'ils se trouvent sur votre disque dur. Vous pouvez le consulter en l'ouvrant avec un éditeur de texte. Fermez le dossier que vous avez créé et fermez Visual Studio Code.

Maintenant trouvez votre "fichier" d'espace de travail et double-cliquez dessus. Cela ouvrira Visual Studio Code avec le dossier que vous avez créé dans votre espace de travail. Ou vous pouvez ouvrir Visual Studio Code et utiliser "Ouvrir un espace de travail".

Tous les dossiers que vous créez à partir de votre espace de travail Visual Studio Code seront à l'intérieur de votre premier dossier. Si vous voulez ajouter d'autres dossiers de premier niveau, créez-les d'abord où vous voulez qu'ils soient, puis utilisez "Ajouter à l'espace de travail.." depuis Visual Studio Code.

0 votes

Je ne suis toujours pas sûr que ceci soit la méthode "meilleure" ou "correcte" que MS avait l'intention d'utiliser, mais a) cela devrait être documenté et b) vous devriez rejoindre Mensa pour avoir pu trouver quelque chose qui fonctionne et semble aussi logique que possible. Je suis passé de PHPStorm à VS Code en raison de la taille immense de ce dernier, mais pour un IDE qui est si léger et apparemment génial à première vue, je suis maintenant absolument stupéfait par ce cauchemar incroyable de UX! Quoi qu'il en soit, merci beaucoup pour la suggestion et désolé pour la diatribe :-)

0 votes

Attendez, donc vous dites que le fichier espace de travail n'a pas besoin d'être dans le même dossier que le dossier de projet (présumé) associé ? Est-ce considéré comme une bonne pratique ? J'imagine que, par exemple, un fichier d'espace de travail pourrait être créé et partagé par tous les ingénieurs travaillant sur le même projet (pour permettre un style partagé, etc.), puis les paramètres utilisateur peuvent le remplacer individuellement comme ils le souhaitent. Pour que cela soit viable, il semble que le fichier d'espace de travail devrait être dans le même dossier de projet, non ? J'ai donc 2 questions : (1) Qu'est possible/autorisé ? et (2) Quelle est la meilleure pratique ?

0 votes

Cela causera des problèmes aux personnes travaillant sur plusieurs projets en même temps.

82voto

Charlie Joynt Points 2052

Le titre et la question suivante dans la question initiale semblent se résumer à :

  1. Qu'est-ce qu'un espace de travail dans Visual Studio Code ?
  2. Comment fonctionnent les paramètres d'espace de travail ?

Réponse courte :

Un espace de travail est une collection virtuelle de dossiers ouverts simultanément dans Visual Studio Code et définis dans un fichier .code-workspace. Ouvrir ce fichier ouvrira automatiquement la collection de dossiers. Cela s'appelle un espace de travail "multi-root".

Le fichier .code-workspace définit également les paramètres d'espace de travail qui sont utilisés par l'instance de Visual Studio Code où l'espace de travail est ouvert.

Lorsqu'un espace de travail n'est pas défini, c'est-à-dire si vous ouvrez un dossier seul, vous pouvez créer des "paramètres d'espace de travail" qui sont enregistrés dans un fichier .vscode\settings.json à la racine de la structure de ce dossier.


Plus en détail :

Visual Studio Code utilise le mot "espace de travail" de manière un peu ambigüe à certains endroits. Le premier usage à considérer est ce qu'il appelle un espace de travail multi-root.

Un espace de travail multi-root est un ensemble de dossiers (les "racines") qui sont ouverts collectivement dans une instance de Visual Studio Code. Il n'est pas nécessaire que ces dossiers partagent des dossiers parents ; c'est en fait le point puisque Visual Studio Code utilise normalement un seul dossier dans la barre latérale Explorateur.

Un espace de travail multi-root est défini par un fichier .code-workspace (JSON) qui contient à la fois la liste des dossiers à inclure dans l'espace de travail et les paramètres de Visual Studio Code.

Concernant ces paramètres de l'espace de travail...

Lorsque vous ouvrez le menu Fichier Préférences Paramètres l'éditeur de paramètres s'affiche. Au moins, vous devriez voir un onglet PARAMÈTRES UTILISATEUR. Ce sont les paramètres de Visual Studio Code qui sont universels pour votre compte utilisateur sur votre machine locale. Sous Windows, ils sont enregistrés dans %APPDATA%\Code\User\settings.json.

Les dossiers individuels (souvent chacun des dossiers "racines" dans un espace de travail) peuvent avoir un dossier .vscode avec leur propre fichier settings.json. Lorsqu'ils sont ouverts individuellement, c'est-à-dire pas en tant que partie d'un espace de travail, le contenu de ces fichiers settings.json est présenté sous l'onglet PARAMÈTRES DE L'ESPACE DE TRAVAIL, et tous les paramètres de ce fichier sont utilisés par l'instance en cours de Visual Studio Code.

Lors de l'ouverture d'un espace de travail multi-root, les choses se comportent différemment. Tout d'abord, l'onglet PARAMÈTRES DE L'ESPACE DE TRAVAIL montre les options définies dans le fichier .code-workspace. Deuxièmement, tout dossier avec un fichier settings.json apparaîtra sous un nouvel onglet PARAMÈTRES DU DOSSIER. Soyez conscient que, lorsque vous êtes dans un espace de travail multi-root, seul un nombre limité de paramètres de chaque fichier settings.json du dossier sont utilisés. Je vous suggère d'ouvrir le lien ci-dessus pour lire la suite.

0 votes

Y a-t-il une documentation précisant que l'emplacement de settings.json doit être autre que %APPDATA%\Code\User? Dans mon cas, lorsque je place ce fichier dans un dossier, certains paramètres ne sont pas appliqués comme ils le sont lorsque le fichier se trouve à l'emplacement "par défaut" dans %APPDATA%.

1 votes

À ma connaissance, non. La documentation décrit l'emplacement "par défaut" pour Windows comme %APPDATA%\Code\User. Je n'ai rien remarqué qui suggère que l'emplacement %APPDATA% lui-même est utilisé du tout. code.visualstudio.com/docs/getstarted/…

1 votes

Il y a une autre question ici sur SO concernant le changement de l'emplacement des paramètres de l'utilisateur, et une réponse suggère que vous devez remplacer l'emplacement par défaut avec un paramètre en ligne de commande : stackoverflow.com/questions/44575312/…

33voto

sidtj Points 367

La principale utilité d'un espace de travail (et peut-être la seule) est de permettre d'ajouter plusieurs dossiers indépendants qui composent un projet. Par exemple:

- WorkspaceProjectX  
-- DossierApi   (peut-être /usr/share/www/api)  
-- DossierDocs  (peut-être /home/user/projx/html/docs)  
-- DossierWeb   (peut-être /usr/share/www/web)

Ainsi, vous pouvez regrouper ceux-ci dans un espace de travail pour un projet spécifique au lieu d'avoir à ouvrir plusieurs fenêtres de dossiers.

Vous pouvez en apprendre davantage ici.

2 votes

C'est une grande distinction. J'utilise déjà des espaces de travail à un seul dossier avec plusieurs projets en ouvrant un dossier avec le fichier .sln qui fait référence aux sous-répertoires avec les projets inclus. Mais ils sont tous liés par une hiérarchie de dépendances qui est maintenue par la solution. Un espace de travail multi-racine n'aurait pas une telle relation.

4 votes

C'est la meilleure réponse car elle explique pourquoi un espace de travail serait utilisé. Vous pouvez trouver toutes sortes de définitions techniques sur les mécanismes d'un espace de travail mais il était difficile de comprendre pourquoi je voudrais l'utiliser. L'espace de travail est similaire à une "solution" dans Visual Studio Professional.

0 votes

Je vois des gens se référer de manière décontractée aux espaces de travail comme s'ils représentaient un projet, mais cela ne semble pas se vérifier. Tous ceux qui ont déjà demandé "comment avoir plusieurs projets accessibles en même temps dans votre barre latérale?" se voient toujours répondre "vscode vous permet de le faire maintenant, il suffit d'utiliser Ajouter un dossier à l'espace de travail". Il semble plus probable qu'un espace de travail soit destiné à regrouper "tous les projets que vous êtes susceptibles d'utiliser ensemble". Ce que je veux savoir, c'est pourquoi ne pas mettre tous les projets sur lesquels vous travaillez dans votre espace de travail? vscode gère correctement les différents dossiers ayant des contrôles de source différents, des tâches de construction/création différentes, etc.

10voto

Nat Kuhn Points 897

Lors de certaines investigations, la réponse semble être (a).

Quand je vais changer les paramètres, le fichier de paramètres va dans un répertoire .vscode dans mon répertoire de projet.

3 votes

Ce n'est pas juste 1 dossier cependant. Vous pouvez configurer un espace de travail pour contenir plusieurs répertoires. Ce que je me demandais, c'est quelle est la différence entre un établi et un espace de travail.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X