Vs code что такое workspace

What is a VS Code «workspace»?

A Visual Studio Code «workspace» is the collection of one or more folders that are opened in a VS Code window (instance). In most cases, you will have a single folder opened as the workspace but, depending on your development workflow, you can include more than one folder, using an advanced configuration called Multi-root workspaces.

The concept of a workspace enables VS Code to:

You may see the terms «folder» and «workspace» used interchangeably in VS Code documentation, issues, and community discussions. Think of a workspace as the root of a project that has extra VS Code knowledge and capabilities.

Note: It is also possible to open VS Code without a workspace. For example, when you open a new VS Code window by selecting a file from your platform’s File menu, you will not be inside a workspace. In this mode, some of VS Code’s capabilities are reduced but you can still open text files and edit them.

How do I open a VS Code «workspace»?

The easiest way to open a workspace is using the File menu and selecting one of the available folder entries for opening. Alternatively if you launch VS Code from a terminal, you can pass the path to a folder as the first argument to the code command for opening.

Single-folder workspaces

You don’t have to do anything for a folder to become a VS Code workspace other than open the folder with VS Code. Once a folder has been opened, VS Code will automatically keep track of things such as your open files and editor layout so the editor will be as you left it when you reopen that folder. You can also add other folder-specific configurations such as workspace-specific settings (versus global user settings), task definitions, and debugging launch files (see below in the workspace settings section).

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

A single-folder workspace opened inside VS Code

Multi-root workspaces

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

A multi-root workspace opened in VS Code

Untitled multi-root workspaces

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

An untitled multi-root workspace opened in VS Code

Note: There is really no difference between an untitled workspace and a saved workspace other than the fact that an untitled workspace is automatically created for you for your convenience and will always restore until you save it. We automatically delete untitled workspaces (after asking you for confirmation) when you close a window in which an untitled workspace is opened.

Workspace settings

Refer to the settings documentation for a comprehensive explanation of setting scopes and their file locations.

Single-folder workspace settings

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

The Settings editor when a folder is opened as workspace

Multi-root workspace settings

You can still configure settings per root folder and the Settings editor will present a third setting scope called Folder Settings:

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

The Settings editor when a multi-root workspace is opened

Workspace tasks and launch configurations

Refer to tasks and debugging chapters for a more comprehensive overview of how to use tasks and launch configurations in VS Code.

Common questions

What is the benefit of multi-root workspace over a folder?

The most obvious advantage is that a multi-root workspace allows you to work with multiple projects that may not be stored inside the same parent folder on disk. You can pick folders from anywhere to add to the workspace.

Why is VS Code restoring all untitled workspaces on a restart?

Untitled workspaces are designed to be something you must explicitly decide to keep or not. The first time an untitled workspace is created, VS Code adds the specified folders into the workspace file and also all existing workspace settings. This user data is always restored and displayed in a VS Code window until the untitled workspace is saved or deleted.

How do I delete an untitled workspace?

You can delete an untitled workspace by closing its window and dismissing the prompt to save the untitled workspace.

Can I use a multi-root workspace without folders

Does VS Code support projects or solutions?

VS Code doesn’t have the concept of a «project» or «solution» as they are sometimes defined in other development tools, for example Visual Studio IDE. You may see the term «project» used in VS Code documentation but it usually means «the thing you’re working on». Depending on your programming language or framework, the toolset itself may support something called a «project» to help define build configurations or enumerate included files.

Источник

Что такое «рабочее пространство» в VS Code?

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

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

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

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

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

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

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

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

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

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

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

