¿Qué es un 'espacio de trabajo' en Visual Studio Code?

563

No puedo creer que estoy haciendo esta pregunta, pero no he podido encontrar una definición en la documentación. En caso de que no sea dolorosamente obvio, soy (muy) nuevo en Visual Studio Code.

Por ejemplo, Visual Studio Code habla sobre la aplicación de la configuración a nivel de usuario frente al nivel del espacio de trabajo .

Por un lado,

  • (a) podría referirse a un directorio de proyecto que haya abierto; o
  • (b) podría referirse a todo lo que ha abierto en una ventana en particular.

La página mencionada anteriormente dice

"Workspace: These settings are stored inside your workspace
in a .vscode folder and only apply when the workspace is opened."
Nat Kuhn
fuente
30
Todavía siento que hay más en esta pregunta. Soy nuevo en VS Code, pero no en codificación. Supuse que un espacio de trabajo es "simplemente" el directorio del proyecto, como sugiere el OP. Sin embargo, si elijo File --> Open Workspace, el cuadro de diálogo del explorador de archivos no me permite simplemente "abrir" una carpeta, tengo que encontrar un archivo específico. :(
Mike Williamson
28
Tengo la misma pregunta ... Llevo 2 semanas en VS y me encanta, pero aún no he entendido qué son exactamente los espacios de trabajo y creo que es revelador que algunas personas parecen tener esto. pregunta. Se necesita una terminología clara.
ynamite
2
Estoy con ustedes chicos. No estoy claro de la diferencia entre una estructura de carpetas normal y luego un espacio de trabajo. He creado un espacio de trabajo con VS Code pero no veo ninguna diferencia, excepto un icono de archivo diferente. Sé que los espacios de trabajo son copias locales de diferentes ramas, pero ¿no podría una carpeta estándar para los cambios separados hacer lo mismo? Me gustaría obtener documentación sobre esto, ya que es muy difícil de encontrar.
Daniel Jackson
2
Parece que puede haber solo un espacio de trabajo abierto por ventana.
Paul Price
2
Me pregunto cómo creo un nuevo espacio de trabajo vacío. Es un poco extraño que pueda abrir y guardar un espacio de trabajo existente, pero no cerrarlo para comenzar con uno vacío ...
rantanplan

Respuestas:

263

¿Qué es un espacio de trabajo?

Un proyecto que consta de una o más carpetas raíz, junto con todas las configuraciones de Visual Studio Code que pertenecen a ese proyecto. Una "carpeta raíz" es el directorio de nivel superior de un sistema de archivos. Estas configuraciones incluyen datos como:

¿Por qué un espacio de trabajo es tan confuso?

Visual Studio Code no usa el término de forma coherente en la interfaz de usuario (he abierto un problema de GitHub para solucionar esto). Algunas veces se refiere a un espacio de trabajo como se describió anteriormente, y otras veces se refiere a un espacio de trabajo como un proyecto que está asociado específicamente con un .code-workspacearchivo.

Un buen ejemplo es el widget de archivos recientes . Observe en la captura de pantalla vinculada que todos los proyectos están agrupados bajo el mismo encabezado "espacios de trabajo", lo que indicaría que todo lo que hay es un espacio de trabajo. Pero luego proyecta con un.code-workspace archivo reciben el sufijo "Espacio de trabajo", lo que contradice el encabezado e indica que solo esos archivos son realmente espacios de trabajo.

¿Qué es un .code-workspacearchivo?

Un archivo JSON con comentarios que almacena todos los datos de configuración mencionados anteriormente, además de:

  • la ubicación de todas las carpetas raíz que pertenecen a un espacio de trabajo

¿Necesito un .code-workspacearchivo?

Solo si está creando un espacio de trabajo de múltiples raíces . Con un espacio de trabajo de múltiples raíces, tiene un solo .code-workspacearchivo que abre todas las carpetas raíz que desea que se muestren en el explorador (es decir, no necesita seguir abriendo varias carpetas manualmente). Y todos los ajustes / configuraciones de Visual Studio Code que desea aplicar a ese espacio de trabajo se restauran cada vez que abre ese archivo de espacio de trabajo.

¿Qué pasa con los proyectos de una sola carpeta?

Todo esta automatizado. Cuando abre una carpeta en Visual Studio Code y comienza a realizar modificaciones en el editor que están específicamente relacionadas con el proyecto en el que está trabajando actualmente, Visual Studio Code crea automáticamente una .vscodecarpeta y la almacena en la raíz de la carpeta del proyecto que usted ' Estoy trabajando en Esta .vscodecarpeta tiene archivos que almacenan los cambios que realizó. Por ejemplo, si cambia la configuración de Visual Studio Code que desea aplicar solo a su proyecto actual, Visual Studio Code crea un settings.jsonarchivo con esas actualizaciones, y ese archivo se almacena en la .vscodecarpeta.

Puede crear un .code-workspacearchivo que incluya una sola carpeta raíz si realmente lo desea. Entonces podrá abrir la carpeta del proyecto directamente o abrir el archivo del espacio de trabajo. Pero no puedo pensar en ninguna razón por la cual esto sería beneficioso.

¿Cómo creo un .code-workspacearchivo?

Vaya al menú ArchivoGuardar espacio de trabajo como ...

¿Cómo agrego carpetas raíz a un espacio de trabajo?

Ir al menú ArchivoAñadir carpeta a Espacio de trabajo ... .

¿Cómo abro un espacio de trabajo definido por un .code-workspacearchivo?

Haz doble clic en el .code-workspacearchivo. Visual Studio Code no abrirá el archivo real. En su lugar, leerá ese archivo y abrirá las carpetas que pertenecen a ese espacio de trabajo. Alternativamente, vaya al menú ArchivoAbrir espacio de trabajo ... .

¿Cómo veo el .code-workspacearchivo real ?

Vaya al menú ArchivoAbrir ... y seleccione el .code-workspacearchivo de destino . Alternativamente, abra el espacio de trabajo asociado con ese archivo y luego abra la paleta de comandos , busque y seleccione el comando Espacios de trabajo: Abrir archivo de configuración del espacio de trabajo .

jabacchetta
fuente
19
Gracias @jabacchetta. Hice esta pregunta hace dos años. No mucho después de eso, creo que la definición de WS realmente cambió, por lo que ha sido una pregunta zombie. Pero he recibido toneladas de representante SO basado en la confusión de la gente. Tengo que confesar que ha sido agradable ver cómo se acumulan los puntos, y no me he sentido muy motivado para seguir la discusión. Pero su respuesta es tan completa y clara, y ha abierto un problema para que la gente del código aborde esta confusión. Siento que sería muy desagradable no aceptar esta respuesta. ¡Gracias!
Nat Kuhn el
Creo que comentar aquí es el mejor lugar. Esto me permitió aclarar un poco las cosas en mí mismo después de darme cuenta de un problema que tenía sobre la elección del intérprete de Python correcto ( stackoverflow.com/questions/54106071/… ), pero ahora tengo un código vs quejándose diciendo que en launch.json los "args" la propiedad no está permitida, esos archivos se produjeron automáticamente y no puedo encontrar un programa de estudios para ese objeto
Carmine Tambascia
Al guardar un 'Espacio de trabajo' en Linux, no olvide agregar la extensión .code-workspace al nombre del Espacio de trabajo. por ejemplo, [myworkspace.code-workspace] Seguí teniendo que volver a crear el espacio de trabajo porque 'abierto' no podía ver ningún archivo de espacio de trabajo. (tal vez algo para recomendar / solicitar extracción para que se complete automáticamente si no se establece ninguna extensión en Guardar ...)
JI-Web
1
Una razón por la que puede crear un .code-workspacearchivo para una sola carpeta raíz es que hay ciertas configuraciones (por ejemplo files.associations) que VSCode no respetará en un .vscode/settings.jsonespacio de trabajo explícito.
Carl Meyer
133

Puede guardar la configuración en el nivel del espacio de trabajo y puede abrir varias carpetas en un espacio de trabajo. Si desea hacer cualquiera de esas cosas, use un espacio de trabajo; de lo contrario, solo abra una carpeta.

Un espacio de trabajo de Visual Studio Code es una lista de las carpetas y archivos de un proyecto. Un espacio de trabajo puede contener múltiples carpetas. Puede personalizar la configuración y las preferencias de un espacio de trabajo.

casco de huesos
fuente
¡Creo que la definición puede haber cambiado desde que se planteó la pregunta por primera vez, pero aprecio la respuesta y la acepto!
Nat Kuhn
1
Soy nuevo en VS Code, pero no puedo ver una manera de abrir un espacio de trabajo por proyecto. Si abro un nuevo archivo e intento guardar un nuevo espacio de trabajo, muevo el archivo del espacio de trabajo existente. Así que no creo que sea correcto ese espacio de trabajo == proyecto.
Åsmund
8
"Puede guardar la configuración en el nivel del espacio de trabajo y puede abrir varias carpetas en un espacio de trabajo. Si desea hacer cualquiera de esas cosas, use un espacio de trabajo". Técnicamente, no necesita un espacio de trabajo para guardar la configuración en un nivel de carpeta. Eso solo se puede hacer con una settings.jsoncarpeta dentro de .vscode en la carpeta correspondiente. Sin embargo, si desea varias carpetas en un espacio de trabajo y configuraciones que se apliquen a todas, entonces debe usar un espacio de trabajo.
Gandalf Saxe
2
Suena un poco como una solución en Visual Studio para mí
Alexander Derck
2
¿Cómo es esta la respuesta aceptada cuando no proporciona una definición de "espacio de trabajo", que es la pregunta del OP?
Iliyan Georgiev
84

Un espacio de trabajo es solo un archivo de texto con una extensión (.code-workspace). Puede verlo abriéndolo con un editor de texto. También me sentí frustrado por la idea de un espacio de trabajo y cómo se implementa en Visual Studio Code. Encontré un método que me conviene.

Comience con una sola carpeta de "proyecto".

Abra Visual Studio Code y cierre cualquier área de trabajo abierta, archivos o carpetas. Debería ver solo "EDITORES ABIERTOS" y "NO SE ABRE LA CARPETA" en el EXPLORADOR.

En la barra de menú * → ArchivoAbrir carpeta ... . Navegue hasta donde desea colocar su carpeta y haga clic derecho para abrir una nueva carpeta. Póngale el nombre que desee, luego haga clic en "Seleccionar carpeta" . Aparecerá en el * Visual Studio Code explorer.

Ahora desde el menú ArchivoGuardar espacio de trabajo como ... . Asigne un nombre al espacio de trabajo y guárdelo donde desee mantener todos sus espacios de trabajo (no necesariamente donde están las carpetas de su proyecto). Puse todo el mío en una carpeta llamada "Visual Studio Code workspace".

Se guardará como un .code-workspacearchivo ( ) y es solo un índice de todos los archivos y carpetas que contiene (o señala) donde sea que estén en su disco duro. Puede verlo abriéndolo con un editor de texto. Cierre la carpeta que creó y cierre Visual Studio Code.

Ahora encuentre el "archivo" de su espacio de trabajo y haga doble clic en él. Esto abrirá Visual Studio Code con la carpeta que creó en su espacio de trabajo. O puede abrir Visual Studio Code y usar "Open Workspace" .

Cualquier carpeta que cree desde su espacio de trabajo de Visual Studio Code estará dentro de su primera carpeta. Si desea agregar más carpetas de nivel superior, créelas primero donde las desee y luego use "Agregar al espacio de trabajo ..." de Visual Studio Code.

Robert Schindehette
fuente
Todavía no estoy seguro de que este sea el método "mejor" o "adecuado" que MS pretendía usar, pero a) debe documentarse yb) debe unirse a Mensa por haber podido resolver algo que funciona y Parece lo más lógico posible. Me mudé a VS Code desde PHPStorm debido al inmenso tamaño de este último, pero para un IDE que es tan liviano y aparentemente increíble a primera vista, ¡ahora estoy absolutamente desconcertado por esta increíble pesadilla UX! De todos modos TYVM por la sugerencia y disculpas por la diatriba :-)
Kenny83
Espera, ¿estás diciendo que el espacio de trabajo de archivos no tiene por qué estar en la misma carpeta que el (presumiblemente) asociado carpeta del proyecto ? ¿Se considera eso una buena práctica? Me imagino que, por ejemplo, se podría crear un archivo de espacio de trabajo que sea compartido por todos los ingenieros que trabajan en el mismo proyecto (para permitir un estilo compartido, etc.), luego la configuración del usuario puede anularlo individualmente como lo deseen. Para que esto sea viable, parece que el archivo del espacio de trabajo debería estar en la misma carpeta del proyecto, ¿verdad? Supongo que tengo 2 preguntas: (1) ¿Qué es factible / permitido ?, y (2) ¿Cuál es la mejor práctica?
Mike Williamson
Esto causará problemas a las personas que trabajan en múltiples proyectos a la vez.
Shahir Ansari
61

