Che cos'è uno 'spazio di lavoro' nel codice di Visual Studio?


563

Non riesco proprio a credere di porre questa domanda, ma non sono stato in grado di trovare una definizione nella documentazione. Nel caso in cui non sia dolorosamente ovvio, sono (molto) nuovo a Visual Studio Code.

Ad esempio, Visual Studio Code parla dell'applicazione delle impostazioni a livello di utente a livello di area di lavoro .

Da una parte,

  • (a) potrebbe riferirsi a una directory di progetto che è stata aperta; o
  • (b) potrebbe riferirsi a tutto ciò che è stato aperto in una determinata finestra.

La pagina di riferimento sopra dice

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

30
Sento ancora che c'è di più in questa domanda. Sono nuovo di VS Code, ma non di programmazione. Ho pensato che uno spazio di lavoro fosse "semplicemente" la directory del progetto, come suggerisce l'OP. Tuttavia, se scelgo File --> Open Workspace, la finestra di dialogo Esplora file non mi consente semplicemente di "aprire" una cartella, devo trovare un file specifico. :(
Mike Williamson,

28
Ho la stessa domanda ... Sono 2 settimane in VS e lo adoro assolutamente, ma non ho ancora avvolto la mia testa su cosa siano esattamente le aree di lavoro e penso che stia dicendo che molte persone sembrano avere questo domanda. È necessaria una terminologia chiara.
ynamite,

2
Sono con voi ragazzi. Non sono chiaro la differenza tra una normale struttura di cartelle e quindi uno spazio di lavoro. Ho creato uno spazio di lavoro con VS Code ma non vedo alcuna differenza tranne un'icona di file diversa. So che le aree di lavoro sono copie locali di rami diversi ma una cartella standard per le modifiche separate non può fare la stessa cosa? Mi piacerebbe avere una documentazione su questo perché è molto difficile da trovare.
Daniel Jackson,

2
Sembra che ci sia un solo spazio di lavoro aperto per finestra.
Paul Price,

2
Mi chiedo come creo un nuovo spazio di lavoro vuoto. È un po 'strano che io possa aprire e salvare uno spazio di lavoro esistente, ma non chiuderlo per iniziare con uno vuoto ...
rantanplan

Risposte:


263

Cos'è uno spazio di lavoro?

Un progetto che consiste in una o più cartelle root, insieme a tutte le configurazioni del codice di Visual Studio che appartengono a quel progetto. Una "cartella principale" è la directory di livello superiore di un file system. Queste configurazioni includono dati come:

Perché un'area di lavoro è così confusa?

Visual Studio Code non utilizza il termine in modo coerente nell'interfaccia utente ( per risolvere questo problema ho aperto un problema di GitHub ). A volte fa riferimento a un'area di lavoro come sopra descritto, altre volte a un'area di lavoro come a un progetto che è specificamente associato a un .code-workspacefile.

Un buon esempio è il widget dei file recenti . Si noti nella schermata collegata che tutti i progetti sono raggruppati sotto la stessa voce "aree di lavoro", il che indicherebbe che tutto è presente un'area di lavoro. Ma ai progetti con un .code-workspacefile viene assegnato un suffisso "Area di lavoro", in contraddizione con l'intestazione e che indica che solo quei file sono in realtà aree di lavoro.

Che cos'è un .code-workspacefile?

Un file JSON con commenti che memorizza tutti i dati di configurazione sopra menzionati, oltre a:

  • la posizione di tutte le cartelle radice appartenenti a un'area di lavoro

Ho bisogno di un .code-workspacefile?

Solo se stai creando uno spazio di lavoro multi-root . Con uno spazio di lavoro multi-root, hai un singolo .code-workspacefile che apre tutte le cartelle root che desideri vengano visualizzate in Explorer (ovvero, non è necessario continuare ad aprire manualmente più cartelle). E tutte le impostazioni / configurazioni del codice di Visual Studio che si desidera applicare a quell'area di lavoro vengono ripristinate ogni volta che si apre quel file dell'area di lavoro.

Che dire dei progetti a cartella singola?

Tutto è automatizzato. Quando apri una cartella in Visual Studio Code e inizi a apportare modifiche all'editor che sono specificamente correlate al progetto su cui stai attualmente lavorando, Visual Studio Code crea automaticamente una .vscodecartella e la memorizza nella radice della cartella del progetto che " stai lavorando su. Questa .vscodecartella contiene file che memorizzano le modifiche apportate. Ad esempio, se si modificano le impostazioni di Visual Studio Code che si desidera applicare solo al progetto corrente, Visual Studio Code crea un settings.jsonfile con tali aggiornamenti e quel file viene archiviato nella .vscodecartella.

È possibile creare un .code-workspacefile che include una sola cartella principale, se proprio lo si desidera. Saresti quindi in grado di aprire direttamente la cartella del progetto o aprire il file dell'area di lavoro. Ma non riesco a pensare a nessun motivo per cui questo sarebbe utile.

Come faccio a creare un .code-workspacefile?

Vai al menu FileSalva area di lavoro come ...

Come faccio ad aggiungere cartelle root in un'area di lavoro?

Vai al menu FileAggiungi cartella alla spazio di lavoro ... .

Come posso aprire uno spazio di lavoro definito da un .code-workspacefile?

Fare doppio clic sul .code-workspacefile. Il codice di Visual Studio non aprirà il file effettivo. Invece, leggerà quel file e aprirà le cartelle che appartengono a quell'area di lavoro. In alternativa, andare al menu FileApri spazio di lavoro ... .

Come posso visualizzare il .code-workspacefile attuale ?

Vai al menu FileApri ... e seleziona il .code-workspacefile di destinazione . In alternativa, aprire l'area di lavoro associata a quel file e quindi aprire la tavolozza dei comandi , cercare e selezionare il comando Aree di lavoro: Apri file di configurazione dell'area di lavoro .


19
Grazie, @jabacchetta. Ho fatto questa domanda due anni fa. Non molto tempo dopo, penso che la definizione di WS sia effettivamente cambiata, quindi è stata una sorta di domanda sugli zombi. Ma ho ottenuto tonnellate di rappresentanti SO in base alla confusione della gente. Devo confessare che è stato un po 'bello guardare i punti entrare e non mi sono sentito molto motivato a seguire la discussione. Ma la tua risposta è così completa e chiara e hai aperto un problema per convincere la gente del codice ad affrontare questa confusione. Sento che sarebbe molto scortese non accettare questa risposta. Grazie!
Nat Kuhn,

Penso che il commento qui sia il posto migliore. Questo mi ha permesso di chiarire un po 'le cose in me stesso dopo aver realizzato un problema che avevo sulla scelta del giusto interprete Python ( stackoverflow.com/questions/54106071/… ), ma ora ho vs codice che si lamenta dicendo che in launch.json gli "args" la proprietà non è consentita, il file è stato prodotto automaticamente e non riesco a trovare un programma per quell'oggetto
Carmine Tambascia

Quando si salva un 'Area di lavoro' in Linux, non dimenticare di aggiungere l'estensione .code-workspace al nome dell'area di lavoro. ad es. [myworkspace.code-workspace] Continuavo a dover ricreare l'area di lavoro perché "open" non vedeva alcun file di area di lavoro. (forse qualcosa da raccomandare / estrarre la richiesta di compilazione automatica se nessuna estensione è impostata su Salva ...)
JI-Web

1
Un motivo per cui potresti creare un .code-workspacefile per una singola cartella radice è che ci sono alcune impostazioni (ad es. files.associations) Che VSCode non rispetterà in a .vscode/settings.json, ma onorerà in uno spazio di lavoro esplicito.
Carl Meyer

133

È possibile salvare le impostazioni a livello di area di lavoro e è possibile aprire più cartelle in un'area di lavoro. Se vuoi fare una di queste cose, usa un'area di lavoro, altrimenti apri una cartella.

Un'area di lavoro di Visual Studio Code è un elenco di cartelle e file di un progetto. Un'area di lavoro può contenere più cartelle. È possibile personalizzare le impostazioni e le preferenze di un'area di lavoro.


Penso che la definizione possa essere cambiata da quando la domanda è stata posta per la prima volta, ma apprezzo la risposta e la sto accettando!
Nat Kuhn,

1
Sono nuovo di VS Code, ma non riesco a vedere un modo per aprire uno spazio di lavoro per progetto. Se apro un nuovo file e provo a salvare un nuovo spazio di lavoro, sposto invece il file dello spazio di lavoro esistente. Quindi non penso sia corretto quel workspace == progetto.
Åsmund,

8
"È possibile salvare le impostazioni a livello di area di lavoro e aprire più cartelle in un'area di lavoro. Se si desidera eseguire una di queste operazioni, utilizzare un'area di lavoro." Tecnicamente non è necessario uno spazio di lavoro per salvare le impostazioni a livello di cartella. Questo può essere fatto solo con settings.jsonall'interno di una cartella .vscode nella relativa cartella. Tuttavia, se si desidera più cartelle in un'area di lavoro e impostazioni applicabili a tutti, è necessario utilizzare un'area di lavoro.
Gandalf Saxe,

2
A me sembra una soluzione in Visual Studio
Alexander Derck,

2
In che modo questa è la risposta accettata quando non fornisce una definizione di "spazio di lavoro", qual è la domanda del PO?
Iliyan Georgiev,

84

Uno spazio di lavoro è solo un file di testo con estensione (.code-workspace). Puoi guardarlo aprendolo con un editor di testo. Anch'io ero frustrato dall'idea di un'area di lavoro e da come è implementata in Visual Studio Code. Ho trovato un metodo adatto a me.

Inizia con una singola cartella "progetto".

Apri il codice di Visual Studio e chiudi qualsiasi area di lavoro aperta o file o cartelle. Dovresti vedere solo "OPEN EDITORS" e "NO FOLDER OPENED" in EXPLORER.

Dalla barra dei menu * → FileApri cartella ... . Passare al punto in cui si desidera inserire la cartella e fare clic con il tasto destro per aprire una nuova cartella. Assegnalo al nome che preferisci, quindi fai clic su "Seleziona cartella" . Apparirà in * Visual Studio Code Explorer.

Ora dal menù FileSalva area di lavoro con nome ... . Assegna un nome allo spazio di lavoro e salvalo dove vuoi conservare tutte le aree di lavoro (non necessariamente dove si trovano le cartelle del tuo progetto). Ho messo tutto il mio in una cartella chiamata "Area di lavoro del codice di Visual Studio".

Verrà salvato come .code-workspacefile ( ) ed è solo un indice di tutti i file e le cartelle che contiene (o punta a) ovunque si trovino sul tuo disco rigido. Puoi guardarlo aprendolo con un editor di testo. Chiudi la cartella che hai creato e chiudi il codice di Visual Studio.

Ora trova il "file" dell'area di lavoro e fai doppio clic su di esso. Questo aprirà il codice di Visual Studio con la cartella che hai creato nell'area di lavoro. In alternativa, puoi aprire il codice di Visual Studio e utilizzare "Apri spazio di lavoro" .

Tutte le cartelle create all'interno dell'area di lavoro di Visual Studio Code saranno all'interno della prima cartella. Se si desidera aggiungere altre cartelle di livello superiore, crearle prima dove si desidera e quindi utilizzare "Aggiungi all'area di lavoro ..." dal codice di Visual Studio.


Non sono ancora sicuro che questo sia il metodo "migliore" o "corretto" che MS intendeva usare, ma a) che dovrebbe essere documentato eb) dovresti entrare a far parte di Mensa per essere riuscito a capire qualcosa che funziona e sembra il più logico possibile. Sono passato a VS Code da PHPStorm a causa delle enormi dimensioni di quest'ultimo, ma per un IDE che è così leggero e apparentemente fantastico a prima vista, ora sono assolutamente sconcertato da questo incredibile incubo UX! Comunque TYVM per il suggerimento e le scuse per il rant :-)
Kenny83

