Что такое «рабочее пространство» в коде Visual Studio?

563

Я не могу поверить, что задаю этот вопрос, но я не смог найти определение в документации. В случае, если это не до боли очевидно, я (очень) новичок в Visual Studio Code.

Например, код Visual Studio говорит о применении настроек на уровне пользователя по сравнению с уровнем рабочей области .

С одной стороны,

  • (а) он может ссылаться на каталог проекта, который вы открыли; или
  • (б) это может относиться ко всему, что вы открыли в конкретном окне.

На указанной выше странице написано

"Workspace: These settings are stored inside your workspace
in a .vscode folder and only apply when the workspace is opened."
Нат Кун
источник
30
Я все еще чувствую, что есть еще один вопрос к этому вопросу. Я новичок в VS Code, но не в кодировании. Я полагал, что рабочее пространство является «просто» каталогом проекта, как предполагает OP. Однако, если я выберу File --> Open Workspace, диалоговое окно проводника файлов не позволяет мне просто «открыть» папку, я должен найти определенный файл. :(
Майк Уильямсон
28
У меня тот же вопрос ... У меня 2 недели в VS, и мне это очень нравится, но я до сих пор не могу понять, что же такое Workspaces, и я думаю, что это говорит о том, что довольно много людей, кажется, имеют это вопрос. Необходима четкая терминология.
ynamite
2
Я с вами, ребята. Мне неясно, чем отличается обычная структура папок от рабочей области. Я сделал рабочую область с VS Code, но не вижу никакой разницы, кроме другого значка файла. Я знаю, что рабочие пространства являются локальными копиями разных веток, но разве стандартная папка для отдельных изменений не может сделать то же самое? Мне нужна документация по этому вопросу, так как ее очень трудно найти.
Даниэль Джексон,
2
Похоже, что в каждом окне может быть открыто только одно рабочее пространство.
Пол Прайс
2
Интересно, как я создаю новое пустое рабочее пространство. Немного странно, что я могу открыть и сохранить существующее рабочее пространство, но не закрывать его, чтобы начать с пустого ...
rantanplan

Ответы:

263

Что такое рабочее пространство?

Проект, который состоит из одной или нескольких корневых папок, а также всех конфигураций кода Visual Studio, которые принадлежат этому проекту. «Корневая папка» - это каталог верхнего уровня файловой системы. Эти конфигурации включают в себя такие данные, как:

Почему Рабочая область так запутана?

Visual Studio Code не использует этот термин последовательно в пользовательском интерфейсе ( для решения этой проблемы я открыл проблему GitHub ). Иногда это относится к рабочему пространству, как описано выше, а иногда оно относится к рабочему пространству как к проекту, который конкретно связан с .code-workspaceфайлом.

Хорошим примером является виджет последних файлов . Обратите внимание, что на связанном скриншоте все проекты сгруппированы под одним и тем же заголовком «Рабочие пространства», что указывает на наличие всего рабочего пространства. Но затем проектам с .code-workspaceфайлом присваивается суффикс «Рабочая область», что противоречит заголовку и указывает, что только эти файлы фактически являются рабочими пространствами.

Что такое .code-workspaceфайл?

JSON с комментариями файл , который хранит все данные конфигурации , упомянутой выше, в дополнение к:

  • расположение всех корневых папок, принадлежащих рабочей области

Мне нужен .code-workspaceфайл?

Только если вы создаете многокорневое рабочее пространство . В рабочей среде с несколькими корневыми .code-workspaceфайлами у вас есть один файл, который открывает все корневые папки, которые вы хотите отобразить в проводнике (то есть вам не нужно открывать несколько папок вручную). И все параметры / конфигурации кода Visual Studio, которые вы хотите применить к этому рабочему пространству, восстанавливаются каждый раз, когда вы открываете этот файл рабочего пространства.

А как насчет проектов с одной папкой?

Все автоматизировано. Когда вы открываете папку в Visual Studio Code и начинаете вносить изменения в редактор, которые конкретно связаны с проектом, над которым вы сейчас работаете, Visual Studio Code автоматически создает .vscodeпапку и сохраняет ее в корне папки проекта, которую вы ' работает над В этой .vscodeпапке есть файлы, в которых хранятся сделанные вами изменения. Например, если вы измените параметры кода Visual Studio , которые хотите применить только к текущему проекту, код Visual Studio создаст settings.jsonфайл с этими обновлениями, и этот файл будет сохранен в .vscodeпапке.

Вы можете создать .code-workspaceфайл, содержащий только одну корневую папку, если вы действительно этого хотите. После этого вы сможете либо открыть папку проекта напрямую, либо открыть файл рабочей области. Но я не могу думать ни о какой причине, почему это было бы полезно.

Как мне создать .code-workspaceфайл?

Зайдите в меню ФайлСохранить рабочее пространство как ...

Как добавить корневые папки в рабочую область?

Перейти в меню ФайлДобавить папку в рабочую область ... .

Как открыть рабочее пространство, определенное .code-workspaceфайлом?

Дважды щелкните .code-workspaceфайл. Код Visual Studio не будет открывать фактический файл. Вместо этого он прочитает этот файл и откроет папки, принадлежащие этому рабочему пространству. В качестве альтернативы, перейдите в меню FileOpen Workspace ... .

Как посмотреть фактический .code-workspaceфайл?

Зайдите в меню ФайлОткрыть ... и выберите целевой .code-workspaceфайл. Либо откройте рабочее пространство, связанное с этим файлом, а затем откройте командную палитру , найдите и выберите команду « Рабочие пространства: открыть файл конфигурации рабочего пространства» .

jabacchetta
источник
19
Спасибо, @jabacchetta. Я задал этот вопрос два года назад. Вскоре после этого, я думаю, что определение WS действительно изменилось, так что это был вопрос зомби. Но я получил тонны SO, основываясь на путанице людей. Я должен признаться, что было приятно наблюдать, как обсуждаются вопросы, и у меня не было особой мотивации следить за обсуждением. Но ваш ответ настолько полон и ясен, и вы открыли проблему, чтобы заставить людей кода устранить эту путаницу. Я чувствую, что было бы очень недопустимо не принимать этот ответ. Спасибо!
Nat Kuhn
Я думаю, что комментарии здесь - лучшее место. Это позволило мне кое-что прояснить в себе после того, как я осознал проблему , связанную с выбором правильного интерпретатора Python ( stackoverflow.com/questions/54106071/… ), но теперь у меня есть код, жалующийся на то, что в launch.json "args" Свойства не разрешены, эти файлы были созданы автоматически, и я не могу найти учебный план для этого объекта
Кармин Тамбаскиа
При сохранении «Рабочего пространства» в Linux не забудьте добавить расширение .code-workspace к имени Рабочего пространства. Например, [myworkspace.code-workspace] Мне постоянно приходилось заново создавать рабочее пространство, так как «open» не мог видеть никаких файлов рабочего пространства. (может быть, что-то, чтобы рекомендовать / вытянуть запрос на автоматическое заполнение, если расширение не установлено в Save ...)
JI-Web
1
Одна из причин, по которой вы можете создать .code-workspaceфайл для одной корневой папки, заключается в том, что существуют определенные настройки (например, files.associations), которые VSCode не будет учитывать в .vscode/settings.json, но которые будет учитывать в явном рабочем пространстве.
Карл Мейер
133

Вы можете сохранить настройки на уровне рабочей области и открыть несколько папок в рабочей области. Если вы хотите сделать что-то из этого, используйте рабочее пространство, в противном случае просто откройте папку.

Рабочая область кода Visual Studio - это список папок и файлов проекта. Рабочая область может содержать несколько папок. Вы можете настроить параметры и предпочтения рабочего пространства.

bonehelmet
источник
Я думаю, что определение, возможно, изменилось, так как вопрос был сначала поставлен, но я ценю ответ, и я принимаю это!
Nat Kuhn
1
Я новичок в VS Code, но я не вижу способа открыть одно рабочее пространство на проект. Если я открываю новый файл и пытаюсь сохранить новое рабочее пространство, я перемещаю вместо него существующий файл рабочего пространства. Поэтому я не думаю, что это правильно, что рабочая область == проект.
Осмунд
8
«Вы можете сохранить настройки на уровне рабочего пространства и открыть несколько папок в рабочем пространстве. Если вы хотите сделать что-то из этого, используйте рабочее пространство». Технически вам не нужно рабочее пространство для сохранения настроек на уровне папок. Это можно сделать с settings.jsonпомощью папки .vscode в соответствующей папке. Однако если вам нужно несколько папок в рабочем пространстве и параметры, которые применяются ко всем, вам придется использовать рабочее пространство.
Гэндальф Сакс
2
Для меня это звучит как решение в Visual Studio
Александр Дерк,
2
Как это является принятым ответом, если он не дает определения «рабочего пространства», что является вопросом ОП?
Илиян Георгиев
84

Рабочая область - это просто текстовый файл с расширением (.code-workspace). Вы можете посмотреть на это, открыв его в текстовом редакторе. Я тоже был разочарован идеей рабочей области и ее реализацией в коде Visual Studio. Я нашел метод, который мне подходит.

Начните с одной папки проекта.

Откройте код Visual Studio и закройте все открытые рабочие пространства, файлы или папки. Вы должны видеть только «ОТКРЫТЫЕ РЕДАКТОРЫ» и «НЕ ОТКРЫТА ПАПКА» ​​в EXPLORER.

Из строки меню * → ФайлОткрыть папку ... . Перейдите туда, куда вы хотите поместить свою папку, и щелкните правой кнопкой мыши, чтобы открыть новую папку. Назовите его как хотите, затем нажмите «Выбрать папку» . Он появится в проводнике кода Visual Studio.

Теперь из меню FileSave Workspace As ... . Назовите рабочую область и сохраните ее там, где вы хотите сохранить все свои рабочие области (не обязательно там, где находятся папки вашего проекта). Я положил все свои в папку под названием «Рабочая область кода Visual Studio».

Он будет сохранен как ( .code-workspace) файл и является просто индексом для всех файлов и папок, которые он содержит (или указывает на), где бы они ни находились на вашем жестком диске. Вы можете посмотреть на это, открыв его в текстовом редакторе. Закройте созданную папку и закройте код Visual Studio.

Теперь найдите свой файл рабочей области и дважды щелкните по нему. Откроется код Visual Studio с папкой, созданной в рабочей области. Или вы можете открыть Visual Studio Code и использовать «Open Workspace» .

Все папки, созданные в рабочей области кода Visual Studio, будут находиться в вашей первой папке. Если вы хотите добавить больше папок верхнего уровня, сначала создайте их там, где вы хотите, а затем используйте «Добавить в рабочую область ...» из кода Visual Studio.

Роберт Шиндехетт
источник
Я все еще не уверен, что это «лучший» или «правильный» метод, который MS намеревался использовать, но a) который должен быть задокументирован и b) вам следует присоединиться к Mensa, чтобы иметь возможность выяснить что-то, что работает и кажется настолько логичным, насколько это возможно. Я перешел на VS Code из PHPStorm из-за огромного размера последнего, но для IDE, которая на первый взгляд настолько легкая и, казалось бы, потрясающая, я теперь совершенно сбит с толку этим невероятным кошмаром UX! В любом случае TYVM за предложение и извинения за напыщенную речь :-)
Kenny83
Подождите, так вы говорите, что файл рабочей области не обязательно должен находиться в той же папке, что и (предположительно) связанная папка проекта ? Это считается хорошей практикой? Я представляю, что, например, может быть создан файл рабочей области, который будет доступен всем инженерам, работающим над одним проектом (для обеспечения общего стиля и т. Д.), Тогда пользовательские настройки могут переопределить это индивидуально, как они пожелают. Чтобы это было жизнеспособным, кажется, что файл рабочей области должен находиться в той же папке проекта, верно? Я предполагаю, что у меня есть 2 вопроса: (1) Что выполнимо / разрешено? И (2) Какова лучшая практика?
Майк Уильямсон
Это создаст проблемы для людей, работающих над несколькими проектами одновременно.
Шахир Ансари
61

