23日目 Remote Hostプラグイン

これまた地味な Remote Hostプラグインについてです。Javaで開発しているとあまり用事はないのですが,スクリプト系の作業しているとしばしば活躍します。どんなことしてくれるかというと,いわゆるアップローダです。プロジェクト配下のディレクトリとサーバのディレクトリを指定して,ファイル個別でアップロード・ダウンロードをしたり,同期をとったりします。そんなの外部ツール使えば済む話なんですが,IntelliJで完結するのに意味があると。:-)


設定は,File->Settings->Deploymentで行います。


「+」ボタンを押してサーバを登録します。登録可能なプロトコルは以下の4種類(と言っても最後の"In place"がナニモノなのかよくわかりませんが...。

  • FTP
  • SFTP
  • Local or mounted folder
  • In place


面白いのが"Local or mounted folder",つまりファイルのコピーをするだけなんですが,プロジェクトの場所とWebサーバの公開ディレクトリが異なっているとか,または全く他の理由でコピーだけしたい,なんて時にいちいちスクリプトを書かなくともIntelliJだけで作業が完結します。


ここで設定したサーバは,Remote Hostウィンドウに表示されます。設定画面の "Mappings" タブにある "Local path" と "Deployment path on server" を設定しておくと,サーバ上のファイルをダウンロードしたり,同期したりできるようになります("Deployment path on server"外のファイルは同期の対象外になりますが,リネームなどの操作はできるようです。


ローカルのファイルをアップロードする方法は,いくつかあります。

などです。


Tools->Deployment->Automatic Uploadを有効にすると,ファイルを保存するたび,更新のあったファイルを自動でアップロードします。「自動アップロードはイヤだけど,毎回メニューを選ぶのも面倒だ」という場合は,File->Settings->Keymapで,Main menu->Tools->Deploymentの "Upload to Default Server"か"Upload to..."のどちらか(または両方)にお好きなショートカットキーを登録すると良いでしょう。


あと面白い機能として,"Sync With Local..."などの同期コマンド*1を実行すると,即時で同期を開始するのではなく,下図のような比較ウィンドウが表示され,違いがあればサーバ or ローカルのどちらを優先するかをひとつひとつ指定することができます。


更新さえしなければ,単純にサーバとローカルの構成比較に使えるので,意外なときに重宝してます。

*1:Remote HostウィンドウやTools->Deploymentにある。