私は比較的大きなコードベースを持っており、コード全体で同様の変更を行う必要があります。
私はこのような行をたくさん持っています
$options = new Options();
交換したい
$options = Options::getInstance();
しかし、いくつかの場所で私は持っています
$options = new Options('alternate_options_file.txt')
それら、私は放っておいてみたい。
また、今後もこのような変化が増えると思います。
すべてのファイルに手作業で触れることなく、コードベース全体でこの変更を行う方法が必要です。この場合、必要なものだけをキャッチする正規表現を簡単に作成できます。しかし、これにはもっと複雑なバージョンが登場するはずです。次のことができる一般的なソリューションが必要です。
- 変更する可能性のある場所のセットを見つける
- それらの一部を含めるか除外する
- 指定した場所で自動的に変更を加えます。
(resharperを使用したことを覚えています。これにより、変更されるすべての場所のリストが表示され、それらを含めたり除外したりできます。しかし、現在はPHPに取り組んでおり、以外のいくつかの置換を行いたいと思います。純粋なリファクタリング。)
今のところ、私の最善の策は、ack
vimの内部から使用し、マクロを記録してから、:cnext
必要に応じてマクロを使用して適用することです。しかし、おそらくもっと良い選択があります。