#この投稿は IntelliJ IDEA Advent Calendar 2013 の 16日目 の投稿です。
#字ばっかりですみません。。時間切れが近づいてしまったのでまずは上げます。。
自分はふだん、多数のサーバーをお相手にしていて、
IntelliJ IDEA の Browse Remote Host 機能をよく使います。
というわけで、(飛躍)、使い方のメモを、共有してみます。
はじめに
- 環境情報
リモートホストの設定
メニューから
Deployment ダイアログで
左上の [+] ボタンを押下すると、「Add Server」ダイアログが出る。
- Name: 任意のサーバー名を設定。例えば、「192.168.33.10」 や 「Vagrant_test_01」 など。
- Type: 「SFTP」を選択。(他の選択肢は、自分は使ったことがない)
「192.168.33.10」(設定したサーバー名で表示)の接続設定1(「Connection」タブ)
- SFTP host: IPアドレスまたはホスト名(IDEA使用環境から名前解決できる前提)を指定。「127.0.0.1」「localhost」とか。
- Port: ポート番号を指定。通常はデフォルトのまま「22」、場合によっては「2222」とか。
- User name: SSH接続する、サーバー側のユーザー名を指定。「vagrant」とか。
- Auth type: 「Password」 または 「Key pair(Open SSH)」 から選択。
「Password」の場合、 Password: に SSH接続する際のパスワードを指定。「vagrant」とか。
「Key pair(Open SSH)」の場合、 Private key file: SSH接続する際の private key ファイルのパスを指定。「・・・(事情により略)・・・\insecure_private_key」とか。 - → 「Test SFTP Connection...」 で接続テスト。 Succesfully のメッセージが出れば OK。
「192.168.33.10」の接続設定2(「Mappings」タブ)
リモートホストに、実装してみたコードをアップする
- 以下の通りのシンプルなコードをアップしてみます。
<html> <head> <title>タイトル:XXX!</title> </head> <body> Hello Vagrant ! </body> </html>
- 「Project」ツールウィンドウで、アップする html (ファイル。ディレクトリでも可能)を選択
- 右クリック(など)して、コンテキストメニューを呼び出す
- [Upload...]を選択
- 「Choose Server to Upload to」 ポップアップダイアログで、アップするサーバーを指定 (「192.168.33.10」とか)
- ブラウザで表示確認する
- 「Hello Vagrant !」が表示されれば OK。
リモートホストから現状のソースを取得する
アップするのとは逆に、ディレクトリ構成を維持したまま、リモート側にあるコードを取得することもできます。
- 「Remote Host」ツールウィンドウで、ダウンロードする ファイル or ディレクトリ を選択
- 右クリック(など)して、コンテキストメニューを呼び出す
- [Download From here]を選択
- 接続設定しているユーザーに Read のパーミッションがありさえすれば、「転送した」旨のメッセージがコンソールウィンドウに表示されます。
- IDEAで表示確認する
- 上述の、「シンプルなコード」が表示されれば OK。
おわりに
自分が IDEA を採用する理由
- 「万能メカ」なところ
- 「軽い」ところ
- ほかのブラウザやらアプリやら、さらには VMware Player や Virtual Box (両方同時は経験ないですが)が上がっていても、苦なくオペレーションできています。ExcelやPowerPointが絡むと例外もありますが。。
- この「Browse Remote Host」機能
- Webアプリケーションを開発するうえで、コードを書いて開発機にアップして、すぐに動作をチェックすることを All-in-One で実現できるこの機能が、自分はとても気に入っています。他のツールを組み合わせて駆使すれば同様のことを無償でも実現できることがわかっていても、この使用感、覚えると離れられないです。
〆
- 違った使い方やもっと掘り下げたオペレーション等、寄せていただければ願ったり叶ったりです。
募集
- [Tool] > [Start SSH Session] でTerminalを起動できますが、これの操作をログに記録する方法・設定があればとても知りたいです。 できれば、ログファイル名を、TeraTerm.ini でできるような、IPや日付を自動で決めてくれるキーワードがあるとパーフェクトです。