Setter,Getterを自動生成する際にフィールド名先頭のmを無視する方法

Androidのコーディング規約で、非Publicかつ非staticなフィールドは、先頭にmつけるというものがあります。これに従ってコーディングしていくわけですが、そのままだととあることをしようとしたときに困ったことになります。それは、Getter,Setterを自動生成する時です。

ソースコードエディタ上でcmd + nもしくはctrl + enterを入力すると、Generateというポップアップが出てきて、そこでGetterやSetterの生成を行うことができます。

例えば作成しているクラスがmHogeというフィールドを持っていて、Setterを生成するとしましょう。

ここで何も考えずにSetterを作成すると、生成されるメソッド名はsetmHoge()となります。そう、余計なmが一緒についてくるのです。この場合、通常はsetHoge()としたいでしょうから、これでは非常に面倒くさいことになります。

これはAndroid Studioの設定を変えることで対処できます。

cmd + ,でPreferenceを開き、Code Style > Javaを選択、Code Generationのタブを開きます。そしてFieldのName prefixの欄にmを入力してやります。これだけでオッケー。

Code Generation

ついでにコーディング規約でstaticフィールドの先頭にはsをつけるという規約があるので、Static fieldにsも追加しておきます。

これでSetterを生成した際にsetHoge()と解釈してくれるようになります。

Android Studioと銘打っているのに、なぜコーディング規約に従った設定になっていないのか不思議で仕方ありません・・・。

Amazonのほしいものリストを公開しています。仕事で欲しいもの、単なる趣味としてほしいもの、リフレッシュのために欲しいものなどを登録しています。 寄贈いただけると泣いて喜びます。大したお礼はできませんが、よりよい情報発信へのモチベーションに繋がりますので、ご検討いただければ幸いです。