Название и последующий вопрос в ОП, кажется, сводятся к:

  1. Что такое рабочее пространство в VS Code?
  2. Как работают настройки рабочего пространства ?

Короткий ответ:

Рабочая область - это виртуальная коллекция папок, которые одновременно открываются в VSCode и определяются в .code-workspaceфайле. Открытие этого файла откроет коллекцию папок автоматически. Это называется «многокорневым» рабочим пространством.

.code-workspaceФайл также определяет параметры рабочего пространства, которые используются экземпляром VSCode , в котором открыт рабочее пространство.

Когда рабочее пространство не определено, т.е. вы открываете папку самостоятельно, вы можете создавать «настройки рабочего пространства», которые сохраняются в .vscode\settings.jsonфайле в корне этой структуры папок.


Более детально:

VSCode использует слово «рабочее пространство» немного неоднозначно в некоторых местах. Первое использование, которое нужно рассмотреть, это то, что называется многокорневым рабочим пространством .

Многокорневое рабочее пространство - это набор папок («корней»), которые совместно открываются в экземпляре VSCode. Для этих папок нет необходимости совместно использовать родительские папки; это действительно так, поскольку VSCode обычно использует одну папку на боковой панели Проводника.

Многокорневое рабочее пространство определяется .code-workspaceфайлом (JSON), который содержит как список папок, которые должны быть включены в рабочее пространство, так и параметры VSCode.

