ただ、例えば汎用的なフレームワークやライブラリーを書きたいシーンや、コード生成を前提に周辺クラスとの連携をするシーンにおいては、インスタンス変数とgetter・setterのセットが含まれたクラスを書くこともある。
その時、このgetter・setterを書くのが面倒だと、常日頃思ってた。定型的な書き方なのに記述量は割りと多い。これを解決するには、2つの方法がある。
- インスタンス変数をpublicにする
- getter・setterの記述を生成する仕組みを作る
ダウンロード
GitHubからダウンロードしてください。VDMgetterSetterGen.js
使う準備
まずは、サクラエディタにマクロの登録をする。任意の場所にマクロを置いて、[設定] -> [共通設定]。[マクロ]タブの空いている所に、以下のように設定して、[設定]ボタンを押す。
WS001 posted by (C)mas
続いて、[キー割り当て]タブにてキーを割り当てる。例えば自分の場合は[Shift+Ctrl+g]にしてる。
WS002 posted by (C)mas
こうすれば、[ツール] -> [登録済みマクロ]以下に、設定したマクロとキーが設定されているはず。
使い方
まずは、以下のようにクラスにインスタンス変数を定義する。1行に1インスタンス変数にする。初期値はあってもなくても良い。class EntityClass instance variables id : nat := 0; flag : bool := true; aClass : Aclass; end EntityClass次に、getter・setterを生成するインスタンス変数を選択してコピーする。
WS003 posted by (C)mas
コピーした状態で生成したい場所にカーソルを移動し、マクロを設定したキーを押す。すると、getter・setterが生成される。
WS004 posted by (C)mas
ちなみに、boolのインスタンス変数で生成した場合は、getterがis○○になる仕様。
WS005 posted by (C)mas
仕様
- 操作名は、「getインスタンス変数名」と「setインスタンス変数名」
- インスタンス変数名の最初は大文字にする
- boolのインスタンス変数は、getterが「isインスタンス変数名」になる
- 改行コードはCRLF
0 コメント:
コメントを投稿