Если вам нужно установить одно расширение Visual Code Studio, вот оно.

Visual Studio Code - бесплатный, легкий и кроссплатформенный редактор кода. Возможно, это не полноценная IDE, такая как IntelliJ Idea или PyCharm, но это мощный инструмент без отвлекающих факторов с преданной фанатской базой и процветающей экосистемой.

VS Code имеет встроенную поддержку JavaScript, TypeScript и Node.js, но вы можете расширить его для поддержки многих других языков (Python, C ++ и Go); обширная коллекция мощных надстроек может сделать VS Code идеальной средой разработки.

Однако в этой истории я бы сказал, что есть только одно расширение VS Code, которое вам когда-либо понадобится. Оно будет поддерживать чистоту вашей среды, а ваши проекты изолированными и поддерживаемыми. Тот, который позволит вам работать из любого места над любым проектом. Тот, который позволит вам без проблем сотрудничать с кем угодно в вашей команде. Добро пожаловать в прекрасный мир удаленной разработки.

Learning Rate - это информационный бюллетень для тех, кто интересуется миром AI и MLOps. Каждую пятницу вы будете получать от меня обновления и мысли о последних новостях и статьях об искусственном интеллекте. Подпишитесь здесь!

Удаленная разработка для VS Code

Расширение Удаленная разработка для Visual Studio Code - единственное расширение, которое вам когда-либо понадобится для установки в вашей локальной установке VS Code. Это расширение позволит вам:

  • Работайте над той средой разработки, которая вам нужна; вам нужно больше ресурсов? Конкретный дистрибутив Linux? Специализированное оборудование? Не проблема.
  • Поместите свои проекты в изолированное пространство, чтобы зависимости проекта x не мешали зависимостям проекта y.
  • Сотрудничайте с членами вашей команды или помогайте новобранцам в процессе адаптации.

На самом деле расширение Remote Development - это оболочка для разных инструментов, которые вы можете установить отдельно, в зависимости от ваших потребностей:

  • Удаленные контейнеры: работайте с изолированным контейнерным приложением, открывая папки, смонтированные в контейнере или находящиеся внутри него.
  • Удаленный SSH: работайте с исходным кодом в любом месте, открывая папки на удаленном компьютере с помощью SSH. *
  • Удаленный WSL: подключитесь к WSL 1.0 или 2.0 и работайте в среде разработки на базе Linux, не выходя из Windows.

Примечание. Расширение Remote SSH поддерживает хосты SSH x86_64, ARMv7l (AArch32) и ARMv8l (AArch64) на базе glibc, Windows 10 / Server (1803+) и macOS 10.14+ (Mojave).

В этой истории в основном описывается, как работать с удаленными контейнерами, сохраняя локальную среду разработки. Работа с удаленным SSH довольно похожа, и я пропущу удаленный WSL, поскольку он доступен только пользователям Windows. Если вы хотите узнать больше о Windows и WSL 2.0, просмотрите рассказ ниже.



Работа с контейнерами

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

Эта история будет работать с простым 20.04 образом Ubuntu, который может быть базовым образом для проекта. Dockerfile для создания этого образа может быть таким же элементарным, как и приведенный ниже:

В этом Dockerfile мы начинаем с официального 20.04 образа Ubuntu, устанавливаем общие пакеты Linux, которые могут нам понадобиться, такие как vim, wget и curl, добавляем несколько переменных среды, и мы готовы к работе. Создайте этот образ с помощью docker build:

docker build -t <tag-name> .

Затем, чтобы запустить контейнер с этим изображением, введите команду ниже, предполагая, что вы пометили его как ubuntu-base:latest:

docker run -it --name ubuntu ubuntu-base bash

Аргумент --it указывает Docker запустить контейнер в интерактивном режиме и выполнить команду bash. Это важно. В противном случае контейнер будет запускаться и немедленно завершаться, поскольку в Dockerfile не указаны CMD или ENTRYPOINT.

С другой стороны, если вы выйдете из bash ячейки внутри контейнера, контейнер снова остановится. Но это не проблема; мы увидим, что VS Code может запускать остановленные контейнеры и подключаться к ним.

Вы можете использовать это базовое изображение, как хотите; вы можете рассматривать его как базовый образ для других образов Docker, которые вы создаете, или запускать как есть и устанавливать все, что вам нужно, вручную, на лету. Что еще предстоит увидеть, так это то, как вы можете подключиться к нему через VS Code и начать работать.

Подключение к контейнерам

Чтобы подключиться к работающему контейнеру через VS Code, сначала установите расширение Remote Development. Это действительно просто; выберите вкладку Extensions на левой панели (ctrl+shift+x) и найдите Remote Development. Обычно это первый результат, поэтому выберите его и нажмите Установить. Через несколько секунд удаленная разработка будет доступна в виде новой вкладки на левой панели.

Чтобы присоединиться к контейнеру, выберите его, выберите containers из раскрывающегося списка вверху, щелкните правой кнопкой мыши нужный контейнер и нажмите Attach to Container.

Это так просто! Теперь вы можете открыть интегрированный терминал и начать взламывать: установить язык программирования по вашему выбору, git clone свой проект, установить его зависимости и разработать новые функции. Более того, теперь вы можете установить больше расширений VS Code, полезных для этого проекта. Эти расширения устанавливаются только внутри этой среды, что обеспечивает чистоту вашей локальной установки.

Однако обычно это подходит только для местной разработки; что, если вы хотите что-то более мощное? Больше памяти, мощности процессора или графического процессора? Что ж, если вы создали свой образ Docker определенным образом, основные облачные провайдеры, такие как GCP, позволяют запускать виртуальные машины из образа Docker. Таким образом, вы можете запустить удаленный компьютер, который в точности похож на вашу локальную среду, но является более мощным. Затем вы можете подключиться к нему с помощью Remote SSH и продолжить с того места, на котором остановились!

Предисловие

Visual Studio Code - это бесплатный, легкий и кроссплатформенный редактор кода. Обширная коллекция мощных надстроек может превратить ее в полноценную среду IDE, но нет смысла устанавливать расширения, которые вы можете использовать один раз, если вообще когда-либо.

Таким образом, Remote Development может быть единственным расширением, которое вам может понадобиться. Это сохранит вашу среду в чистоте и ваши проекты изолированы. Это позволит вам работать из любого места над любым проектом и позволит вам сотрудничать с кем угодно в вашей команде без каких-либо проблем.

об авторе

Меня зовут Димитрис Поулопулос, я инженер по машинному обучению, работающий в Arrikto. Я разработал и внедрил ИИ и программные решения для крупных клиентов, таких как Европейская комиссия, Евростат, МВФ, Европейский центральный банк, ОЭСР и IKEA.

Если вы хотите прочитать больше сообщений о машинном обучении, глубоком обучении, науке о данных и DataOps, подпишитесь на меня в Medium, LinkedIn или @ james2pl в Twitter. Также посетите страницу Ресурсы на моем веб-сайте, где можно найти отличные книги и курсы с самым высоким рейтингом, чтобы начать создавать свою собственную учебную программу по науке о данных!