Поиск по сайту:

Как разрабатывать на удаленном SSH-сервере с помощью Visual Studio Code


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

Расширение Remote — SSH может подключаться к сетевым серверам, отображать их структуру каталогов, а также открывать и редактировать файлы. Доступны почти все функции Visual Studio Code, включая завершение кода IntelliSense, встроенную отладку и сторонние расширения.

Начиная

Начните с добавления расширения Remote — SSH в ваш редактор. Нажмите Ctrl+Shift+P, чтобы открыть палитру команд, и введите «установить». Боковая панель расширений появится слева. Найдите «remote — ssh» и установите соответствующее расширение. Он опубликован и поддерживается Microsoft.

Теперь вам нужно подключиться к вашему SSH-серверу. Расширение работает с хостами под управлением Ubuntu, Debian, CentOS, RHEL и Raspbian. Серверы Windows также поддерживаются при условии, что используется официальный сервер Microsoft OpenSSH. На хостах macOS должна быть включена функция удаленного входа в операционную систему.

Прежде чем продолжить, убедитесь, что вы скопировали свой локальный открытый ключ SSH в файл authorized_keys вашего сервера. VS Code не полностью поддерживает аутентификацию на основе пароля; хотя это будет работать, вам нужно будет повторно вводить пароль каждый раз при запуске команды.

Нажмите Ctrl+Shift+P, чтобы отобразить палитру команд. Найдите «удаленный проводник» и запустите команду «Вид: Показать удаленный проводник», чтобы открыть удаленную боковую панель. Выберите «Цели SSH» в раскрывающемся списке вверху, если он еще не выбран.

Наведите указатель мыши на заголовок «Цели SSH» на боковой панели. Нажмите кнопку «плюс», чтобы создать новое подключение. Появится всплывающее окно, позволяющее ввести данные вашего сервера. Это должна быть полная команда подключения SSH с флагом -A для включения переадресации агента. Это позволяет вам использовать свои локальные ключи при выполнении последующих команд SSH на сервере.

ssh user@example.com -A

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

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

Использование удаленных подключений

После завершения установки вы окажетесь в обычном окне Visual Studio Code, в котором выполняются операции с выбранным вами хостом. Нажмите кнопку «Открыть папку» в левом верхнем углу боковой панели, чтобы найти каталог на вашем сервере. Вам может быть предложено подтвердить запрос Workspace Trust; если это так, нажмите «да», чтобы пометить каталог как надежный и включить все функции редактора.

Теперь вы увидите, что каталог на стороне сервера отображается в обычной панели проводника VS Code. Вы можете открывать файлы, просматривать их содержимое и редактировать их, используя знакомый рабочий процесс. Если вы работаете с репозиторием Git, вы можете использовать встроенные функции управления исходным кодом для подготовки и фиксации изменений, как обычно.

Каталоги с файлами .vscode позволяют выполнять такие функции, как сборка и отладка. VS Code может выполнять содержимое удаленных каталогов, предоставляя вам полный опыт разработки. Нажмите F5, чтобы запустить приложение, если определена система сборки. Вы можете устанавливать точки останова и выполнять код так же, как в локальных проектах.

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

После того, как вы один раз открыли каталог, в будущем он будет отображаться на боковой панели Remote Explorer. Щелкните его имя под хостом SSH, чтобы запустить новое окно VS Code прямо в этот удаленный каталог.

Как это работает?

Удаленные возможности работают путем установки серверного компонента VS Code на удаленный компьютер. Это происходит автоматически при первом подключении. Сервер следит за файловой системой, применяет изменения и запускает процессы, запрошенные редактором.

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

Расширения в вашем файле .vscode также будут установлены на удаленном хосте. Это дает им такой же бескомпромиссный доступ к вашим файлам, поэтому большинство расширений будут работать без проблем.

Когда вы редактируете в VS Code, вы получаете почти нативную производительность с минимальными накладными расходами. Запросы на чтение и запись файлов передаются из окна редактора VS Code серверному процессу на удаленном хосте. Это взаимодействует с файловой системой для предоставления запрошенных данных и внесения любых необходимых изменений.

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

Настройка расширения

У расширения есть несколько настроек, к которым вы можете получить доступ через команду «Remote-SSH: Settings». В верхней части страницы вы можете указать путь к пользовательскому файлу конфигурации SSH и добавить время ожидания соединения по умолчанию. Это предотвращает слишком долгое зависание Visual Studio, когда удаленный хост перестает отвечать на запросы. Ниже на странице параметр «Максимальное количество попыток повторного подключения» позволяет изменить поведение Visual Studio при сбое подключения.

Параметр «Расширения по умолчанию» позволяет добавлять расширения VS Code, которые будут установлены на всех удаленных хостах SSH. Эти расширения будут доступны повсеместно, даже если вы не добавили их в файл .vscode вашего активного проекта.

Следующие флажки управляют автоматической переадресацией агента. Они соответствуют настройкам клиента SSH по умолчанию в вашем файле конфигурации SSH.

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

Краткое содержание

Расширение Remote SSH в VS Code упрощает работу с файлами на удаленных хостах. Вы получаете первоклассный опыт разработки без ручной синхронизации файлов между машинами.

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

Помимо соединений SSH, VS Code также понимает контейнеры Docker, подсистему Windows для Linux и кодовые пространства GitHub. Вы получаете все функции редактора VS Code независимо от того, где находится ваш код, что дает вам больше гибкости при настройке новой среды.