El título y la pregunta posterior en el OP parecen reducirse a:

  1. ¿Qué es un espacio de trabajo en VS Code?
  2. ¿Cómo funcionan las configuraciones del espacio de trabajo?

Respuesta corta:

Un espacio de trabajo es una colección virtual de carpetas abiertas simultáneamente en VSCode y definidas en un .code-workspacearchivo. Abrir este archivo abrirá la colección de carpetas automáticamente. Esto se llama un espacio de trabajo "multi-raíz".

El .code-workspacearchivo también define la configuración del espacio de trabajo que utiliza la instancia de VSCode donde se abre el espacio de trabajo.

Cuando un espacio de trabajo no está definido, es decir, abre una carpeta por sí mismo, puede crear "configuraciones de espacio de trabajo" que se guardan en un .vscode\settings.jsonarchivo en la raíz de la estructura de esa carpeta.


Con más detalle:

VSCode usa la palabra "espacio de trabajo" un poco ambiguo en algunos lugares. El primer uso a considerar es en lo que se llama un espacio de trabajo de múltiples raíces .

Un espacio de trabajo de múltiples raíces es un conjunto de carpetas (las "raíces") que se abren colectivamente en una instancia de VSCode. No es necesario que estas carpetas compartan carpetas principales; de hecho, ese es el punto ya que VSCode normalmente usa una sola carpeta en la barra lateral del Explorador.

