3

我喜欢 Eclipse 的快速修复。我经常使用“将参数分配给新字段”,但我非常想对其进行调整以不包含 final 关键字。(GWT RPC 不序列化最终字段,我现在正在做很多 GWT RPC。)

我无法找到控制此快速修复的设置。是否有我遗漏的设置,或者我是否需要深入研究插件开发文档并制作自己的“非最终字段”快速修复?

我正在使用 Eclipse 3.4

更新 - 将有关标记分辨率扩展点的答案标记为已接受,因为它看起来没有内置的配置选项。

4

5 回答 5

2

使用 Java 编辑器的 Eclipse 保存操作。

转到 Window --> Preferences --> Java --> Editor --> Save Actions 勾选“Perform the selected actions on save”勾选“Addition Actions” 添加以下操作“Add final modifier to private fields”

请参阅随附的屏幕截图。

Eclipse 保存操作

于 2013-07-12T10:30:52.213 回答
0

一个不太简单的方法是扩展 org.eclipse.ui.ide.markerResolution 扩展点。

<extension point="org.eclipse.ui.ide.markerResolution">
      <markerResolutionGenerator
         markerType="org.eclipse.core.resources.problemmarker"
         class="org.eclipse.escript.quickfix.QuickFixer"/>
</extension>

Eclipse Wiki中提供了更多信息

于 2009-07-23T05:20:48.847 回答
0

您可能还想查看“Poor Man's Quick Fix”(http://www.jave.de/eclipse/poormansquickfix/index.html)插件。我用过它一段时间,它可能允许你想要的调整。我不能保证它仍然有效......对不起。

于 2009-07-24T17:35:24.923 回答
0

好的,这很古怪,但是:

仅当您使用构造函数的参数工作时,Quickfix 才会使其成为最终版本;从一个普通函数的参数,它使它成为非最终的。因此,您可以将构造函数设为非构造函数(更改名称并为其指定返回类型),或者将所有参数传递给新函数并在函数上运行 quickfix。然后改回构造函数,或者内联函数。

就像我说的,胡说八道,但至少这很容易。

于 2009-07-24T17:43:20.383 回答
0

最近切换到 Eclipse 3.4,我遇到了“最终”成员问题。

Eclipse 3.4 中有一个新行为,如果私有成员不可修改(例如,没有声明 setter ...),它会将私有成员更改为 final(即使您在没有该关键字的情况下键入它)

应该可以关了吧...

于 2009-07-30T22:18:23.443 回答