Что касается этих настроек рабочего пространства ...

Когда вы открываете Файл> Настройки> Настройки, отображается редактор настроек. По крайней мере, вы должны увидеть вкладку НАСТРОЙКИ ПОЛЬЗОВАТЕЛЯ . Это настройки VSCode, которые являются универсальными для вашей учетной записи пользователя на вашем локальном компьютере. В Windows они сохраняются в %APPDATA%\Code\User\settings.json.

Отдельные папки (часто каждая из «корневых» папок в рабочей области) могут иметь .vscodeпапку с собственным settings.jsonфайлом. При открытии по отдельности, то есть не как часть рабочего пространства, содержимое этих settings.jsonфайлов отображается на вкладке НАСТРОЙКИ РАБОЧЕГО ПРОСТРАНСТВА , и ВСЕ настройки в этом файле используются работающим экземпляром VSCode.

При открытии многокорневого рабочего пространства все происходит иначе. Во-первых, вкладка НАСТРОЙКИ РАБОЧЕГО ПРОСТРАНСТВА показывает параметры, установленные в .code-workspaceфайле. Во-вторых, любая папка с settings.jsonфайлом появится на новой вкладке ПАРАМЕТРЫ ПАПКИ . Имейте в виду, что в рабочей среде с несколькими корневыми системами settings.jsonиспользуется только ограниченное количество настроек из каждой папки . Я предлагаю вам открыть ссылку выше, чтобы читать дальше.