Механизм, которым VS Code обрабатывает рабочие пространства, немного сложен. Я думаю, что самый быстрый способ передать то, что я узнал, это дать вам набор инструкций, которые вы можете использовать, чтобы увидеть, как рабочие пространства работают на вашем компьютере. Я предполагаю, что вы начинаете с новой установки VS Code v1.25.1. Если вы используете производственную версию VS Code, Я НЕ РЕКОМЕНДУЮ, ЧТО ВЫ СЛЕДУЕТЕ ЗА СВОИМИ ИНСТРУКЦИЯМИ, ПОТОМУ ЧТО ВЫ МОЖЕТЕ ПОТЕРЯТЬ НЕКОТОРЫЕ OR ВСЕ ВАШЕ СУЩЕСТВУЕТ КОНФИГУРАЦИЯ VS-КОДА! Если у вас уже установлена ​​ТЕСТ-версия VS Code v1.25.1, и вы готовы потерять любую конфигурацию, которая уже существует следующее быть сделано, чтобы вернуть ваш код VS в новое состояние установки:

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

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

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

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

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

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

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

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

Источник

Рабочие области

рабочая область — это то, как Visual Studio представляет коллекцию файлов в открытой папкеи представляется IWorkspace типом. Сама по себе Рабочая область не понимает содержимое или функции, связанные с файлами в папке. Вместо этого он предоставляет общий набор интерфейсов API для функций и расширений для создания и использования данных, с которыми могут работать другие пользователи. производители состоят из Managed Extensibility Framework (MEF) с использованием различных атрибутов экспорта.

Поставщики и службы рабочей области

Поставщики рабочих областей и службы предоставляют данные и функции для реагирования на содержимое рабочей области. Они могут предоставлять контекстные сведения о файлах, символы в исходных файлах или функции сборки.

Одно различие между поставщиками и службами — их связь с рабочей областью. Рабочая область может иметь множество поставщиков определенного типа, но для каждой рабочей области создается только одна служба определенного типа. Например, Рабочая область содержит много поставщиков сканеров файлов, но Рабочая область содержит только одну службу индексирования для каждой рабочей области.

Другим ключевым отличием является использование данных от поставщиков и служб. Рабочая область — это точка входа для получения данных от поставщиков по нескольким причинам. Во первых, поставщики обычно имеют некоторый узкий набор создаваемых данных. Данные могут быть символами для исходного файла C# или контекстами файлов сборки для CMakeLists.txt файла. Рабочая область будет соответствовать запросу потребителя поставщикам, метаданные которых соответствуют запросу. Во-вторых, некоторые сценарии позволяют многим поставщикам участвовать в запросе, в то время как другие сценарии используют поставщик с наивысшим приоритетом.

Не создавайте службы, которые конфликтуют с Visual Studio. Это может привести к непредвиденным проблемам.

Реализация при закрытии рабочей области

При закрытии рабочей области расширителям может потребоваться удалить, но вызвать асинхронный код. IAsyncDisposableИнтерфейс доступен для упрощения написания этого кода.

Связанные типы

Параметры рабочей области

Рабочие области имеют IWorkspaceSettingsManager службу с простым, но мощным контролем над рабочей областью. Основные общие сведения о параметрах см. в разделе Настройка задач сборки и отладки.

Параметры для большинства SettingsType типов — это json файлы, такие как VSWorkspaceSettings.jsв и tasks.vs.js.

Возможности параметров рабочей области изменяются по областям, которые просто являются путями в рабочей области. При вызове потребителя GetAggregatedSettings все области, включающие запрошенный путь и тип параметра, суммируются. Приоритет статистической обработки области выглядит следующим образом:

Предполагая, что эти параметры были в VSWorkspaceSettings.js пользователя, доступ к данным можно получить следующим образом:

Эти API параметров не связаны с интерфейсами API, доступными в Microsoft.VisualStudio.Settings пространстве имен. Параметры рабочей области не зависят от узла и используют файлы параметров рабочей области или поставщики динамических параметров.

Предоставление динамических параметров

Расширения могут предоставлять IWorkspaceSettingsProvider s. Эти поставщики в памяти позволяют расширениям добавлять параметры или переопределять другие.

Параметры связанные интерфейсы api

Рекомендуемые методики рабочей области

События и автоматическая загрузка пакетов

Устранение неполадок

Пакет Саурцеексплорерпаккаже не был правильно загружен

