802 votes

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

Je n'arrive pas à croire que je pose cette question, mais je n'ai pas réussi à trouver une définition dans la documentation. Au cas où cela ne serait pas douloureusement évident, je suis (très) nouveau dans Visual Studio Code.

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

D'une part,

  • (a) il pourrait faire référence à un répertoire de projet que vous avez ouvert ; ou
  • (b) il peut s'agir de tout ce que vous avez ouvert dans une fenêtre particulière.

La page mentionnée ci-dessus indique

"Workspace: These settings are stored inside your workspace
in a .vscode folder and only apply when the workspace is opened."

48 votes

J'ai toujours l'impression qu'il y a plus à cette question. Je suis nouveau dans VS Code, mais pas dans le codage. Je pensais qu'un espace de travail était "simplement" le répertoire du projet, comme le suggère le PO. Cependant, si je choisis File --> Open Workspace 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 d'accord avec vous. Je ne comprends pas bien la différence entre une structure de dossiers normale et un espace de travail. J'ai créé un espace de travail avec VS Code mais je ne vois pas de différence, à part une icône de fichier différente. Je sais que les espaces de travail sont des copies locales de différentes branches mais un dossier standard pour les changements séparés ne pourrait-il pas faire la même chose ? J'aimerais avoir de la documentation à ce sujet car c'est très difficile à trouver.

3 votes

Il semble qu'il n'y ait 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 voulez 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 de dossiers et de fichiers d'un projet. Un espace de travail peut contenir plusieurs dossiers. Vous pouvez personnaliser les paramètres et les préférences d'un espace de travail.

2 votes

Je suis nouveau dans VS Code, mais je ne vois pas comment 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 le fichier de l'espace de travail existant à la place. Je ne pense donc pas qu'il soit correct que workspace == projet.

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 voulez 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 d'un dossier. Vous pouvez simplement le faire avec un settings.json dans un dossier .vscode dans le dossier concerné. Cependant, si vous voulez plusieurs dossiers dans un espace de travail et des paramètres qui s'appliquent à tous, vous devez utiliser un espace de travail.

4 votes

Cela 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 moi aussi frustré par l'idée d'un espace de travail et la façon dont il est implémenté dans Visual Studio Code. J'ai trouvé une méthode qui me convient.

Commencez par un seul dossier "projet".

Ouvrez Visual Studio Code et fermez tous les espaces de travail, fichiers ou dossiers ouverts. Vous devriez voir seulement "OPEN EDITORS" et "NO FOLDER OPENED" dans l'EXPLORATEUR.

Depuis la barre de menu* → FichierOuvrir le dossier... . Naviguez jusqu'à l'endroit où vous voulez placer votre dossier et faites un clic 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 code *Visual Studio.

Maintenant, à partir du menu FichierEnregistrer l'espace de travail sous... . Nommez l'espace de travail et enregistrez-le à l'endroit où vous souhaitez conserver tous vos espaces de travail (pas nécessairement à l'endroit où se trouvent les dossiers de votre projet). Je place tous les miens dans un dossier appelé "Visual Studio Code workspace".

Il sera enregistré en tant que ( .code-workspace ) et n'est qu'un index de tous les fichiers et dossiers qu'il contient (ou vers lesquels il 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.

Trouvez maintenant votre espace de travail "file" 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 "Espace de travail ouvert" .

Tous les dossiers que vous créez à partir de votre espace de travail Visual Studio Code se trouveront dans votre premier dossier. Si vous souhaitez ajouter d'autres dossiers de premier niveau, créez-les d'abord là où vous le souhaitez, puis utilisez la commande "Ajouter à l'espace de travail " à partir de Visual Studio Code.

0 votes

Je ne suis toujours pas sûr que ce soit la "meilleure" ou la "bonne" méthode que MS voulait utiliser, mais a) cela devrait être documenté et b) vous devriez rejoindre Mensa pour avoir été capable de 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 déconcerté par cet incroyable cauchemar UX ! Quoi qu'il en soit, TYVM pour la suggestion et mes excuses pour la diatribe :-)

0 votes

Attends, donc tu dis que l'espace de travail fichier n'a pas besoin de se trouver dans le même dossier que l'application (vraisemblablement associée) dossier de projet ? 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 de l'utilisateur pourraient le remplacer individuellement comme ils le souhaitent. Pour que cela soit viable, il semble que le fichier d'espace de travail doive se trouver dans le même dossier de projet, non ? Je crois que j'ai deux questions : (1) Qu'est-ce qui est faisable/autorisé ? et (2) Quelle est la meilleure pratique ?

0 votes

Cela posera des problèmes aux personnes travaillant sur plusieurs projets à la fois.