Чарли Джойнт
источник
Есть ли какая-либо документация, в которой указано место settings.json, отличное от %APPDATA%\Code\User? В моем случае, когда я помещаю этот файл в папку, некоторые параметры не применяются, как если бы файл находился в папке «по умолчанию» в %APPDATA%.
Даниэль
1
Насколько я вижу, нет. В документации описано расположение по умолчанию для Windows как %APPDATA%\Code\User. Я не заметил ничего, что подсказывало бы, что %APPDATA%само местоположение используется вообще. code.visualstudio.com/docs/getstarted/…
Чарли Джойнт
1
Здесь, в SO, есть еще один вопрос об изменении местоположения пользовательских настроек, и один ответ предполагает, что вам нужно переопределить местоположение по умолчанию с помощью параметра командной строки: stackoverflow.com/questions/44575312/…
Charlie Joynt
Чарли, если нет документации, на чем ты основываешь свой ответ? Исходный код?
Даниэль
Мой ответ основан на доступной документации и опыте конечного пользователя. Я не вижу документации о возможности указать (по умолчанию) расположение файла конфигурации пользователя ; Другими словами, я не могу найти ничего, что наводит на мысль %APPDATA%, что это правильное местоположение. Похоже, ваше тестирование показывает, что файлы в этой папке работают?
Чарли Джойнт
22

Основная утилита рабочего пространства (и, возможно, единственная) - это возможность добавлять несколько независимых папок, составляющих проект. Например:

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

Таким образом, вы можете сгруппировать их в рабочем пространстве для конкретного проекта вместо того, чтобы открывать окна нескольких папок.

Вы можете узнать больше здесь .

sdlins
источник
2
Это большое различие. Я уже использую рабочие папки с одной папкой для нескольких проектов, открывая папку с файлом .sln, который ссылается на подкаталоги с включенными проектами. Но все они связаны с иерархией зависимостей, которая поддерживается решением. Многокорневое рабочее пространство не будет иметь таких отношений.
Мелстон
2
Это лучший ответ, поскольку в нем говорится «почему» будет использоваться рабочее пространство. Вы можете найти все виды технических определений, касающихся механики рабочего пространства, но было трудно понять, почему я хотел бы использовать его. Рабочая область похожа на «решение» в Visual Studio Professional.
ФранкО
1
Очень хорошо поставлено. Это то, что я искал.
Питер Мортенсен
9

