0

古いJavaプロジェクトで行うべき多くの再フォーマットがあります。

工場で作成された300以上の異なるクラスがあり、Eclipse用のプラグインまたはツールを使用して変更を自動化したいと思います。

300クラス(上記のFooクラスと同じ)の同じパラメーターを削除し、毎回マザークラス名を変更する必要があります。

例:

public Foo extends **OldClass** {

    public Foo(A a, **B b**){
        //..
    }

}

public Foo extends newClass {

    public Foo(A a){
        //..
    }

}

また、多くの宣言を「バッチ検索して置換」できるようにしたいと思います。つまり、(正規表現パターンを使用した)置換のリストを備えたツールが必要であり、ワンクリックですべてを置換するだけです。

私がこれをどのように行うことができるか知っていますか?私はWindows7システムを使用しています。

4

2 に答える 2

1

現在のコードがそれほど複雑でない場合は、sedを使用して回避できます。

find . -type f -iname '*.txt' -exec sed -i 's,this,that,g' {} +
于 2012-05-15T19:03:40.183 に答える
1

これを行うには、Eclipseの検索ダイアログ(Ctrl + H)を使用できます。[検索]ボタンの横に[置換]ボタンがあります。これを使用して、複数のファイルにまたがるすべてのオカレンスを検索し(たとえば、一致するすべてのファイル名を指定*.java)、単一のユーザーアクションでそれらを置き換えることができます。

置換オプション付きのEclipse検索ダイアログ

検索条件(「extendsOldClass」など)を構成して検索すると、置換値を入力するためのダイアログが表示されます(「extendsNewClass」など)。そのダイアログで「OK」を押すと、検索と置換が行われます。

ダイアログを置き換える

これにより、検索と置換の両方で正規表現も使用できるようになります(これにより、正規表現グループキャプチャの使用が可能になると思いますが、テストしていません)。削除したいパラメータにも同じ原則を適用できるはずです。

extends OldClassANDの両方が表示されるクラスのみを変更する場合は注意が必要で, B b)あり、それらは独立して発生する可能性があります。

于 2012-05-15T19:17:58.367 に答える