Сведения об ошибке можно найти в %локалаппдата%\микрософт\висуалстудио\ 15.0_Id \компонентмоделкаче\микрософт.висуалстудио.дефаулт.ЕРР. Устраните все ошибки для типов, реализованных вашим расширением.

Сведения об ошибке можно найти в %локалаппдата%\микрософт\висуалстудио\ 16.0_Id \компонентмоделкаче\микрософт.висуалстудио.дефаулт.ЕРР. Устраните все ошибки для типов, реализованных вашим расширением.

Источник

Multi-root Workspaces

You can work with multiple project folders in Visual Studio Code with multi-root workspaces. This can be helpful when you are working on several related projects at one time. For example, you might have a repository with a product’s documentation that you like to keep current when you update the product source code.

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

Note: If you’d like to learn more about the VS Code «workspace» concept, you can review What is a VS Code «workspace»? Unless you are explicitly creating a multi-root workspace, a «workspace» is just your project’s single root folder.

Adding folders

It is easy to add another folder to your existing workspace. There are several gestures for adding folders:

Add Folder to Workspace

The File > Add Folder to Workspace command brings up an Open Folder dialog to select the new folder.

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

Once a root folder is added, the Explorer will show the new folder as a root in the File Explorer. You can right-click on any of the root folders and use the context menu to add or remove folders.

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

The File Explorer should work and behave as before. You can move files between root folders and use any of the typical file operation actions provided in the context menu and the Explorer view.

Settings like files.exclude are supported for each root folder if configured, and across all folders if configured as global user setting.

Drag and drop

You can use drag and drop to add folders to a workspace. Drag a folder to the File Explorer to add it to the current workspace. You can even select and drag multiple folders.

Note: Dropping a single folder into the editor region of VS Code will still open the folder in single folder mode. If you drag and drop multiple folders into the editor region, a new multi-root workspace will be created.

You can also use drag and drop to reorder folders in the workspace.

Multiple selection native file open dialogs

Opening multiple folders with your platform’s native file open dialog will create a multi-root workspace.

Add a folder or multiple folders to the last active VS Code instance for a multi-root workspace.

Removing folders

You can remove a folder from a Workspace with the Remove Folder from Workspace context menu command.

Workspace file

When you add multiple folders, they are initially placed in a Workspace titled UNTITLED WORKSPACE and that name will remain until you save the workspace. You do not need to save a Workspace until you want to have it in a permanent location, for example, on your Desktop. Untitled Workspaces are present as long as the VS Code instance they are using is open. Once you completely close an instance with an untitled workspace, you will be asked to save it if you plan to open it again in the future:

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

Save Workspace As.

If you want to move your Workspace file to a new location, you can use the File > Save Workspace As command, which will automatically set the correct folder paths relative to the new Workspace file location.

Opening workspace files

To reopen a Workspace, you can:

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

Just like Close Folder when a single folder is open in VS Code, there is a Close Workspace ( ⌘K F (Windows, Linux Ctrl+K F ) ) command to close the active Workspace.

Workspace file schema

You can override the display name of your folders with the name attribute, to give more meaningful names to folders in the Explorer. For example, you could name your project folders such as ‘Product’ and ‘Documentation’ to easily identify the content by folder name:

which will result in the following Explorer display:

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

As you can see from the example above, you can add comments to your Workspace files.

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

General UI

Editor

There are only a few changes to the VS Code UI when you are using multi-root workspaces, primarily to disambiguate files between folders. For example, if there is a name collision between files in multiple folders, VS Code will include the folder name in tabbed headers.

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

If you’d always like to see the folder displayed in the tabbed header, you can use the workbench.editor.labelFormat setting «medium» or «long» values to show the folder or full paths.

VS Code UI such as the OPEN EDITORS and Quick Open ( ⌘P (Windows, Linux Ctrl+P ) ) lists include the folder name.

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

If you are using an File Icon Theme and the active theme supports it, you will see a special Workspace icon.