На некоторых исследованиях ответ, кажется, (а).

Когда я иду, чтобы изменить настройки, файл настроек переходит в каталог .vscode в каталоге моего проекта.

Нат Кун
источник
2
Это не просто 1 папка, хотя. Вы можете настроить рабочее пространство для хранения нескольких каталогов. Мне было интересно, в чем разница между рабочим столом и рабочим пространством.
Марс
7

Я только что установил Visual Studio Code v1.25.1. на компьютере с Windows 7 Professional SP1. Я хотел детально разобраться в рабочих пространствах, поэтому потратил несколько часов, чтобы понять, как они работают в этой версии кода Visual Studio. Я думал, что результаты моего исследования могут быть интересны для сообщества.

Во-первых, в документации по Visual Studio Microsoft рабочие пространства называются «рабочими пространствами с несколькими корневыми системами». На простом английском языке это означает «многопользовательская (AKA« root ») рабочая среда». Рабочая область кода Visual Studio - это просто набор папок - любая коллекция по вашему желанию в любом порядке. Типичная коллекция папок представляет собой проект разработки программного обеспечения. Однако коллекцию папок можно использовать для чего-либо еще, для чего разрабатывается программный код.

Механизм, которым код Visual Studio обрабатывает рабочие пространства, немного сложен. Я думаю, что самый быстрый способ передать то, что я узнал, это дать вам набор инструкций, которые вы можете использовать, чтобы увидеть, как рабочие пространства работают на вашем компьютере. Я предполагаю, что вы начинаете с новой установки Visual Studio Code v1.25.1. Если вы используете производственную версию кода Visual Studio, я не рекомендую вам следовать моим инструкциям, поскольку вы можете потерять часть или всю свою существующую конфигурацию кода Visual Studio! Если у вас уже установлена тестовая версия Visual Studio Code v1.25.1 **, и вы готовы потерять любую конфигурацию, которая уже существует, необходимо выполнить следующее, чтобы вернуть код Visual Studio в новое состояние установки:

Удалите следующую папку (если она существует):

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

Вы будете добавлять папки в код Visual Studio, чтобы создать новое рабочее пространство. Если какие-либо из папок, которые вы собираетесь использовать для создания этого нового рабочего пространства, ранее использовались с кодом Visual Studio, удалите подпапку «.vscode» (если она существует) в каждой из папок, которые будут использоваться для создания нового рабочего пространства. ,

Запустите Visual Studio Code. Если страница приветствия отображается, закройте ее. Сделайте то же самое для Panel (горизонтальная панель), если она отображается. Если вы получили сообщение, что Git не установлен, нажмите «Напомнить позже». Если отображается, также закройте «Неназванную» кодовую страницу, которая была запущена как кодовая страница по умолчанию. Если панель проводника не отображается, нажмите «Вид» в главном меню, затем нажмите «Проводник», чтобы отобразить панель проводника. Внутри панели проводника вы должны увидеть три (3) заголовка вида: «Открыть редакторы», «Папка не открыта» и «Структура» (расположены в самом низу панели «Проводник»). Убедитесь, что как минимум отображаются открытые редакторы и нет открытых папок .

Visual Studio Code отображает кнопку с надписью «Открыть папку». Нажмите эту кнопку и выберите папку по вашему выбору. Код Visual Studio будет обновлен, и имя выбранной папки заменит имя представления «Папка не открыта». Любые папки и файлы, которые существуют в выбранной вами папке, будут отображаться под именем просмотра.

Теперь откройте файл настроек предпочтений кода Visual Studio . Есть много способов сделать это. Я воспользуюсь самым простым для запоминания меню меню ФайлНастройкиНастройки., Файл настроек отображается в двух столбцах. Левый столбец - это список значений по умолчанию для каждой функции кода Visual Studio, доступный только для чтения. Правый столбец используется для перечисления трех (3) типов пользовательских настроек. На данный момент в вашем тесте будут перечислены только две настройки пользователя - Настройки пользователя и Настройки рабочей области. Настройки пользователя отображаются по умолчанию. Это отображает содержимое файла пользовательских настроек .json. Чтобы узнать, где находится этот файл, просто наведите указатель мыши на список «Настройки пользователя», который отображается в представлении ОТКРЫТЫЕ РЕДАКТОРЫ в проводнике. Этот список в представлении ОТКРЫТЫЕ РЕДАКТОРЫ автоматически выбирается при выборе опции «Настройки пользователя» в правом столбце. Путь должен быть:

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