Un espacio de trabajo de múltiples raíces se define mediante un .code-workspacearchivo (JSON) que contiene la lista de carpetas que se incluirán en el espacio de trabajo y la configuración de VSCode.

Con respecto a la configuración del espacio de trabajo ...

Cuando abre Archivo> Preferencias> Configuración, se muestra el editor de configuración. Como mínimo, debería ver una pestaña CONFIGURACIÓN DEL USUARIO . Estas son las configuraciones de VSCode que son universales para su cuenta de usuario en su máquina local. En Windows, estos se guardan en %APPDATA%\Code\User\settings.json.

Las carpetas individuales (a menudo cada una de las carpetas "raíz" en un espacio de trabajo) pueden tener una .vscodecarpeta con su propio settings.jsonarchivo. Cuando se abre individualmente, es decir, no como parte de un espacio de trabajo, el contenido de estos settings.jsonarchivos se presenta en la pestaña CONFIGURACIÓN DEL ESPACIO DE TRABAJO , y la instancia VSCode en ejecución utiliza TODAS las configuraciones en ese archivo.

Al abrir un espacio de trabajo de múltiples raíces, las cosas se comportan de manera diferente. En primer lugar, la pestaña CONFIGURACIÓN DEL ESPACIO DE TRABAJO muestra las opciones establecidas en el .code-workspacearchivo. En segundo lugar, cualquier carpeta con un settings.jsonarchivo aparecerá en una nueva pestaña CONFIGURACIÓN DE CARPETA . Tenga en cuenta que, cuando se encuentra en un espacio de trabajo de múltiples raíces, solo settings.jsonse utiliza un número limitado de configuraciones de cada carpeta . Le sugiero que abra el enlace de arriba para leer más.

