Eclipseのスニペット/テンプレート
VSCodeのスニペットが便利なので、Eclipseでも似たような機能がないか探したところ、
同様の機能として「スニペット」と「テンプレート」が見つかりました。
それぞれ概要を説明しつつ比較してみます。
スニペット
予め記録しておいたコードをそのままカーソル位置に挿入する機能です。
スニペットへの追加方法
- スニペット化したい範囲を選択した後、右クリック=>スニペットに追加を選択
- カテゴリー選択ダイアログが開くのでカテゴリーを選ぶか入力します。一見入力できなさそうに見える選択欄ですが、入力できます。
- パレットのカスタマイズ画面が開きますので、そこでスニペット名や変数を定義します。(なぜかここで名前が変わります)
スニペットの呼び出し方法
- スニペットビューを開きます。出ていない場合はウィンドウ>ビューの表示>その他から
- 登録されたスニペットが一覧で表示されますので、クリックします。
- 変数がある場合は変数を入力するダイアログが表示されますので、入力します。
長所
登録が楽
いちいち設定画面を呼び出さなくても、書いたコードをドラッグ+右クリックで設定できるのは楽です。
コンテキストなど複雑な設定もないのでとっつき易いと思います。
欠点
キーボードだけで完結できない
ショートカットキーの類が設定されていない上ダイアログがやたらと多いので、
マウスでの操作が多くなります。
なるべくキーボードで済ませたい派はイライラするかも知れません。
テンプレート
Ctrl⁺Spaceなどで呼び出すコードアシストに独自のテンプレートを追加する機能です。
変数定義はその部分にフォーカスが当たり、タブで移動できるタイプで
VsCodeのスニペットに近い挙動をします。
スニペットへの追加方法
- テンプレート(java)を開きます。ウィンドウ>設定>Java>エディタ>テンプレートで到達できますが、
Ctrl + 3
でクイックアクセスを開き テンプレートと打ったほうが早いです。余談ですがスニペットとクイックアクセスに打っても出ます。 - 新規ボタンから追加または編集ボタンで既存のものを変更できます。きちんと適用してから閉じましょう。
- 変数に関しては、様々な組み込み変数が用意されています。参考
長所
呼び出しがとにかく楽です。
通常のコードアシストと同様の形で呼び出せるので、キーボードだけでも快適に利用できます。
短所
上記の通り設定が面倒です。
そもそも設定箇所がかなり奥まったところにありますし、
コンテキストや変数の扱いも複雑なので慣れるまでに時間がかかります。
まとめ
- スニペットはマウス中心でとっつき易い
- 高度な補完やキーボードのみでの完結を目指すのならテンプレートを