Eclipseで、「GenerateDelegateMethods」リファクタリングを次のようなJavaクラスに適用しようとすると次のようになります。
class Foo implements Bar {
Bar bar;
}
@Override
Eclipseは、生成されたメソッドのアノテーションを生成しません。これはバグですか、それともこれには正当な理由がありますか?
Eclipseで、「GenerateDelegateMethods」リファクタリングを次のようなJavaクラスに適用しようとすると次のようになります。
class Foo implements Bar {
Bar bar;
}
@Override
Eclipseは、生成されたメソッドのアノテーションを生成しません。これはバグですか、それともこれには正当な理由がありますか?
これは、デリゲートメソッドを生成するときにアノテーションが追加されない理由についての質問には答えません@Override
が、ファイルの保存時にそれを行うための保存アクションを追加できます。に移動
Window -> Preferences -> Java -> Editor -> Save Actions
セクションののエントリに注意して@Override
くださいAdditional actions
。それらが不足している場合は、Configure...
ボタンをクリックしてMissing Code
タブを選択し、次のオプションを選択してください。
プロジェクト全体またはパッケージ全体に注釈を一括で追加する場合は、プロジェクトまたはパッケージ(または複数)を選択して右クリックし、[ソース]>[クリーンアップ...]を選択します。
[クリーンアップ]ダイアログで、欠落している注釈の追加を含むカスタムプロファイルを構成できます。
正当な理由はありませんが、それ自体は「バグ」ではありません。ただの欠点。おそらく、リファクタリングは@Override
(もちろん、一般的な注釈よりも)古いものであり、更新されたことはありません。
[ウィンドウ]->[設定]->[Java]->[エディター]->[アクションの保存]の設定により、Androidアプリケーションの開発中に特にXMLファイルに望ましくない影響が生じることがあります(そこで経験したことがあります)。IMHOのより良い解決策は、+ 1を使用するか、パッケージ(またはクラスなど)を右クリックしてから、[ソース]-> [クリーンアップ]を選択して、欠落している@Overrideアノテーションをすべて追加することです。