Charlie Joynt
fuente
¿Hay alguna documentación que especifique la ubicación de settings.jsonser diferente a %APPDATA%\Code\User? En mi caso, cuando coloco este archivo en una carpeta, algunas configuraciones no se aplican tal como están cuando el archivo está en la ubicación "predeterminada" %APPDATA%.
Danijel
1
Por lo que puedo ver, no. La documentación describe la ubicación "predeterminada" para Windows como %APPDATA%\Code\User. No he notado nada que sugiera que la %APPDATA%ubicación en sí se usa en absoluto. code.visualstudio.com/docs/getstarted/…
Charlie Joynt
1
Hay otra pregunta aquí sobre SO sobre cómo cambiar la ubicación de la ubicación de configuración del usuario, y una respuesta sugiere que debe anular la ubicación predeterminada con un parámetro de línea de comandos: stackoverflow.com/questions/44575312/…
Charlie Joynt
Charlie, si no hay documentación, ¿en qué basas tu respuesta? ¿Código fuente?
Danijel
Mi respuesta se basa en la documentación disponible y la experiencia del usuario final. No veo documentación sobre la posibilidad de especificar la ubicación (predeterminada) del archivo de configuración del usuario ; en otras palabras, no puedo encontrar nada que sugiera que %APPDATA%sea ​​una ubicación válida. ¿Parece que su prueba indica que los archivos en esa carpeta funcionan?
Charlie Joynt
22