82voto

Charlie Joynt Points 2052

Le titre et la question subséquente de l'OP semblent se résumer à :

  1. Qu'est-ce qu'un espace de travail dans VS Code ?
  2. Comment l'espace de travail paramètres travail ?

Réponse courte :

Un espace de travail est une collection virtuelle de dossiers ouverts simultanément dans le VSCode et définis dans une .code-workspace fichier. L'ouverture de ce fichier ouvrira automatiquement la collection de dossiers. C'est ce qu'on appelle un espace de travail "multi-Root".

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

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


Plus en détail :

VSCode utilise le mot "espace de travail" de manière un peu ambiguë à certains endroits. La première utilisation à considérer est dans ce qui est appelé 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 VSCode. Il n'est pas nécessaire que ces dossiers partagent des dossiers parents ; en fait, c'est le but recherché puisque VSCode utilise normalement un seul dossier dans la barre latérale de l'Explorateur.

Un espace de travail multi-Root est défini par une .code-workspace (JSON) qui contient à la fois la liste des dossiers à inclure dans l'espace de travail et les paramètres VSCode.

En ce qui concerne les paramètres de l'espace de travail...

Lorsque vous ouvrez Fichier > Préférences > Paramètres, l'éditeur de paramètres s'affiche. Vous devriez au moins voir un PARAMÈTRES DE L'UTILISATEUR onglet. Il s'agit des paramètres VSCode 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 "Root" dans un espace de travail) peuvent avoir un .vscode avec leur propre settings.json dossier. Lorsqu'il est ouvert individuellement, c'est-à-dire sans faire 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 de VSCode en cours d'exécution.

Lors de l'ouverture d'un espace de travail à racines multiples, les choses se comportent différemment. Tout d'abord, le PARAMÈTRES DE L'ESPACE DE TRAVAIL montre les options définies dans l'onglet .code-workspace fichier. Deuxièmement, tout dossier avec un settings.json apparaîtra sous un nouveau fichier PARAMÈTRES DU DOSSIER onglet. N'oubliez pas que, dans un espace de travail à racines multiples, seul un nombre limité de paramètres de l'onglet "Paramètres" de chaque dossier peut être utilisé. settings.json sont utilisés. Je vous suggère d'ouvrir le lien ci-dessus pour en savoir plus.

0 votes

Existe-t-il une documentation précisant l'emplacement des settings.json pour ê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 est dans l'emplacement "par défaut" dans %APPDATA% .

1 votes

Pour autant que je sache, non. La documentation décrit l'emplacement "par défaut" pour Windows comme suit %APPDATA%\Code\User . Je n'ai rien remarqué qui suggère que le %APPDATA% L'emplacement lui-même n'est pas du tout utilisé. code.visualstudio.com/docs/getstarted/

1 votes

Il y a une autre question ici sur SO sur en changeant l'emplacement des paramètres de l'utilisateur, et une réponse suggère que vous devez remplacer l'emplacement par défaut par un paramètre de la 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 de multiples indépendant dossiers qui composent un projet. Par exemple :

- WorkspaceProjectX  
-- ApiFolder   (maybe /usr/share/www/api)  
-- DocsFolder  (maybe /home/user/projx/html/docs)  
-- WebFolder   (maybe /usr/share/www/web)

Vous pouvez donc les regrouper dans un espace de travail pour un projet spécifique au lieu de devoir ouvrir plusieurs dossiers sous Windows.

Vous pouvez en savoir plus ici .

2 votes

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

4 votes

C'est la meilleure réponse, car elle répond au "pourquoi" de l'utilisation d'un espace de travail. 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 voulais l'utiliser. L'espace de travail est similaire à une "solution" dans Visual Studio Professional.

0 votes

Je vois des gens se référer avec désinvolture aux espaces de travail comme s'ils représentaient un projet, mais cela ne semble pas se vérifier. Tous ceux qui ont demandé "comment faire pour avoir plusieurs projets à la fois accessibles dans votre barre latérale" se sont toujours vu répondre "vscode vous permet de le faire maintenant, il suffit d'utiliser Add Folder to Workspace". 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 un contrôle de source différent, les tâches build/make, etc.

10voto

Nat Kuhn Points 897

Après quelques recherches, la réponse semble être (a).

Lorsque je veux modifier les paramètres, le fichier de paramètres est placé dans un répertoire .vscode dans le répertoire de mon projet.

3 votes

Mais il ne s'agit pas seulement d'un dossier. Vous pouvez configurer un espace de travail pour qu'il contienne plusieurs répertoires. Ce que je me demande, c'est quelle est la différence entre un banc de travail 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