В этом файле settings.json хранятся настройки пользователя для кода Visual Studio.

Теперь выберите параметр «Параметры рабочего пространства» в правом столбце списка настроек. Когда вы делаете это, автоматически создается подпапка с именем «.vscode» в папке, которую вы добавили в «Исследовать» несколько шагов назад. Посмотрите на список вашей папки в Проводнике, чтобы убедиться, что подпапка .vscode была добавлена. Внутри новой подпапки .vscode находится другой файл settings.json. Этот файл содержит параметры рабочего пространства для папки, которую вы добавили в Проводник несколько шагов назад.

На данный момент у вас есть одна папка , пользовательские настройки которой хранятся в:

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

и чьи настройки рабочего пространства хранятся по адресу:

C:\TheLocationOfYourFolder\settings.json

Это конфигурация, когда отдельная папка добавляется в новую установку кода Visual Studio. Все становится грязно, когда мы добавляем вторую (или большую) папку. Это связано с тем, что мы меняем пользовательские настройки кода Visual Studio и настройки рабочего пространства для размещения нескольких папок. В среде с одной папкой необходимы только два файла settings.json, как указано выше. Но в среде с несколькими папками подпапка .vscode создается в каждой папке, добавленной в Проводник, и создается новый файл «workspaces.json» для управления средой с несколькими папками. Новый файл "workspaces.json" создается по адресу:

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

«% Workspaces_id%» - это папка с уникальным именем для всего номера.

В правом столбце «Настройки» теперь отображаются три параметра пользовательских настроек - «Настройки пользователя», «Настройки рабочего пространства» и «Настройки папки». Функция пользовательских настроек остается той же, что и для среды с одной папкой. Однако файл настроек за настройками рабочего пространства был изменен с файла settings.json в подпапке .vscode отдельной папки на файл workspaces.json, расположенный по указанному выше пути к файлу workspaces.json. Файл settings.json, расположенный в подпапке каждой папки .vscode, теперь контролируется третьим пользовательским параметром - «Параметры папки». Это раскрывающийся список выбора, который позволяет управлять файлом settings.json каждой папки, расположенным в подпапке каждой папки .vscode. Обратите внимание: подпапка .vscode не будет создаваться во вновь добавленных папках проводника до тех пор, пока вновь добавленная папка не будет выбрана хотя бы один раз в пользовательской настройке параметров папки.

Обратите внимание, что имя отдельной папки Explorer было изменено на «UNTITLED (WORKSPACE)». Это указывает на следующее:

  1. Была создана многопапочная рабочая область с именем «UNTITLED (WORKSPACE)»
  2. Рабочая область называется «UNTITLED (WORKSPACE)», чтобы сообщить, что рабочая область еще не сохранена как отдельный уникальный файл рабочей области.
  3. В рабочем пространстве UNTITLED (WORKSPACE) могут быть добавлены и удалены из него папки, но он будет функционировать как ЕДИНСТВЕННАЯ среда рабочего пространства для кода Visual Studio

Полная функциональность рабочих областей кода Visual Studio реализуется только в том случае, если рабочая область сохраняется в виде файла, который можно при необходимости перезагружать. Это дает возможность создавать уникальные рабочие папки из нескольких папок (например, проекты) и сохранять их в виде файлов для последующего использования! Для этого выберите меню ФайлСохранить рабочее пространство какиз главного меню и сохраните текущую конфигурацию рабочей области как уникальный файл рабочей области. Если вам нужно создать рабочую область «с нуля», сначала сохраните текущую конфигурацию рабочей области (при необходимости), затем щелкните правой кнопкой мыши имя каждой папки Explorer и выберите «Удалить папку из рабочей области». Когда все папки были удалены из рабочей области, добавьте папки, необходимые для вашей новой рабочей области. Когда вы закончите добавлять новые папки, просто сохраните новое рабочее пространство как новый файл рабочего пространства.

Важное примечание - код Visual Studio не «возвращается» в режим одной папки, когда в проводнике остается только одна папка или когда все папки были удалены из проводника при создании нового рабочего пространства «с нуля». Конфигурация рабочей области с несколькими папками, которая использует три пользовательских настройки, остается в силе. Это означает, что если вы не будете следовать инструкциям в начале этого поста, код Visual Studio никогда не вернется в режим работы с одной папкой - он всегда будет оставаться в режиме рабочей папки с несколькими папками.