La utilidad principal de un espacio de trabajo (y quizás el único) es permitir agregar múltiples carpetas independientes que componen un proyecto. Por ejemplo:

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

Por lo tanto, puede agruparlos en un espacio de trabajo para un proyecto específico en lugar de tener que abrir varias ventanas de carpetas.

Puedes aprender más aquí .

sdlins
fuente
2
Esta es una gran distinción. Ya uso espacios de trabajo de una sola carpeta con múltiples proyectos abriendo una carpeta con el archivo .sln que hace referencia a subdirectorios con los proyectos incluidos. Pero todos están relacionados con una jerarquía de dependencia que la solución mantiene. Un espacio de trabajo de múltiples raíces no tendría tal relación.
melston
2
Esta es la mejor respuesta, ya que aborda el "por qué" se utilizaría un espacio de trabajo. Puede encontrar todo tipo de definiciones técnicas sobre la mecánica de un espacio de trabajo, pero fue difícil entender por qué querría usarlo. El espacio de trabajo es similar a una "solución" en Visual Studio Professional.
FrankO
1
Muy bien puesto. Esto es lo que estaba buscando.
Peter Mortensen
9

En alguna investigación, la respuesta parece ser (a).

Cuando voy a cambiar la configuración, el archivo de configuración entra en un directorio .vscode en mi directorio de proyecto.

Nat Kuhn
fuente
2
Sin embargo, no es solo 1 carpeta. Puede configurar un espacio de trabajo para contener múltiples directorios. Lo que me preguntaba es cuál es la diferencia entre un banco de trabajo y un espacio de trabajo.
Marses
7

Acabo de instalar Visual Studio Code v1.25.1. en una máquina con Windows 7 Professional SP1. Quería comprender los espacios de trabajo en detalle, así que pasé unas horas descubriendo cómo funcionan en esta versión de Visual Studio Code. Pensé que los resultados de mi investigación podrían ser de interés para la comunidad.

Primero, los espacios de trabajo son referidos por Microsoft en la documentación del Código de Visual Studio como "espacios de trabajo de múltiples raíces". En inglés simple, eso significa "un entorno de trabajo de varias carpetas (también conocido como" raíz ")". Un espacio de trabajo de Visual Studio Code es simplemente una colección de carpetas: cualquier colección que desee, en el orden que desee. La colección típica de carpetas constituye un proyecto de desarrollo de software. Sin embargo, una colección de carpetas podría usarse para cualquier otra cosa para la cual se está desarrollando el código de software.

La mecánica detrás de cómo Visual Studio Code maneja los espacios de trabajo es un poco complicada. Creo que la forma más rápida de transmitir lo que aprendí es dándole un conjunto de instrucciones que puede usar para ver cómo funcionan los espacios de trabajo en su computadora. Supongo que está comenzando con una nueva instalación de Visual Studio Code v1.25.1. Si está utilizando una versión de producción de Visual Studio Code, ¡no le recomiendo que siga mis instrucciones porque puede perder parte o la totalidad de su configuración existente de Visual Studio Code! Si ya tiene instalada una versión de prueba de Visual Studio Code v1.25.1 **, y está dispuesto a perder cualquier configuración que ya exista, debe hacer lo siguiente para revertir su Visual Studio Code a un nuevo estado de instalación:

Elimine la siguiente carpeta (si existe):

  C:\Users\%username%\AppData\Roaming\Code\Workspaces (where "%username%" is the name of the currently logged-on user)

Agregará carpetas a Visual Studio Code para crear un nuevo espacio de trabajo. Si alguna de las carpetas que piensa usar para crear este nuevo espacio de trabajo se ha utilizado previamente con Visual Studio Code, elimine la subcarpeta ".vscode" (si existe) dentro de cada una de las carpetas que se usarán para crear el nuevo espacio de trabajo .

Inicie Visual Studio Code. Si se muestra la página de bienvenida , ciérrela. Haga lo mismo para el Panel (un panel horizontal) si se muestra. Si recibió un mensaje de que Git no está instalado, haga clic en "Recordarme más tarde". Si se muestra, también cierre la página de códigos "Sin título" que se inició como página de códigos predeterminada. Si no se muestra el panel Explorador, haga clic en "Ver" en el menú principal y luego haga clic en "Explorador" para mostrar el panel Explorador. Dentro del panel del Explorador, debería ver tres (3) encabezados de vista: editores abiertos, sin carpeta abierta y esquema (ubicado en la parte inferior del panel del explorador). Asegúrese de que, como mínimo, se muestren los editores abiertos y los encabezados de vista de ninguna carpeta abierta .

Visual Studio Code muestra un botón que dice "Abrir carpeta". Haga clic en este botón y seleccione una carpeta de su elección. Visual Studio Code se actualizará y el nombre de la carpeta seleccionada habrá reemplazado el nombre de vista "No hay carpeta abierta". Cualquier carpeta y archivo que exista dentro de la carpeta seleccionada se mostrará debajo del nombre Ver.

Ahora abra el archivo de configuración de preferencias de código de Visual Studio . Hay muchas maneras de hacer esto. Usaré el más fácil para recordar cuál es el menú ArchivoPreferencias Configuración. El archivo de configuración se muestra en dos columnas. La columna izquierda es una lista de solo lectura de los valores predeterminados para cada función de Visual Studio Code. La columna derecha se usa para enumerar los tres (3) tipos de configuraciones de usuario. En este punto de la prueba, solo se enumerarán dos configuraciones de usuario: Configuración de usuario y Configuración del espacio de trabajo. La configuración de usuario se muestra de forma predeterminada. Esto muestra el contenido de su archivo de configuración de usuario .json. Para averiguar dónde se encuentra este archivo, simplemente desplace el mouse sobre la lista "Configuración de usuario" que aparece debajo de la vista ABRIR EDITORES en el Explorador. Este listado en la Vista de EDITORES ABIERTOS se selecciona automáticamente cuando se selecciona la opción "Configuración de usuario" en la columna derecha. El camino debe ser:

C:\Users\%username%\AppData\Roaming\Code\User\settings.json

Este archivo settings.json es donde se almacenan las configuraciones de usuario para Visual Studio Code.

Ahora haga clic en la opción Configuración del espacio de trabajo en la columna derecha de la lista de Preferencias. Cuando hace esto, se crea automáticamente una subcarpeta llamada ".vscode" en la carpeta que agregó a Explorar hace unos pasos. Mire la lista de su carpeta en el Explorador para confirmar que se ha agregado la subcarpeta .vscode. Dentro de la nueva subcarpeta .vscode hay otro archivo settings.json. Este archivo contiene la configuración del espacio de trabajo para la carpeta que agregó al Explorador hace unos pasos.

En este punto, tiene una sola carpeta cuya Configuración de usuario se almacena en:

C:\Users\%username%\AppData\Roaming\Code\User\settings.json

y cuyas configuraciones de espacio de trabajo se almacenan en:

C:\TheLocationOfYourFolder\settings.json

Esta es la configuración cuando se agrega una sola carpeta a una nueva instalación de Visual Studio Code. Las cosas se complican cuando agregamos una segunda (o mayor) carpeta. Esto se debe a que estamos cambiando la configuración de usuario de Visual Studio Code y la configuración del espacio de trabajo para acomodar varias carpetas. En un entorno de carpeta única, solo se necesitan dos archivos settings.json como se enumeran anteriormente. Pero en un entorno de múltiples carpetas se crea una subcarpeta .vscode en cada carpeta agregada al Explorador y se crea un nuevo archivo, "workspaces.json", para administrar el entorno de múltiples carpetas. El nuevo archivo "workspaces.json" se crea en:

