Sublime Text 2 の SFTP パッケージでファイルの自動アップロード&モニタリング機能を試してみた

@kasumiiです。こんにちは。

Sublime Text 2 で FTP/SFTP が利用できるパッケージを試してみました。変更したファイルをさくっとサーバへアップロードできるのは便利!

ファイルを指定してアップロード
編集して保存したファイルを自動アップロード
ファイルをモニタリングして変更があったら自動アップロード

などなど、設定によっていろいろできます。

Package Control を使ってコマンドパレットから「SFTP」を検索してインストール!

このパッケージは有償(16ドル)ですが、フリートライアル可能なので試してみましょう。試用期間の制限は特にないみたいですが、ST2本体同様に、気に入ったら購入しておきたいところですね!

サイドバーのプロジェクトフォルダを右クリックし、「SFTP/FTP」→「Map to Remote」を選択します。

すると、「sftp-config.json」という設定ファイルがプロジェクトフォルダのルートにできるので、このファイルを編集してサーバ情報などを設定していきます。

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,
    "confirm_downloads": false,
    "confirm_sync": true,
    "confirm_overwrite_newer": false,
    
    "host": "example.com",
    "user": "username",
    //"password": "password",
    //"port": "22",
    
    "remote_path": "/example/path/",
    "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",
}

さてさて、ひとまず簡単に FTP で接続してみるため、以下の項目を編集して保存しましょー。

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

先へ進む前にちょっとここで注意点。

この設定ファイル「sftp-config.json」を間違ってアップロードしないように!サーバのパスワードなどがバレバレになっちゃう可能性があるのでお気をつけください><

サイドバーからファイルを右クリックして「SFTP/FTP」→「Upload File」してみます。

Sublime Text 2 の画面の下のほうにアクティビティパネルが出てきてサーバの接続情報などが表示され、「success」と出ればアップロードOKです!

アクティビティパネルはすぐに消えちゃうんですが、再表示するには以下のショートカットキーで。

Mac : Ctrl+Command+U+S

Win : 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をモニタリングしておけば、コンパイルするたびに自動でアップロードしてくれてはかどります!(ただしモニタリングしているファイルは開いておかないとダメみたい。)

ちなみにこのモニタリングは1ファイルだけかな?と思ったんですが、やってみたら複数のファイルを同時にモニタリングできるみたいでした。ファイルじゃなくてフォルダのモニタリングもできたらいいなーと思ったんですが、残念ながらそのような設定は見つけられず。。。

でも、Sublime Text 2 でさくっとファイルアップロードできるのはやっぱり便利ですねー。Sublime SFTP パッケージの他の機能やショートカットキーなどについて、くわしくは公式サイトの説明をどうぞ。

【公式サイト】Sublime SFTP – an FTP, FTPS & SFTP Package for Sublime Text 2 by wbond

まだまだST2には便利なパッケージがいろいろあるので、自分好みにカスタマイズしていこうと思いますヽ(*´ω`*)ノ

[show_item_link_sublimetext]