Aspetta, quindi stai dicendo che il file dello spazio di lavoro non deve trovarsi nella stessa cartella della (presumibilmente) cartella del progetto associata ? È considerata una buona pratica? Immagino che, ad esempio, potrebbe essere creato un file dello spazio di lavoro che è condiviso da tutti gli ingegneri che lavorano allo stesso progetto (per consentire uno stile condiviso, ecc.), Quindi le impostazioni dell'utente possono sovrascriverlo individualmente come desiderano. Perché questo sia fattibile, sembra che il file dell'area di lavoro dovrebbe trovarsi nella stessa cartella del progetto, giusto? Immagino di avere 2 domande: (1) Cosa è fattibile / permesso ?, e (2) Qual è la migliore pratica?
Mike Williamson,

Ciò causerà problemi alle persone che lavorano su più progetti contemporaneamente.
Shahir Ansari,

61

Il titolo e la successiva domanda nel PO sembrano ridursi a:

  1. Che cos'è uno spazio di lavoro in VS Code?
  2. Come funzionano le impostazioni dell'area di lavoro?

Risposta breve:

Un'area di lavoro è una raccolta virtuale di cartelle aperte simultaneamente in VSCode e definite in un .code-workspacefile. Aprendo questo file si aprirà automaticamente la raccolta di cartelle. Questo è chiamato uno spazio di lavoro "multi-root".