Below you can see the Workspace icons from the built-in Minimal (Visual Studio Code) file icon theme:

Search

VS Code features like global search work across all folders and group the search results by folder.

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

Settings

When you go from a single folder instance to multiple folders, VS Code will add the appropriate editor-wide settings from the first folder to the new global Workspace settings.

You can easily review and modify the different settings files through the Settings editor. The Settings editor tabs let you select your User settings, global Workspace settings, and individual folder settings.

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

You can also open specific settings files with the commands:

Global Workspace settings override User settings and folder settings can override Workspace or User settings.

Unsupported folder settings

Unsupported editor-wide folder settings will be shown as grayed out in your folder settings and are filtered out of the DEFAULT FOLDER SETTINGS list. You will also see an information icon in front of the setting.

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

Debugging

With multi-root workspaces, VS Code searches across all folders for launch.json debug configuration files and displays them with the folder name as a suffix. Additionally VS Code will also display launch configurations defined in the workspace configuration file.

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

The example above shows the debugging configurations for the TSLint extension. There is a launch configuration from the tslint extension folder to start the extension running in the VS Code Extension Host and also an attach configuration from the tslint-server folder to attach the debugger to a running TSLint server.

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

Workspace launch configurations

Workspace scoped launch configurations live in the «launch» section of the workspace configuration file (Workspaces: Open Workspace Configuration File in the Command Palette):

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

Alternatively, new launch configurations can be added via the «Add Config (workspace)» entry of the Launch Configuration dropdown menu:

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

A compound launch configuration can reference the individual launch configurations by name as long as the names are unique within the workspace, for example:

If the individual launch configuration names are not unique, the qualifying folder can be specified with a more verbose «folder» syntax:

Here is an example for a launch configuration where the program lives in a folder «Program» and where all files from a folder «Library» should be skipped when stepping:

Tasks

Similar to how VS Code searches for debugging configurations, VS Code will also try to autodetect tasks from gulp, grunt, npm, and TypeScript project files across all folders in a workspace as well as search for tasks defined in tasks.json files. The location of tasks is indicated by a folder name suffix. Note that tasks defined in tasks.json must be version 2.0.0.

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

From the TSLint extension Workspace example above, you can see that there are two configured tasks from tasks.json files in the tslint and tslint-tests folders and numerous autodetected npm and TypeScript compiler detected tasks.

Workspace task configuration

Workspace scoped tasks live in the «tasks» section of the workspace configuration file (Workspaces: Open Workspace Configuration File in the Command Palette). Only «shell» and «process» type tasks can be defined in the workspace configuration file.

Source Control

With multi-root workspaces, there is a SOURCE CONTROL PROVIDERS section that gives you an overview when you have multiple active repositories. These can be contributed by several SCM providers; for example, you can have Git repositories side-by-side with Azure DevOps Server workspaces. As you select repositories in this view, you can see the source control details below.

Vs code что такое workspace. Смотреть фото Vs code что такое workspace. Смотреть картинку Vs code что такое workspace. Картинка про Vs code что такое workspace. Фото Vs code что такое workspace

You can use Ctrl+Click or Shift+Click to select multiple repositories. Their details will appear as separate regions underneath.

Extensions

Multi-root workspaces have been available as a preview on Insiders build since the June 2017 1.14 release and we’ve been working with extension authors to help them get ready for the release to Stable. If you are an extension author, you can review our Adopting Multi Root Workspace APIs guide to learn about VS Code API changes and how to make your extension work well across multiple folders.

Below are some of the popular extensions that have already adopted the multi-root workspace APIs.

Note: If an extension doesn’t yet support multiple folders, it will still work in the first folder of your multi-root workspace.

Extension recommendations

Next steps

Common questions

How can I go back to working with a single project folder?

You can either close the Workspace and open the folder directly or remove the folder from Workspace.

As an extension author what do I need to do?

See our Adopting Multi Root Workspace APIs guide. Most extensions can easily support multi-root workspaces.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *