Обзор

В своей статье Настройка среды разработки на Android-устройствах я показал, как можно установить и настроить Neovim, Emacs и Visual Studio Code на устройстве. В этой статье я расскажу, как использовать VS Code и Neovim для удаленной разработки кода.

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

Как для VS Code, так и для удаленной разработки кода Neovim на удаленной машине должен быть запущен SSH-сервер. Поскольку я уже настроил OpenSSH в предыдущей статье, я не буду повторять здесь шаги снова.

Предварительное условие для кода Visual Studio

VS Code Remote SSH поддерживает только дистрибутивы Linux на основе glibc. Поскольку мы используем Termux на устройствах Android, для нас есть дополнительный шаг по настройке Ubuntu в Termux.

Следуйте инструкциям здесь, чтобы настроить ubuntu-in-termux.

Как только я получу приглашение Ubuntu, мне нужно установить OpenSSH для экземпляра Ubuntu.

root@localhost:~# apt-get update
root@localhost:~# apt-get install openssh-server

Установите зависимые библиотеки, необходимые для VS Code.

root@localhost:~# apt-get install build-essential -y

Добавьте следующую строку в /etc/ssh/sshd_config, чтобы разрешить вход в систему root.

PermitRootLogin yes

Запустите прослушивание sshd на порту 8023.

root@localhost:/# mkdir -p /run/sshd
root@localhost:/# /sbin/sshd -p 8023

Сменить пароль для рута.

root@localhost:/# passwd

Код Visual Studio

Я собираюсь использовать Удаленная разработка Visual Studio Code, которая позволяет нам использовать контейнер, удаленную машину или подсистему Windows для Linux (WSL) в качестве полнофункциональной среды разработки.

В VS Code нажмите Ctrl-P (Command P для macOS) и введите

  • ext install ms-vscode-remote.remote-ssh для установки расширения Remote SSH
  • ext install ms-vscode-remote.remote-ssh-edit для установки дополнительных расширений для раскрашивания синтаксиса, ключевого слова IntelliSense и простых фрагментов при редактировании файлов конфигурации SSH.

В VS Code выберите Remote-SSH: Connect to Host… в палитре команд (F1).

SSH на устройство. В моем случае IP-адрес 192.168.0.116.

Если вы столкнулись с проблемой тайм-аута SSH, попробуйте еще раз.

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

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

Неовим

Есть как минимум 2 варианта использования Neovim для удаленного редактирования файлов.

sshfs

С компьютера смонтируйте удаленную папку с помощью sshfs. Синтаксис sshfs [user@]hostname:[directory] mountpoint

Ниже я монтирую удаленную папку в папку ~/remote.

# mkdir -p ~/remote
# sshfs -d -p 8022 [email protected]:/data/data/com.termux/files/home ~/remote

Как только удаленная папка смонтирована, я могу использовать nvim для редактирования файлов.

объект

Оба Vim / Neovim поставляются в комплекте с Netrw, который действует как файловый менеджер. Введите :h netrw-nread, и вы увидите, что он поддерживает такие протоколы, как scp, sftp, http, rcp и т. д. Для scp используется синтаксис scp://[user@]machine[[:#]port]/path.

Поскольку я использую аутентификацию по паролю, с моего компьютера, использующего Arch Linux, мне нужно установить ssh-askpass.

# sudo pacman -S x11-ssh-askpass

Затем я могу использовать Neovim для просмотра удаленной папки. Обратите внимание на «/» в конце.

# nvim scp://[email protected]:8022//data/data/com.termux/files/home/

Также ознакомьтесь со следующими статьями.







Если вы еще не являетесь участником Medium и хотите им стать, нажмите здесь. (Часть вашей абонентской платы будет использована для поддержки alpha2phi.)