如何在IDEA中查找指定类的所有变量并将其替换为同名

Posted

技术标签:

【中文标题】如何在IDEA中查找指定类的所有变量并将其替换为同名【英文标题】:How to find and replace all variables of specified class to same name in IDEA 【发布时间】:2014-02-09 06:48:59 【问题描述】:

假设我有一堂课:

public class User 
    private String name;
    public void setName(String name) ;
    public String getName() 

在项目的代码中,User类的实例使用了很多不同的变量名:

User user = new User();
user.setName(...);

User u = new User();
u.getName();

User member = new User();
member.setName(...)

有什么方法可以在一次操作中将它们全部替换为user

我尝试了IDEA提供的“结构替换”功能,但做不到。

【问题讨论】:

重构或查找并替换。 不行,AFIK,你必须自己寻找和替换。 在构造函数上查找用法,并手动修复每个事件可能会很快... 我不认为你可以这样做,因为它需要对每个实例名称进行完整的重命名重构,这是一件苦差事,很快就会导致混乱。但是,无论如何,您可能真的不想这样做。您的示例显示您正在为某些实例变量使用角色名称,这是一个很好的做法,您将在重构时打破它。虽然,替换单字母变量通常是个好主意。 【参考方案1】:

尝试编辑 - 查找 - 替换,然后勾选“Regex”,输入“User [a-z]*”。这应该得到所有带有“用户”的行。然后在替换字段中输入“用户”+您的标识符并执行“全部替换”。

【讨论】:

然后你会得到 User user = new User();用户.setName(...);用户用户 = 新用户(); u.getName();用户用户 = 新用户(); member.setName(...) 和很多错误。

以上是关于如何在IDEA中查找指定类的所有变量并将其替换为同名的主要内容,如果未能解决你的问题,请参考以下文章

python 查找字符串并将其替换

用基于该字符串的变量替换bash中的字符串[重复]

python 在字符串中查找匹配项并将其替换为替换字符串,直到没有匹配字符串。

IDEA常用快捷键

PLSQL:在 xml 中查找标签值并将其替换为标签名称以创建示例数据

查找并替换所有以 # 开头的单词,并将标签文本包装在 HTML 中