【问题标题】:Consistent renaming of fields in eclipseeclipse中字段的一致重命名
【发布时间】:2012-06-05 13:06:55
【问题描述】:

在重构字段时,eclipse 中的默认行为是只重命名该字段,而访问器方法的名称不一致。

按两次Alt+Shift+R 会显示一个“重命名对话框”,我可以在其中选择是否也应重命名访问器(作为两个单独的选项)。这减轻了手动重命名访问器的痛苦,但仍然不是最理想的,涉及比就地重命名多按 3 个快捷方式,加上我通常的健忘...... :)

我想不出为什么我不希望我的重构保持一致,那么有没有办法让访问器重命名默认行为?只要能正常工作,我就可以调整隐秘的设置和设置晦涩的标志。

谢谢

【问题讨论】:

  • 我不认为IDE应该能够决定访问器方法,例如getName();可能是一个业务方法而不是简单的访问器方法
  • 我记得 Eclipse 似乎还记得你之前的决定:如果你选择了重命名 getter/setter 的选项,下次只需 Alt-Shift-R 一次,getter/setter 也会被重命名。我不确定哪个版本有这样的功能,我知道我在 3.5 或 3.6 时代看到了这种行为
  • @JigarJoshi 有一个字段 name 和一个方法 getName() 做与返回 name 字段无关的事情是一个相当糟糕的设计决策 IMO。此外,eclipse 已经有提到的选项,我只是想让它更易于访问
  • @AdrianShum 您对 Eclipse 的记忆部分正确 - 无论先前的选择如何,单个 Alt+Shift+R 仍然执行“幼稚”的重命名。但是下次按下Alt+Shift+R 两次时,setter/getter 选项仍然处于选中状态。所以开销减少到只有一个快捷方式:) 感谢您的注意。
  • 你真的希望有人修改 Eclipse 插件?

标签: java eclipse refactoring


【解决方案1】:

刚刚在 Eclipse 3.6 Helios 中尝试过(但我记得它可以在 Eclipse 3.4 和 3.5 甚至更早版本中使用)

编辑器中的单个 Alt-Shift-R 重命名,一旦按下 ENTER,将更改相应 getter 和 setter 的方法名称。先决条件可能是您应该通过按 Alt-Shift-R 两次打开“重命名字段”对话框,然后选择重命名 getter 和重命名 setter 中的选项。随后的重命名操作将记住您对此的选择。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 2014-09-10
    • 1970-01-01
    相关资源
    最近更新 更多