如何在Eclipse中重构变量类型?

Ste*_*nko 53 java eclipse refactoring

我想像这样重构代码:

int x=4;
int y=x;
System.out.println(y);
Run Code Online (Sandbox Code Playgroud)

我怎样才能在Eclipse中自动执行此操作,因此x的类型提升为long会导致因变量更改其类型:

long x=4;
long y=x;
System.out.println(y);
Run Code Online (Sandbox Code Playgroud)

Zds*_*Zds 39

我通常做的是将其中一个上游变量更改为long.这会导致Eclipse在您提供long而不是int的每个赋值中给出错误.然后我只选择ctrl-1(快速修复)并选择"将变量x更改为长".

当新类型不能直接分配给旧类型时,这种方法有效.

  • 真的应该有更好的方式:( (6认同)
  • 为了使它快一点,您可以使用`ctrl +,`/`ctrl + .`导航到上一个/下一个错误. (5认同)

jwi*_*ir3 23

我不认为您可以使用Eclipse中的重构工具直接执行此操作.但是,您可以做的是将光标放在变量上x并点击CTRL+ SHIFT+ G以查找工作区中的所有引用.这将允许您更改任何从属引用.


小智 7

IntelliJ 有这个特性(重构->类型迁移),但不幸的是,Eclipse 还没有。我希望 Eclipse 会尽快添加它。

  • @Pyves 最近有很多关于 Eclipse 的内容......我想贡献它的代码,例如更新 Eclipse Market Place......我不知道从哪里开始......Eclipse 的 github 存储库在哪里这是完整的代码,我迷路了。它的开发非常缓慢,目前我正在使用 IntelliJ 。顺便说一句,这不是抱怨评论。 (2认同)
  • @GOXR3PLUS 这种特性属于jdt.ui,所以你可能想看看https://wiki.eclipse.org/JDT_UI/How_to_Contribute (2认同)