ATOM エディタでリモートのディレクトリ・ファイルを同期する

no extension

まぁ,独りで作業するなら git で管理するほうが安全なのだが,リモートのサーバとちょっとしたファイルのやり取りをするために FileZilla を起動して接続するのは大袈裟でかったるいなぁ思い始め「そういや ATOM のパッケージでリモートのファイルを直接編集できるパッケージがなかったっけ?」と探してみた。

remote-ftp を推す記事が多かったので最初はこれを導入してみたが,何故か sftp で接続できんのよ。 しょうがないので他のパッケージを漁ってみたのだが remote-sync が設定や操作がシンプルなので,これを使うことにした。 厳密にはリモートのファイルを直接編集するわけではないのだが,まぁいいや。

まずはローカル側とリモート側で同期するディレクトリを作成する。

ローカル側で作成したディレクトリをプロジェクトのルートとして ATOM を起動し,コマンドパレットから “Remote Sync: Configure” を選択するか Tree View のコンテキストメニューから “Remote Sync” → “Configure” と選択する。

すると以下の設定画面が表示されるので必要な情報を設定して [Save] する。

これで準備完了。 “uploadOnSave” にチェックが入っていればセーブするたびにリモートのファイルを更新してくれる。 その他の機能についてはコマンドパレットまたはコンテキストメニューから起動できる1

ちなみに設定内容はロカール側のプロジェクト・ディレクトリ直下の .remote-sync.json に格納されている。 中身はこんな感じ。

{
  "logger": {
    "title": "Remote Sync"
  },
  "uploadOnSave": true,
  "useAtomicWrites": true,
  "deleteLocal": true,
  "hostname": "example.com",
  "port": "2222",
  "target": "/home/username/docs/sync",
  "ignore": [
    ".remote-sync.json",
    ".git/**"
  ],
  "username": "username",
  "watch": [],
  "useAgent": true,
  "transport": "scp"
}

このファイルさえあれば任意のディレクトリを同期ディレクトリにできるわけだ。

とりあえず,こんなもんかな。


  1. Diff ツールについては初期状態では何も指定されていないので remote-sync の設定で任意のツールを指定する。個人的には KDiff3 がオススメ。 Ubuntu なら apt コマンドで導入できる。 ↩︎