SFTP

Last-modified: 2016-01-02 (土) 20:05:45

Sublime Text上からファイルをアップロードできるようにするプラグイン。
有償(20ドル)だが、試用期間の制限は特にない。
※ただし、ライセンス購入していない場合、Sublime Textの購入確認と合わせ、確認のメッセージが出る頻度が増える。

  • ファイルを指定してアップロード
  • 編集して保存したファイルを自動アップロード
  • ファイルを監視して変更があったらアップロード

など、設定によって様々な操作ができる。

Sublime SFTP
http://wbond.net/sublime_packages/sftp

 

導入手順

インストール

Package Controlから「SFTP」を検索してインストールする。
有償のプラグインだが、無料で試用が可能。気に入ったら購入すればよい。

sftp-config.json で設定

サイドバーのプロジェクトフォルダを右クリックし、「SFTP/FTP」→「Map to Remote」を選択する。
すると、「sftp-config.json」という設定ファイルがそのフォルダ内に作成される。
このファイルを編集して、サーバー情報などを設定する。

デフォルト設定は以下の通り。

{
    // The tab key will cycle through the settings when first created
    // Visit http://wbond.net/sublime_packages/sftp/settings for help
    // sftp, ftp or ftps
    "type": "sftp",
    "save_before_upload": true, //アップロードする前に保存する
    "upload_on_save": false, //ファイルを保存したら自動でアップロードする
    "sync_down_on_open": false,
    "sync_skip_deletes": false,
    "sync_same_age": true,
    "confirm_downloads": false,
    "confirm_sync": true,
    "confirm_overwrite_newer": false,
    "host": "example.com", //自分のサーバーのホスト名
    "user": "username", //ftpユーザー名
    //"password": "password", //ftpパスワード
    //"port": "22", //ポート番号
    "remote_path": "/example/path/", //ftpのルートにするディレクトリパス
    "ignore_regexes": [
        "\\.sublime-(project|workspace)", "sftp-config(-alt\\d?)?\\.json",
        "sftp-settings\\.json", "/venv/", "\\.svn", "\\.hg", "\\.git",
        "\\.bzr", "_darcs", "CVS", "\\.DS_Store", "Thumbs\\.db", "desktop\\.ini"
    ],
    //"file_permissions": "664", //作成するファイルのパーミッション
    //"dir_permissions": "775", //作成するディレクトリのパーミッション
    //"extra_list_connections": 0,
    "connect_timeout": 30,
    //"keepalive": 120,
    //"ftp_passive_mode": true,
    //"ssh_key_file": "~/.ssh/id_rsa", //ローカルにある公開鍵までのパス
    //"sftp_flags": ["-F", "/path/to/ssh_config"],
    //"preserve_modification_times": false,
    //"remote_time_offset_in_hours": 0,
    //"remote_encoding": "utf-8",
    //"remote_locale": "C",
}
 

この中から、以下の部分を編集し、保存する。
パスワードの重要情報が漏れてしまうので、この設定ファイルを間違ってアップロードしないように。

"type": "ftp", // FTPで接続
"host": "example.com", // ホスト名
"user": "username", // ユーザ名
"password": "password", // パスワード
"remote_path": "/example/path/", // サーバ側のパス

アップロード

サイドバーからファイルを右クリックして「Upload File」を選択する。
Sublime Textの画面下にアクティビティパネルが出てきてサーバの接続情報などが表示され、「success」と出ればアップロード成功。

アクティビティパネルはすぐに消えてしまうが、再表示するには以下のショートカットキーを使用する。

Mac
Ctrl+Command+U+S
Windows
Ctrl+Alt+U+S

ファイルを保存したら自動でアップロードする

sftp-config.json で以下のように設定すると、保存するたびに自動でサーバにアップロードする。

"upload_on_save": true,

ファイルを監視して自動でアップロードする

上記と似ているが、外部のツールを使ってファイルが変更・保存された場合でも、自動で感知してアップロードしてくれる。複数のファイルを監視することも可能。

サイドバーのファイルを右クリックして「SFTP/FTP」→「Monitor File(Upload on External Save)」を選択。
監視中のファイルにタブをフォーカスすると、ステータスバーに「SFTP: Monitoring」と表示され、監視されていることがわかる。
監視をやめる場合は、再度メニューから SFTP/FTP -> Monitor File を選択すればよい。

例えばSass/SCSSやLESSを使用していて、自動生成されるCSSを監視しておけば、コンパイルするたびに自動でアップロードする。
ただし、監視しているファイルを開いておく必要がある。