Контейнеры для разработки кода VS с соответствующими папками над папкой root - PullRequest
0 голосов
/ 15 февраля 2020

Я борюсь с настройкой VS Code в связи с расширением контейнера.

В структуре моего проекта есть одна папка проекта и несколько библиотек на одном уровне (т. Е. Библиотеки являются подпапками , а не папки моего проекта). Ключевым моментом является то, что я хотел бы сохранить все файлы конфигурации в папке моего проекта, чтобы информация о том, как вызвать проект, контролировалась версией проекта.

Если я укажу файл workspace следующим образом (используя относительные пути) и открою файл рабочей области, все будет работать локально.

{
    "folders": [
        {
            "path": "."
        },
        {
            "path": "../library1"
        },
        {
            "path": "../library2"
        },
    ]
}

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

The workspace cannot be opened in a container. Folder c:\..\library1 is not a subfolder of shared root folder c:\..\project. 

Я могу получить определение проекта (и файл devcontainer.json) на один уровень выше, но тогда они не находятся под контролем источника моей папки проекта.

Есть идеи, как решить эту проблему?

1 Ответ

0 голосов
/ 06 марта 2020

Кажется, это ограничение дизайна. Даже если вы соответственно установите рабочее пространство root контейнера, по-прежнему невозможно ссылаться на папки рабочего пространства вне папки, содержащей определение рабочего пространства.

https://github.com/microsoft/vscode-remote-release/issues/387

Для начала мы могли бы поддержать команду открытия рабочей области, которая эквивалентна выполнению «Открыть папку в контейнере», за которой следует «Открыть рабочую область», но не устраняет эти два ограничения. В частности:

Найдите файл .devcontainer / devcontainer. json или .devcontainer. json в той же папке, что и файл .codeworkspace. Смонтируйте эту папку в контейнер и откройте рабочую область. Файл .codeworkspace может ссылаться только на подпапку s.

...