c:\Users\%username%\AppData\Roaming\Code\Workspaces\%workspace_id%\workspaces.json

El "% workspaces_id%" es una carpeta con un nombre único para todos los números.

En la columna derecha de Preferencias, ahora aparecen tres opciones de configuración del usuario: Configuración del usuario, Configuración del área de trabajo y Configuración de la carpeta. La función de Configuración de usuario sigue siendo la misma que para un entorno de carpeta única. Sin embargo, el archivo de configuración detrás de la Configuración del espacio de trabajo se ha cambiado del archivo settings.json en la subcarpeta .vscode de la carpeta única al archivo workspaces.json ubicado en la ruta del archivo workspaces.json que se muestra arriba. El archivo settings.json ubicado en la subcarpeta .vscode de cada carpeta ahora está controlado por una tercera configuración de usuario, Opciones de carpeta. Esta es una lista de selección desplegable que permite la administración del archivo settings.json de cada carpeta ubicado en la subcarpeta .vscode de cada carpeta. Tenga en cuenta: la subcarpeta .vscode no se creará en las carpetas del explorador recién agregadas hasta que la carpeta recién agregada se haya seleccionado al menos una vez en la configuración de usuario de opciones de carpeta.

Observe que el nombre de la carpeta única del Explorador se ha cambiado a "SIN TÍTULO (ESPACIO DE TRABAJO)". Esto indica lo siguiente:

  1. Se ha creado un espacio de trabajo de múltiples carpetas con el nombre "SIN TÍTULO (ESPACIO DE TRABAJO)
  2. El espacio de trabajo se denomina "SIN TÍTULO (ESPACIO DE TRABAJO)" para comunicar que el espacio de trabajo aún no se ha guardado como un archivo de espacio de trabajo único e independiente.
  3. El espacio de trabajo SIN TÍTULO (ESPACIO DE TRABAJO) puede tener carpetas agregadas y eliminadas, pero funcionará como el ÚNICO entorno de espacio de trabajo para Visual Studio Code

La funcionalidad completa de los espacios de trabajo de Visual Studio Code solo se realiza cuando un espacio de trabajo se guarda como un archivo que se puede volver a cargar según sea necesario. Esto proporciona la capacidad de crear espacios de trabajo únicos de múltiples carpetas (por ejemplo, proyectos) y guardarlos como archivos para su uso posterior. Para hacer esto, seleccione el menú ArchivoGuardar espacio de trabajo comodesde el menú principal y guarde la configuración actual del espacio de trabajo como un archivo de espacio de trabajo único. Si necesita crear un espacio de trabajo "desde cero", primero guarde la configuración actual del espacio de trabajo (si es necesario), luego haga clic con el botón derecho en el nombre de cada carpeta del Explorador y haga clic en "Eliminar carpeta del espacio de trabajo". Cuando se hayan eliminado todas las carpetas del espacio de trabajo, agregue las carpetas que necesita para su nuevo espacio de trabajo. Cuando termine de agregar nuevas carpetas, simplemente guarde el nuevo espacio de trabajo como un nuevo archivo de espacio de trabajo.

Una nota importante : Visual Studio Code no "revierte" al modo de carpeta única cuando solo queda una carpeta en el Explorador o cuando todas las carpetas se han eliminado del Explorador al crear un nuevo espacio de trabajo "desde cero". La configuración del espacio de trabajo de múltiples carpetas que utiliza tres preferencias de usuario permanece vigente. Esto significa que, a menos que siga las instrucciones al principio de esta publicación, el Código de Visual Studio nunca podrá regresar a un modo de operación de una sola carpeta; siempre permanecerá en modo de espacio de trabajo de múltiples carpetas.

Bill Vallance
fuente
Para mí, la carpeta .vscode no se creó hasta que hice un cambio en una de las configuraciones del lugar de trabajo, pero de lo contrario, este artículo fue definitivamente útil para comprender mejor cómo funciona todo.
James Toomey
2

