SFTP Neo — это форк и современная переработка расширения vscode-sftp, изначально созданного liximomo и позже поддерживаемого Natizyskunk. Расширение обновлено для полной совместимости с актуальными API Visual Studio Code, включает исправленные зависимости и ряд новых возможностей.
Назначение и сценарии использования
Расширение предназначено для разработчиков, которым необходимо синхронизировать локальный код с удалённым сервером по протоколам SFTP или FTP, не покидая редактор. Типичные сценарии:
- Разработка сайтов или веб-приложений с автоматической выгрузкой изменений на тестовый или продакшен-сервер.
- Управление файлами на удалённом сервере: просмотр, переименование, перемещение и удаление прямо из боковой панели VS Code.
- Работа с несколькими окружениями (dev, staging, prod) через переключение профилей.
- Синхронизация проектов, в которых часть файлов генерируется вне редактора (например, сборщиками или AI-инструментами), с выборочной автоматической загрузкой.
- Безопасное подключение к внутренним серверам через промежуточные хосты (SSH hopping).
Составляющие и особенности
Управление удалёнными файлами
- Remote Explorer — древовидный просмотр файловой структуры сервера с возможностью фильтрации.
- Переименование и перемещение на сервере — операции выполняются одной командой без повторной загрузки содержимого.
- Перетаскивание — опциональное изменение структуры папок прямо в Remote Explorer.
- Удаление с резервным копированием — при включённой опции
backup.onDeleteперед удалением создаётся копия, которую можно восстановить из панели Backups.
Синхронизация и автоматизация
- Загрузка при сохранении (
uploadOnSave) и файловый наблюдатель (watcher.autoUpload) — могут работать вместе без дублирования операций. - Автоматическое переименование — при переименовании файла в редакторе расширение выполняет серверное переименование вместо удаления и повторной загрузки.
- Синхронизация директорий — двусторонняя или односторонняя с настраиваемыми правилами (пропуск, обновление, удаление).
- Профили — позволяют задать разные серверы и параметры (например, включить авто-загрузку только для dev-окружения).
Безопасность и хранение данных
- Пароли и passphrase для SSH-ключей не сохраняются в
sftp.json— они либо запрашиваются при подключении, либо помещаются в системную связку ключей (OS keychain). - Поддержка SSH-агента, интерактивной аутентификации и пользовательского
sshConfigPath. - Возможность задать отдельные known-host записи для каждого workspace.
Дополнительные инструменты
- SSH-терминал — можно открыть сессию прямо из боковой панели.
- Резервное копирование — перед каждой загрузкой или синхронизацией сохраняется версия файла с меткой времени (локально или на сервере). Количество хранимых версий настраивается.
- Хуки — выполнение произвольных команд до и после загрузки, скачивания или синхронизации.
Конфигурация
Все параметры задаются в файле .vscode/sftp.json. Допускается массив объектов для синхронизации разных частей проекта с разными серверами. Поддерживаются FTP-опции (secure, passive) и SFTP-специфичные (algorithms, hop для прыжков через bastion-хост).
Кому полезно
Расширение ориентировано на веб-разработчиков, DevOps-инженеров и всех, кто регулярно работает с удалёнными серверами через SFTP/FTP и предпочитает оставаться в среде VS Code. Особенно актуально для тех, кто использует несколько окружений, нуждается в автоматической синхронизации при сохранении или внешних изменениях, а также ценит возможность быстрого просмотра и правки файлов на сервере без отдельных клиентов.
Ограничения
- Файл конфигурации
sftp.jsonиспользует строгий JSON — комментарии не поддерживаются. - Резервное копирование по умолчанию отключено; для его работы требуется явно задать
backup.enabled: true. - Хранение паролей в открытом виде внутри конфигурационного файла не рекомендуется — расширение выводит предупреждение и предлагает сохранить пароль в системной связке ключей.
- Некоторые функции (например, перетаскивание в Remote Explorer, автоматическое переименование) требуют явного включения в настройках.
- Расширение работает только с протоколами SFTP и FTP; другие протоколы передачи файлов не поддерживаются.
Отзывы
Отзывов пока нет.