我当前的项目有一个编码约定,即实例变量永远不会用this引用。前缀,并且该参数永远不应隐藏实例变量。
这将导致设置器看起来像:
public void setFoo(final Foo aFoo) { foo = aFoo; }
不幸的是,默认情况下,eclipse不会为我生成该信息。我发现在代码样式中,可以通过在参数前缀列表中添加a来接近它,但是我只希望将其应用于set方法,并且我也想在其中添加final标记。
有没有办法使用模板来实现这一目标?其他配置?
我认为,当前仅将参数前缀应用于setter方法的唯一方法是为setter方法编写新模板,但是访问器生成器将不会使用此模板。 您可以修改Eclipse设置,以在工作区或项目级别为所有类型的变量指定前缀(和后缀),但这将适用于所有方法,而不仅限于设置方法。您可以使用“清理”功能来确保您的参数是最终的。
为了安抚您的代码约定,您 可以 指定所有实例变量作为前缀,这样您的参数将不会覆盖实例变量,尽管您可能不想这样做。
可变前缀
要修改工作空间设置,请转到“ 窗口” -> “首选项” ->“ Java” -> “代码样式” ,然后编辑列表以使用首选的前缀/后缀。
要修改项目设置,请打开项目属性(Alt+ Enter),然后选择“ Java代码样式” ,选择“ 启用项目特定的设置” ,然后按照工作空间进行编辑首选项。
Alt
Enter
要仅对setter方法启用特定的前缀,您必须深入研究代码模板的内部以识别和修改setter
最终参数
为确保所有方法参数都是最终参数,您可以修改Java清理处理器以将 final* 添加到参数中。在 窗口 -> 首选项 -> Java- > 代码样式 -> 清理下 ,您可以复制或编辑活动配置文件。在“ 代码样式” 选项卡下,在“ 变量声明” 部分中选择 “可能的使用修饰符” ,然后确保选择了“ 参数” 。运行 源 -> 清理 时将应用 清理 *
要在每个保存中自动应用最终参数,您可以在 Window- > Preferences- > Java- > Editor- > Save Actions 下修改 保存操作 ,确保 选中“对保存 框 执行所选操作” (这也会格式化)您的代码并根据需要组织导入),选择“ 其他操作” 选项,然后 单击“配置” ,然后在 “代码样式”** 下应用与上述相同的方法