[英]IntelliJ or Eclipse refactoring all usages of a method to a method on a different class/interface
在我們的代碼庫中,Java類com.company.session.old.SessionContext
的使用方式如下(大約1k用法):
import com.company.session.old.SessionContext;
...
SessionContext ctx = SessionContext.create();
我想將其遷移到新的實現中,其內容為:
import com.company.session.SessionContext;
import com.company.session.SessionContextManager;
...
SessionContext ctx = SessionContextManager.instance().create();
導入易於通過全文本搜索和替換來遷移。 實際的調用SessionContext.create(
到SessionContextManager.instance().create(
的遷移也可以通過這種方式完成。現在的問題是,這將導致SessionContextManager
不被導入,並且需要打開所有這些文件進行替換以自動-組織進口。
IntelliJ或Eclipse是否提供功能來搜索方法的所有用法,而不是通過純文本搜索而是通過某種代碼處理機制將其替換為完全不同的方法?
在IntelliJ IDEA中,執行此重構的最簡單方法是更改SessionContext.create()
的實現,以便它調用SessionContextManager.instance().create()
,然后內聯該方法。 您可以在內聯更新所有用法后恢復舊的實現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.