java_getset.vim : Javaのゲットメソッド、セットメソッドを生成
Java言語用のスクリプトで 変数のアクセサメソッドを作成します。 Java言語では、アクセサメソッドは多用されるので 有用なスクリプトです。 (Windows, Mac)
概要
java_getset.vim : Automatically add getter/setters for Java properties (including array-based)
http://www.vim.org/scripts/script.php?script_id=490
Java言語用のスクリプトで 変数のアクセサメソッドを作成します。
// 変数 private String name;
// アクセサメソッド生成(デフォルト) /** * Get name. * * @return name as String. */ public String getName() { return name; } /** * Set name. * * @param name the value to set. */ public void setName(String name) { this.name = name; }
インストール方法
vim online から、 スクリプトをダウンロードしてきます。
ファイル | URL |
---|---|
java_getset.vim | http://www.vim.org/scripts/script.php?script_id=490 |
ダウンロードしたスクリプトは、
$VIMRUNTIME/ftplugin
にコピーしてください。
使用方法
ノーマルモードで現在カーソルのある行、
もしくはビジュアルモードで選択している行の変数に対して、
働きます。
<LocalLeader>g
このコマンドでgetterメソッドを追加します。
変数上で「 ¥ g 」を入力してみてください。
<LocalLeader>s
このコマンドでsetterメソッドを追加します。
変数上で「 ¥ s 」を入力してみてください。
<LocalLeader>b
このコマンドでgetterメソッド、setterメソッドを共に追加します。
変数上で「 ¥ b 」を入力してみてください。
<LocalLeader>p
このコマンドはプロンプトを立ち上げ、 どのアクセサを追加するか、尋ねてくるコマンドです。
変数上で「 ¥ p 」を入力してみてください。
Note
プロンプトの機能は、香り屋Mac OS X用 gvim 6.1.392で、使用するとフリーズしました。
原因は不明です。
もし、貴方の環境でもフリーズするようなら、スクリプトをコメントアウトするなり、
キーマップを外すなりしてください。
コマンド | 説明 |
---|---|
\s | setterメソッドの追加を行う。 |
\g | getterメソッドの追加を行う。 |
\b | setter、getter両方のメソッドの追加を行う。 |
\p | プロンプトでどちらのメソッドを追加するか尋ねてくる。MacOSXで使うとフリーズする。 |
設定方法
生成されたアクセサメソッド、コメントの部分を見てください。
生成されるメソッドのコード、コメントは設定により変更することができます。
// アクセサメソッド生成(デフォルト) /** * Get name. * * @return name as String. */ public String getName() { return name; } /** * Set name. * * @param name the value to set. */ public void setName(String name) { this.name = name; }
このテンプレートを変更して、生成されるコード、コメントを変更しましょう。
テンプレートは、下の方法のいずれかで導入します。
方法2
このファイルを、「java.vim」にファイル名を変更して、
$HOME/vimfiles/ftplugin (Windows)
$HOME/.vim/ftplugin (Mac)
にコピーします。
既に同名のファイルが存在する場合は、ファイルの中身を追加してください。
その後、テンプレートの該当部分を自分に合うように変更します。
b:javagetset_getterTemplate | getterメソッドのテンプレートです。 |
b:javagetset_setterTemplate | setterメソッドのテンプレートです。 |
b:javagetset_getterArrayTemplate | 配列のgetterメソッドのテンプレートです。 |
b:javagetset_setterArrayTemplate | 配列のsetterメソッドのテンプレートです。 |
%varname% | 実行時に変数名と置きかえられます。 |
%type% | 実行時に型情報と置きかえられます。 |
%modifiers% | 実行時に置きかえられます。通常、publicが入ります。 |
%funcname% | getメソッド時はget + 変数の頭大文字に、setメソッド時はset + 変数の頭大文字と置きかえられます。 |
\n | 改行を示します。 |
. | 文字列を連結します。これは、"(ダブルクォート)の囲みの外にある時です。 |
" | 囲まれた範囲を文字列として扱います。ただし、行の先頭にある場合は、その行をコメントとして扱ってしまいます。 |
let b:javagetset_insertPosition=0 | アクセサメソッドを、Javaソースの最後に追加する。(デフォルト) |
let b:javagetset_insertPosition=1 | アクセサメソッドを、変数の直前に挿入する。 |
let b:javagetset_insertPosition=2 | アクセサメソッドを、変数の直下に挿入する。 |
注意事項など
上にも書いてありますが、
一部の機能は、香り屋Mac OS X用 gvim 6.1.392で、フリーズを引き起こします。
プロンプトにより、選択する機能がそうです。
もし、貴方の環境でもフリーズするようなら、
スクリプトをコメントアウトするなり、
キーマップを外すなりしてください。
Recent Comments
ありがとうございます!
http://nanasi.jp/articles/howto/editing/visualcursor-endtoend.html · 7 years ago
知りませんでした。有難うございました。
http://nanasi.jp/articles/howto/file/open-with-format.html · 9 years ago
<c-f>1ページ分、下にスクロールする<c-b>1ページ分、上にスクロールする
どっちも逆です。
http://nanasi.jp/articles/howto/user-manual/user-manual-motion.html · 10 years ago
set 使用時に : で閉じるのを忘れて右往左往してました。
http://nanasi.jp/articles/howto/file/modeline.html · 10 years ago
やっぱり日本語の方が早いっす。
http://nanasi.jp/articles/howto/help/help_ja.html · 11 years ago