Il .code-workspacefile definisce anche le impostazioni dell'area di lavoro utilizzate dall'istanza di VSCode in cui l'area di lavoro è aperta.

Quando uno spazio di lavoro non è definito, ovvero si apre una cartella da solo, è possibile creare "impostazioni dello spazio di lavoro" che vengono salvate in un .vscode\settings.jsonfile nella radice della struttura di quella cartella.


Più in dettaglio:

VSCode usa la parola "spazio di lavoro" un po 'ambiguo in alcuni punti. Il primo uso da considerare è in quello che viene chiamato uno spazio di lavoro multi-root .

Uno spazio di lavoro multi-root è un insieme di cartelle (le "radici") che vengono aperte collettivamente in un'istanza di VSCode. Non è necessario che queste cartelle condividano le cartelle principali; in effetti questo è il punto poiché VSCode utilizza normalmente una singola cartella nella barra laterale di Explorer.

Uno spazio di lavoro multi-root è definito da un .code-workspacefile (JSON) che contiene sia l'elenco delle cartelle da includere nell'area di lavoro sia le impostazioni VSCode.

Riguardo a quelle impostazioni dell'area di lavoro ...

Quando apri File> Preferenze> Impostazioni viene visualizzato l'editor delle impostazioni. Come minimo dovresti vedere una scheda IMPOSTAZIONI UTENTE . Queste sono le impostazioni VSCode universali per il tuo account utente sul tuo computer locale. In Windows questi vengono salvati in %APPDATA%\Code\User\settings.json.

