Как я могу использовать VsCode Remote в команде? - PullRequest
1 голос
/ 14 марта 2020

Я работаю в команде разработчиков программного обеспечения, которые поддерживают набор Python услуг. Мы используем docker для управления этими услугами при разработке. Например, я мог бы редактировать код в одном сервисе, и когда я сохраняю изменение, изменения отражаются в соответствующем контейнере через монтирование привязки, тогда сервис получает inotify'd изменения и горячие перезагрузки. Конфигурация для этих docker контейнеров проверена в git и передана всей команде. Таким образом, ни один из инженеров не обязан устанавливать Python или какой-либо из необходимых пакетов на своих рабочих станциях, и мы можем быть уверены, что среда, в которой создается программное обеспечение, близко отражает производство.

Похоже, что VsCode не поддерживает этот подход к разработке изящно. Поскольку ни одна из зависимостей не установлена ​​на рабочих станциях инженеров, расширение Python показывает тонны ложноположительных ошибок импорта. Мы не можем использовать linting и не можем использовать функции отладки или сборки VsCode.

На первый взгляд может показаться, что VsCode Remote предназначен для решения этих проблем, но при ближайшем рассмотрении это создает целый набор новых проблем. Поскольку многие расширения должны быть установлены внутри контейнера, инженеры либо теряют возможность настраивать свои редакторы, либо вынуждены перенастраивать свои редакторы при каждом перезапуске контейнера. В документах предлагается использовать том для сохранения конфигураций, но, похоже, нет никакого способа синхронизировать c их с локальным каталогом или из него. Похоже, что нет поддержки для кодовой базы, которая создает несколько контейнеров. И, наконец, использование пакета Remote требует от нас добавления специальной конфигурации, связанной с VsCode, в наши общие файлы Docker, а некоторые члены команды используют другие редакторы. Короче говоря, это превращает отдельную проблему (конфигурацию редактора) в групповую проблему.

Я что-то здесь упускаю? Есть ли какой-либо поддерживаемый способ работы в контейнеризованной среде разработки с VsCode, когда конфигурации контейнеров поддерживаются командой? Я чувствую, что не могу быть единственным человеком, у которого есть эта проблема.

...