Lo llaman un espacio de trabajo de múltiples raíces , y con eso puedes depurar fácilmente porque:

"Con espacios de trabajo de múltiples raíces, Visual Studio Code busca en todas las carpetas los archivos de configuración de depuración de launch.json y los muestra con el nombre de la carpeta como un sufijo".

Supongamos que tiene un servidor y una carpeta de cliente dentro de la carpeta de su aplicación. Si desea depurarlos juntos, sin un espacio de trabajo, debe iniciar dos instancias de Visual Studio Code, una para el servidor, otra para el cliente y debe cambiar de un lado a otro.

Pero en este momento (1.24) no puede agregar un solo archivo a un espacio de trabajo, solo carpetas, lo cual es un poco inconveniente .

Qiulang
fuente
2

Entonces, una vez más, se ignora la lección de no contaminar el árbol fuente de un proyecto con artefactos que no están directamente relacionados con ese proyecto.

No hay ninguna razón para que un archivo de espacio de trabajo de Visual Studio Code (workspaces.json) o directorio (.vscode) o lo que sea que se coloque en el árbol de origen. Podría haberse colocado fácilmente en la configuración de su usuario.

Pensé que lo descubrimos hace más de 20 años, pero parece que algunas lecciones están condenadas a repetirse.

Smit-Tay
fuente
Los sistemas de control de código fuente como git y subversion son la única excepción a esta regla. E incluso podrían haberlo solucionado si lo hubieran pensado un poco.
Smit-Tay
En realidad, parece que hay algo conocido como código de "modo portátil". Visualstudio.com/docs/editor/portable No está claro si esto elimina todos los archivos generados en la fuente.
Smit-Tay
1

Aunque la pregunta es "¿qué es un espacio de trabajo?", Creo que la fuente de confusión es la expectativa de que los espacios de trabajo deberían comportarse más como "proyectos" en otros editores.

Entonces, para ayudar a todas las personas que aterrizan aquí debido a esta confusión, quería publicar el siguiente complemento para VS Code (no el mío), "Project Manager": https://marketplace.visualstudio.com/items?itemName=alefragnani .gerente de proyecto

Tiene una buena interfaz de usuario para administrar (guardar y abrir) proyectos de una sola carpeta:

Guardar proyectos:

ingrese la descripción de la imagen aquí

Proyectos abiertos con la paleta:

ingrese la descripción de la imagen aquí

Vea el proyecto actual en la barra de estado (haga clic para abrir la paleta del proyecto):

ingrese la descripción de la imagen aquí

Acceda a proyectos en la barra lateral:

ingrese la descripción de la imagen aquí

trusktr
fuente
1

A partir de mayo de 2018, parece que un espacio de trabajo en Visual Studio Code le permite tener acceso rápido a proyectos diferentes pero relacionados. Todo sin tener que abrir una carpeta diferente.

Y también puede tener múltiples espacios de trabajo. Vea las referencias aquí y obtendrá una imagen completa:

Referencia 1
Referencia 2

jet2016
fuente
0

Si el Código de Visual Studio es una instalación nueva;

  1. Haga clic en extensiones, busque "python" y haga clic en instalar

  2. Haga clic en ver -> explorador Si en ninguna carpeta se agregó una carpeta al área de trabajo (Archivo-> Agregar carpeta al área de trabajo)

  3. Si desea utilizar un entorno virtual de Python, haga clic en Archivo -> Preferencia -> configuración

Haga clic en "{} abrir configuración JSON" que se encuentra en la esquina superior derecha de la ventana, luego agregue la ruta al archivo python.exe que se encuentra en el entorno virtual

{
    "python.pythonPath": "C:\\PathTo\\VirtualENV\\python.exe"
}
  1. Inicie una nueva terminal y verifique que esté seleccionado el intérprete de Python correcto
Klllmmm
fuente
0

¿Alguna vez ha tenido que crear un nuevo directorio y abrir una nueva ventana de Visual Studio Code para un proyecto de prueba o para una característica que desea agregar a su proyecto principal? Ok, entonces necesitas un espacio de trabajo y suficiente CPU de alto uso ...

Solo quería mencionar un uso común de espacios de trabajo en Visual Studio Code además de todas las otras respuestas.

ashkan nasirzadeh
fuente