Le singole cartelle (spesso ciascuna delle cartelle "root" in un'area di lavoro) potrebbero avere una .vscodecartella con il proprio settings.jsonfile. Se aperto singolarmente, ovvero non come parte di un'area di lavoro, il contenuto di questi settings.jsonfile viene presentato nella scheda IMPOSTAZIONI SPAZIO DI LAVORO e TUTTE le impostazioni in quel file vengono utilizzate dall'istanza VSCode in esecuzione.

Quando si apre uno spazio di lavoro multi-root, le cose si comportano diversamente. Innanzitutto, la scheda IMPOSTAZIONI SPAZIO DI LAVORO mostra le opzioni impostate nel .code-workspacefile. In secondo luogo, qualsiasi cartella con un settings.jsonfile apparirà sotto una nuova scheda IMPOSTAZIONI CARTELLA . Tenere presente che, in uno spazio di lavoro multi-root, viene utilizzato solo un numero limitato di impostazioni da ciascuna cartella settings.json. Ti suggerisco di aprire il link sopra per leggere più avanti.


Esiste una documentazione che specifica l'ubicazione di settings.jsonessere diverso da %APPDATA%\Code\User? Nel mio caso, quando inserisco questo file in una cartella, alcune impostazioni non vengono applicate come quando il file si trova nella posizione "predefinita" in %APPDATA%.
Danijel,

1
Per quanto posso vedere, no. La documentazione ha descritto il percorso "predefinito" per Windows come %APPDATA%\Code\User. Non ho notato nulla che suggerisca che la %APPDATA%posizione stessa sia utilizzata. code.visualstudio.com/docs/getstarted/…
Charlie

1
C'è un'altra domanda qui su SO riguardo alla modifica della posizione della posizione delle impostazioni dell'utente e una risposta suggerisce che è necessario sovrascrivere la posizione predefinita con un parametro della riga di comando: stackoverflow.com/questions/44575312/…
Charlie Joynt

Charlie, se non c'è documentazione, su cosa basi la tua risposta? Codice sorgente?
Danijel,

La mia risposta si basa sulla documentazione disponibile e sull'esperienza dell'utente finale. Non vedo documentazione sulla possibilità di specificare la posizione (predefinita) del file di configurazione dell'utente ; in altre parole, non riesco a trovare nulla che suggerisca che %APPDATA%è una posizione valida. Sembra che il tuo test indichi che i file in quella cartella funzionano?
Charlie Joynt,

22

L'utilità principale di un'area di lavoro (e forse l'unica) è quella di consentire l'aggiunta di più cartelle indipendenti che compongono un progetto. Per esempio:

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

Quindi puoi raggrupparli in uno spazio di lavoro per un progetto specifico invece di dover aprire più cartelle.

Puoi saperne di più qui .


2
Questa è una grande distinzione. Uso già aree di lavoro a cartella singola con più progetti aprendo una cartella con il file .sln che fa riferimento alle sottodirectory con i progetti inclusi. Ma sono tutti correlati con una gerarchia di dipendenze mantenuta dalla soluzione. Uno spazio di lavoro multi-root non avrebbe una relazione del genere.
Melston,

2
Questa è la risposta migliore in quanto si rivolge al "perché" uno spazio di lavoro dovrebbe essere utilizzato. Puoi trovare tutti i tipi di definizioni tecniche intorno alla meccanica di un'area di lavoro, ma era difficile capire perché avrei voluto usarlo. L'area di lavoro è simile a una "soluzione" in Visual Studio Professional.
FrankO

1
Molto ben messo. Questo è quello che stavo cercando.
Peter Mortensen,

9

In alcune indagini, la risposta sembra essere (a).

Quando vado a modificare le impostazioni, il file delle impostazioni passa in una directory .vscode nella directory del mio progetto.


2
Non è solo 1 cartella però. È possibile configurare un'area di lavoro per contenere più directory. Quello che mi chiedevo è quale sia la differenza tra un banco di lavoro e uno spazio di lavoro.
Marte

7

Ho appena installato Visual Studio Code v1.25.1. su un computer Windows 7 Professional SP1. Volevo capire le aree di lavoro in dettaglio, quindi ho trascorso alcune ore a capire come funzionano in questa versione di Visual Studio Code. Pensavo che i risultati della mia ricerca potessero interessare la comunità.

Innanzitutto, le aree di lavoro vengono definite da Microsoft nella documentazione di Visual Studio Code come "aree di lavoro multi-root". In parole povere ciò significa "un ambiente di lavoro multi-cartella (AKA" root ")". Un'area di lavoro di Visual Studio Code è semplicemente una raccolta di cartelle: qualsiasi raccolta desiderata, nell'ordine desiderato. La tipica raccolta di cartelle costituisce un progetto di sviluppo software. Tuttavia, una raccolta di cartelle potrebbe essere utilizzata per qualsiasi altra cosa per la quale viene sviluppato il codice software.

La meccanica alla base di come Visual Studio Code gestisce le aree di lavoro è un po 'complicata. Penso che il modo più rapido per comunicare ciò che ho imparato sia fornendoti una serie di istruzioni che puoi utilizzare per vedere come le aree di lavoro funzionano sul tuo computer. Presumo che tu stia iniziando con una nuova installazione di Visual Studio Code v1.25.1. Se stai usando una versione di produzione di Visual Studio Code, non ti consiglio di seguire le mie istruzioni perché potresti perdere una parte o tutta la tua configurazione di Visual Studio Code! Se è già installata una versione di prova di Visual Studio Code v1.25.1, ** e si è disposti a perdere qualsiasi configurazione già esistente, è necessario eseguire le seguenti operazioni per ripristinare il codice di Visual Studio in un nuovo stato di installazione:

Elimina la seguente cartella (se esiste):

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

Aggiungerai cartelle al codice di Visual Studio per creare un nuovo spazio di lavoro. Se una delle cartelle che si intende utilizzare per creare questo nuovo spazio di lavoro è stata precedentemente utilizzata con Visual Studio Code, eliminare la sottocartella ".vscode" (se esiste) all'interno di ciascuna delle cartelle che verranno utilizzate per creare il nuovo spazio di lavoro .

Avvia il codice di Visual Studio. Se viene visualizzata la pagina di benvenuto , chiuderla. Fare lo stesso per il Pannello (un riquadro orizzontale) se viene visualizzato. Se hai ricevuto un messaggio che Git non è installato fai clic su "Ricordamelo più tardi". Se visualizzato, chiudere anche la tabella codici "Senza titolo" che è stata avviata come tabella codici predefinita. Se il riquadro Explorer non viene visualizzato, fai clic su "Visualizza" nel menu principale, quindi fai clic su "Explorer" per visualizzare il riquadro Explorer. All'interno del riquadro Explorer dovresti vedere tre (3) intestazioni di visualizzazione: Apri editor, Nessuna cartella aperta e Contorno (situato nella parte inferiore del riquadro Explorer). Assicurarsi che vengano visualizzati almeno gli editor aperti e nessuna intestazione della vista aperta cartella .

Visual Studio Code visualizza un pulsante che dice "Apri cartella". Fai clic su questo pulsante e seleziona una cartella a tua scelta. Il codice di Visual Studio verrà aggiornato e il nome della cartella selezionata avrà sostituito il nome della vista "Nessuna cartella aperta". Tutte le cartelle e i file presenti nella cartella selezionata verranno visualizzati sotto il nome Visualizza.

Ora apri il file delle impostazioni delle preferenze del codice di Visual Studio . Ci sono molti modi per farlo. Userò il più semplice per ricordare qual è il menu FilePreferenzeImpostazioni. Il file delle impostazioni viene visualizzato in due colonne. La colonna di sinistra è un elenco di sola lettura dei valori predefiniti per ogni funzionalità del codice di Visual Studio. La colonna di destra viene utilizzata per elencare i tre (3) tipi di impostazioni utente. A questo punto del test verranno elencate solo due impostazioni utente: Impostazioni utente e Impostazioni area di lavoro. Le Impostazioni utente sono visualizzate per impostazione predefinita. Questo visualizza i contenuti del tuo file .json Impostazioni utente. Per scoprire dove si trova questo file, passa il mouse sopra l'elenco "Impostazioni utente" che appare sotto la vista OPEN EDITORS in Explorer. Questo elenco nella vista OPEN EDITORS viene automaticamente selezionato quando viene selezionata l'opzione "Impostazioni utente" nella colonna di destra. Il percorso dovrebbe essere:

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

Questo file settings.json è il punto in cui sono archiviate le Impostazioni utente per Visual Studio Code.

Ora fai clic sull'opzione Impostazioni area di lavoro nella colonna di destra dell'elenco Preferenze. Quando lo fai, una sottocartella denominata ".vscode" viene automaticamente creata nella cartella che hai aggiunto a Esplora pochi passi fa. Guarda l'elenco della tua cartella in Explorer per confermare che la sottocartella .vscode è stata aggiunta. All'interno della nuova sottocartella .vscode è presente un altro file settings.json. Questo file contiene le impostazioni dell'area di lavoro per la cartella aggiunta a Explorer pochi passi fa.

A questo punto hai una singola cartella le cui Impostazioni utente sono memorizzate in:

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

e le cui impostazioni dell'area di lavoro sono archiviate in:

C:\TheLocationOfYourFolder\settings.json

Questa è la configurazione quando una singola cartella viene aggiunta a una nuova installazione di Visual Studio Code. Le cose diventano confuse quando aggiungiamo una seconda (o maggiore) cartella. Questo perché stiamo modificando le Impostazioni utente e le Impostazioni dell'area di lavoro di Visual Studio Code per adattarle a più cartelle. In un ambiente a cartella singola sono necessari solo due file settings.json come elencato sopra. Ma in un ambiente a più cartelle viene creata una sottocartella .vscode in ogni cartella aggiunta a Explorer e viene creato un nuovo file, "workspaces.json", per gestire l'ambiente a più cartelle. Il nuovo file "workspaces.json" viene creato su:

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

"% Workspaces_id%" è una cartella con un nome univoco di tutti i numeri.

Nella colonna di destra Preferenze ora vengono visualizzate tre opzioni di impostazione utente: Impostazioni utente, Impostazioni area di lavoro e Impostazioni cartella. La funzione di Impostazioni utente rimane la stessa di un ambiente a cartella singola. Tuttavia, il file delle impostazioni dietro le Impostazioni dell'area di lavoro è stato modificato dal file settings.json nella sottocartella .vscode della singola cartella nel file workspaces.json situato nel percorso del file workspaces.json mostrato sopra. Il file settings.json situato nella sottocartella .vscode di ogni cartella è ora controllato da una terza impostazione utente, Opzioni cartella. Questo è un elenco di selezione a discesa che consente la gestione del file settings.json di ogni cartella situato nella sottocartella .vscode di ogni cartella. Nota: la sottocartella .vscode non verrà creata nelle cartelle explorer appena aggiunte fino a quando la cartella appena aggiunta non sarà stata selezionata almeno una volta nell'impostazione utente delle opzioni cartella.

Si noti che il nome della cartella singola Explorer è stato modificato in "UNTITLED (WORKSPACE)." Questo indica quanto segue:

  1. È stato creato uno spazio di lavoro multi-cartella con il nome "UNTITLED (WORKSPACE)
  2. L'area di lavoro è denominata "UNTITLED (WORKSPACE)" per comunicare che l'area di lavoro non è stata ancora salvata come file separato, unico, dell'area di lavoro
  3. Lo spazio di lavoro UNTITLED (WORKSPACE) può avere cartelle aggiunte e rimosse da esso ma funzionerà come SOLO ambiente dell'area di lavoro per Visual Studio Code

La piena funzionalità delle aree di lavoro di Visual Studio Code viene realizzata solo quando un'area di lavoro viene salvata come file che può essere ricaricato secondo necessità. Ciò fornisce la possibilità di creare spazi di lavoro multi-cartella unici (ad es. Progetti) e salvarli come file per un uso successivo! Per fare ciò selezionare il menu FileSalva area di lavoro con nomedal menu principale e salvare la configurazione corrente dell'area di lavoro come un unico file dell'area di lavoro. Se devi creare uno spazio di lavoro "da zero", prima salva la configurazione corrente dello spazio di lavoro (se necessario), quindi fai clic con il pulsante destro del mouse sul nome di ogni cartella Explorer e fai clic su "Rimuovi cartella dallo spazio di lavoro". Quando tutte le cartelle sono state rimosse dallo spazio di lavoro, aggiungere le cartelle necessarie per il nuovo spazio di lavoro. Al termine dell'aggiunta di nuove cartelle, è sufficiente salvare il nuovo spazio di lavoro come nuovo file dello spazio di lavoro.

Una nota importante : Visual Studio Code non "ripristina" in modalità cartella singola quando rimane una sola cartella in Explorer o quando tutte le cartelle sono state rimosse da Explorer quando si crea un nuovo spazio di lavoro "da zero". La configurazione dell'area di lavoro multi-cartella che utilizza tre preferenze utente rimane attiva. Ciò significa che, a meno che non si seguano le istruzioni all'inizio di questo post, Visual Studio Code non potrà mai tornare a una modalità operativa a cartella singola, rimarrà sempre in modalità area di lavoro a più cartelle.


Per me la cartella .vscode non è stata creata fino a quando non ho apportato una modifica a una delle Impostazioni del posto di lavoro, ma per il resto questa scrittura è stata sicuramente utile nel darmi una migliore comprensione di come funziona tutto.
James Toomey,

2

Lo chiamano uno spazio di lavoro multi-root e con ciò puoi eseguire facilmente il debug perché:

"Con aree di lavoro multi-root, Visual Studio Code cerca in tutte le cartelle i file di configurazione di debug launch.json e li visualizza con il nome della cartella come suffisso."

Supponi di avere un server e una cartella client all'interno della cartella dell'applicazione. Se desideri eseguirne il debug insieme, senza uno spazio di lavoro devi avviare due istanze di Visual Studio Code, una per il server, una per il client e devi passare avanti e indietro.

Ma in questo momento (1.24) non è possibile aggiungere un singolo file a un'area di lavoro, solo cartelle, il che è un po ' scomodo .


2

Quindi, ancora una volta la lezione di non inquinare l'albero dei sorgenti di un progetto con artefatti che non sono direttamente correlati a quel progetto viene ignorata.

Non v'è nulla ragione di un file Visual Studio Codice di lavoro (workspaces.json) o una directory (.vscode) o qualsiasi altra cosa da collocare nella struttura di origine. Potrebbe essere stato facilmente inserito nelle impostazioni dell'utente.

Pensavo di averlo scoperto circa 20 anni fa, ma sembra che alcune lezioni siano destinate a essere ripetute.


i sistemi di controllo del codice sorgente come git e sovversione sono l'unica eccezione a questa regola. E anche loro avrebbero potuto aggirarlo se ci avessero pensato un po '.
Smit-Tay,

In realtà sembra che ci sia qualcosa noto come "modalità portatile" code.visualstudio.com/docs/editor/portable Non è chiaro se questo elimina tutti i file generati nell'origine.
Smit-Tay,

1

Sebbene la domanda sia "cos'è uno spazio di lavoro?", Ritengo che la fonte di confusione sia l'aspettativa che gli spazi di lavoro debbano comportarsi più come "progetti" in altri editor.

Quindi, per aiutare tutte le persone che atterrano qui a causa di questa confusione, ho voluto pubblicare il seguente plugin per VS Code (non mio), "Project Manager": https://marketplace.visualstudio.com/items?itemName=alefragnani .responsabile del progetto

Ha una bella interfaccia utente per la gestione (salvataggio e apertura) di progetti a cartella singola:

Salva progetti:

inserisci qui la descrizione dell'immagine

Apri progetti con la tavolozza:

inserisci qui la descrizione dell'immagine

Vedere il progetto corrente nella barra di stato (fare clic per aprire la tavolozza del progetto):

inserisci qui la descrizione dell'immagine

Accedi ai progetti nella barra laterale:

inserisci qui la descrizione dell'immagine


1

A partire da maggio 2018, sembra che un'area di lavoro in Visual Studio Code ti consenta di accedere rapidamente a progetti diversi ma correlati. Tutto senza dover aprire una cartella diversa.

E puoi avere anche più aree di lavoro. Vedi i riferimenti qui e otterrai il quadro completo:

Riferimento 1
Riferimento 2


0

Se il codice di Visual Studio è una nuova installazione;

  1. Fai clic su estensioni, cerca "Python" e fai clic su Installa

  2. Fare clic su Visualizza -> explorer Se in nessuna cartella è stata aggiunta una cartella all'Area di lavoro (File-> Aggiungi cartella all'Area di lavoro)

  3. Se si desidera utilizzare un ambiente virtuale Python, fare clic su File -> Preferenze -> impostazioni

Fai clic su "{} apri le impostazioni JSON" che si trova nell'angolo in alto a destra della finestra, quindi aggiungi il percorso al file python.exe che si trova nell'ambiente virtuale

{
    "python.pythonPath": "C:\\PathTo\\VirtualENV\\python.exe"
}
  1. Avvia un nuovo terminale e verifica che sia selezionato l'interprete Python corretto

0

Devi mai creare una nuova directory e aprire una nuova finestra del codice di Visual Studio per un progetto di test o per una funzionalità che desideri aggiungere al tuo progetto principale? Ok, quindi hai bisogno di un'area di lavoro e di un utilizzo della CPU sufficiente ...

Volevo solo menzionare un uso comune delle aree di lavoro nel codice di Visual Studio oltre a tutte le altre risposte.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.