Билл Валланс
источник
Для меня папка .vscode не создавалась до тех пор, пока я не внес изменения в один из параметров рабочего места, но в остальном эта запись определенно помогла мне лучше понять, как все это работает.
Джеймс Туми
2

Они называют это многокорневым рабочим пространством , и с этим вы можете легко выполнить отладку, потому что:

«В рабочих средах с несколькими корневыми системами код Visual Studio ищет во всех папках файлы конфигурации отладки launch.json и отображает их с именем папки в качестве суффикса».

Скажем, у вас есть папка сервера и клиента внутри папки вашего приложения. Если вы хотите отлаживать их вместе, без рабочего пространства вам нужно запустить два экземпляра кода Visual Studio, один для сервера, один для клиента, и вам нужно переключаться назад и вперед.

Но сейчас (1.24) вы не можете добавить один файл в рабочую область, только папки, что немного неудобно .

Qiulang
источник
2

Итак, еще раз урок не загрязнять исходное дерево проекта артефактами, которые не имеют прямого отношения к этому проекту, игнорируется.

Существует нулевая причина для файла рабочей области кода Visual Studio (workspaces.json) или каталога (.vscode) или чего-либо еще, что должно быть размещено в дереве исходного кода. Его также легко можно было бы разместить под вашими настройками пользователя.

Я думал, что мы поняли это около 20+ лет назад, но, похоже, некоторые уроки обречены на повторение.

Smit-Tay
источник
Системы контроля версий, такие как git и subversion, являются единственным исключением из этого правила. И даже они могли бы обойти это, если бы немного подумали об этом.
Смит-Тай
На самом деле кажется, что существует нечто, известное как «портативный режим» code.visualstudio.com/docs/editor/portable. Неясно, удаляет ли это все файлы, созданные в исходном коде.
Смит-Тай
1

Хотя вопрос заключается в том, «что такое рабочее пространство?», Я чувствую, что источником путаницы является ожидание того, что рабочие пространства должны вести себя больше как «проекты» в других редакторах.

Поэтому, чтобы помочь всем людям, приземлившимся здесь из-за этой путаницы, я хотел опубликовать следующий плагин для VS Code (не мой), «Project Manager»: https://marketplace.visualstudio.com/items?itemName=alefragnani .руководитель проекта

Он имеет приятный пользовательский интерфейс для управления (сохранения и открытия) проектов одной папки:

Сохранить проекты:

введите описание изображения здесь

Открытые проекты с палитрой:

введите описание изображения здесь

Посмотреть текущий проект в строке состояния (нажмите, чтобы открыть палитру проектов):

введите описание изображения здесь

Доступ к проектам на боковой панели:

введите описание изображения здесь

trusktr
источник
1

По состоянию на май 2018 года, кажется, что рабочее пространство в коде Visual Studio позволяет вам иметь быстрый доступ к различным, но связанным проектам. Все без необходимости открывать другую папку.

И вы можете иметь несколько рабочих пространств тоже. Смотрите ссылки здесь, и вы получите полную картину этого:

Ссылка 1
Ссылка 2

jet2016
источник
0

Если код Visual Studio является новой установкой;

  1. Нажмите на расширения, найдите «python» и нажмите «Установить»

  2. Нажмите на представление -> проводник. Если ни в одной папке не добавлена ​​папка в рабочую область (Файл-> Добавить папку в рабочую область)

  3. Если вы хотите использовать виртуальную среду Python, нажмите Файл -> Параметры -> Настройки

Нажмите "{} открыть настройки JSON", который находится в верхнем правом углу окна, затем добавьте путь к файлу python.exe, который находится в виртуальной среде.

{
    "python.pythonPath": "C:\\PathTo\\VirtualENV\\python.exe"
}
  1. Запустите новый терминал и убедитесь, что выбран правильный интерпретатор Python
Klllmmm
источник
0

Вам когда-нибудь приходилось создавать новый каталог и открывать новое окно кода Visual Studio для тестового проекта или для функции, которую вы хотите добавить в основной проект?Итак, вам нужно рабочее пространство и достаточно высокая загрузка процессора ...

Я просто хотел упомянуть общее использование рабочих областей в коде Visual Studio в дополнение ко всем остальным ответам.

Ашкан Насирзаде
источник