Хабрахабр

[Перевод] Удалённая разработка в VS Code: ваша жизнь никогда не будет прежней

И тем более отрадно, что он развивается семимильными шагами. У нас в TestMace Visual Studio Code является одним из самых популярных инструментов. Вашему вниманию предлагается перевод статьи об еще одной вкусной фиче, которая доступна пока только в VS Code Insiders.

Я решил поделиться своими первыми впечатлениями от удалённой разработки в VS Code, на момент написания статьи доступной в VS Code Insiders. Согласен, немного переборщил с заголовком, просто меня переполняют эмоции.

Расширения для удалённой разработки требуют установки Visual Studio Code Insiders.

При этом весь процесс разбивается на две части: клиентская часть приложения запускается на локальном компьютере, а сервер VS Code практически где угодно. Возможность удалённой разработки в Visual Studio Code — это возможность использовать контейнер, удалённый компьютер или подсистему Windows для Linux (WSL) в качестве полноценной среды разработки. Следующие три статьи помогут изучить каждое из них более детально: Комплект расширений для удалённой разработки включает в себя три расширения.

  • Remote — SSH — получение доступа к любой директории на удалённой или виртуальной машине с помощью SSH.
  • Remote — Containers — работа с изолированным набором инструментальных средств или контейнерезированными приложениями внутри контейнера (или подмонированными в контейнер).
  • Remote — WSL — разработка приложений в подсистеме Windows для Linux (WSL).
    Приведу конкретный пример. Допустим, необходимо разработать приложение на каком-либо языке, но на вашем компьютере нет ни самого языка, ни SDK, ни нужных инструментов.

При этом виртуальная машина выполняет все сопутствующие операции. Многие разработчики, пишущие под Windows, создают виртуальные машины Windows в облаке, а затем подключаются к рабочему столу по RDP и рулят виндовыми окошками. При этом виртуальная машина выполняет все сопутствующие операции. Разработчики, пишущие под Linux, создают виртуальные машины Linux или контейнеры и подключаются к ним по SSH через терминал, запускают vim или tmux и строчат в консоль. VS Code — толстый клиент с чётким и понятным интерфейсом языковых служб и прозрачностью местоположения. В обоих сценариях реализуется не клиент-серверное соединение, а взаимодействие терминала или тонкого клиента с сервером.

Кто выполняет эту работу? Когда вы пишете код — например, экземпляр объекта, и после символа точки (.) у вас срабатывает автодополнение названий содержимого этого объекта. Если код запускается локально, да ещё и в контейнере, необходимо убедиться, что обе стороны (клиент и сервер) синхронизированы, используют один и тот же SDK и тому подобное. Откуда берётся этот список? Непростая задача.

Допустим, на вашем компьютере не установлен Rust и необходимые для разработки инструменты.

Тогда производим клонирование следующего репозитория:

git clone https://github.com/Microsoft/vscode-remote-try-rust

Запускаем VS Code Insiders:

C:\github> git clone https://github.com/Microsoft/vscode-remote-try-rust Cloning into 'vscode-remote-try-rust'... Unpacking objects: 100% (38/38), done. C:\github> cd .\vscode-remote-try-rust\
C:\github\vscode-remote-try-rust [main =]> code-insiders .

Расширения VS Code будут установлены в контейнер Docker, а затем их можно будет использовать удалённо. Затем VS Code интересуется, хотите ли вы открыть данный контейнер.
В файле devcontainer.json содержится список расширений, необходимых для текущего проекта. Конечно, можно обойтись вообще без установки чего-либо на свой локальный компьютер, но золотая середина в том, чтобы избавиться от излишнего ручного конфигуриорвания системы. Ваша локальная система вовсе не нуждается во всех них, достаточно установить только те, которые вы планируете использовать в текущем проекте.

Здесь необходимые вам инструментальные средства добавляются в файл dockerfile, запускается исполняемый файл Docker, и мы видим сервер VS Code! Посмотрите на скриншот ниже.

Зелёная строка состояния сигнализирует о том, что реализовано клиент-серверное взаимодействие. Зайдите в раздел Extensions в VS Code и обратите внимание на левый нижний угол. Весь процесс установки занял считанные минуты. Все нужные расширения Rust установлены в контейнер и готовы к использованию в VS Code.

Редактируя код таким способом, вы получаете те же функции автодополнения, отладки и прочее.

Вот пример сеанса отладки приложения на Rust в режиме реального времени, не требующего никакой настройки, кроме установки VS Code Insiders, Remote Extensions, и Docker (который у меня уже был).

Такой стиль разработки только набирает обороты. Как я уже говорил, вы можете запускать код с помощью WSL, в контейнерах или через SSH. Нам приходится выполнять так много рутинных задач, а удалённое редактирование кода позволяет выкинуть из процесса разработки всё лишнее, и сконцентрировать своё внимание на самом главном. Он прост и понятен, и мне очень интересно понаблюдать, куда это нас приведёт.

Создавайте сценарии, тестируйте эндпоинты и пользуйтесь всей мощью продвинутого автодополнения и подсветки синтаксиса. Наша команда создает крутой инструмент TestMace — мощная IDE для работы с API. Мы тут: Telegram, Slack, Facebook, Vk
Пишите нам!

Теги
Показать больше

Похожие статьи

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

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

Кнопка «Наверх»
Закрыть