我当前的项目有一个编码约定,即实例变量永远不会用this引用。前缀,并且该参数永远不应隐藏实例变量。
这将导致设置器看起来像:
public void setFoo(final Foo aFoo)
{
foo = aFoo;
}
不幸的是,默认情况下,eclipse不会为我生成该信息。我发现在代码样式中,可以通过在参数前缀列表中添加a来接近它,但是我只希望将其应用于set方法,并且我也想在其中添加final标记。
有没有办法使用模板来实现这一目标?其他配置?
我认为,当前仅将参数前缀应用于setter方法的唯一方法是为setter方法编写新模板,但是访问器生成器将不会使用此模板。
您可以修改Eclipse设置,以在工作区或项目级别为所有类型的变量指定前缀(和后缀),但这将适用于所有方法,而不仅限于设置方法。您可以使用“清理”功能来确保您的参数是最终的。
为了安抚您的代码约定,您 可以 指定所有实例变量作为前缀,这样您的参数将不会覆盖实例变量,尽管您可能不想这样做。
可变前缀
要修改工作空间设置,请转到“ 窗口” -> “首选项” ->“ Java” -> “代码样式”
,然后编辑列表以使用首选的前缀/后缀。
要修改项目设置,请打开项目属性(Alt
+ Enter
),然后选择“ Java代码样式” ,选择“ 启用项目特定的设置”
,然后按照工作空间进行编辑首选项。
要仅对setter方法启用特定的前缀,您必须深入研究代码模板的内部以识别和修改setter
最终参数
为确保所有方法参数都是最终参数,您可以修改Java清理处理器以将 final* 添加到参数中。在 窗口 -> 首选项 ->
Java- > 代码样式 -> 清理下 ,您可以复制或编辑活动配置文件。在“ 代码样式” 选项卡下,在“ 变量声明”
部分中选择 “可能的使用修饰符” ,然后确保选择了“ 参数” 。运行 源 -> 清理 时将应用 清理 *
要在每个保存中自动应用最终参数,您可以在 Window- > Preferences- > Java- > Editor- >
Save Actions 下修改 保存操作 ,确保 选中“对保存 框 执行所选操作”
(这也会格式化)您的代码并根据需要组织导入),选择“ 其他操作” 选项,然后 单击“配置” ,然后在 “代码样式”**
下应用与上述相同的方法
问题内容: 实现类时,我的问题非常简单。(因为Eclipse和IDEA可以为我们生成)。 但是,当您扩展课程时,我不知道该怎么做。(当然,这项工作不是必须的,但是我想确定在代码中要做什么,因此此选项将很有帮助)。 谢谢 :) 问题答案: 对于Eclipse,进入Source菜单()-> Override / Implement Methods …,这将为您提供所有可以@overriden的方法的列
我试图在Eclipse中以编程方式使用JShell编写一段代码,但是Eclipse过滤了类在自动完成中。我只看到从对象类继承的成员。我想这是因为该类位于包中,但该包似乎是导出的,应该被视为公共的。
问题内容: 我的实体类: 我想在创建或修改对象时将CREATED和MODIFIED字段自动互补。CREATED和MODIFIED字段应为TIMESTAMP类型。 我该如何实现? 问题答案: 您只要在创建实例时就创建一个,然后在实体更新时就更新该字段: 不要为这些方法中的任何一种提供设置器,仅提供获取器。
问题内容: 我想在Eclipse中生成自定义方法,就像我们可以生成toString,getter和沉降器的方式一样(右键单击-> source->)。谁能告诉我这样做涉及什么? 谢谢, 荷兰人 问题答案: 您可以在最近(Eclipse Galileo 3.5)生成动作之后添加自己的动作, 使用主动贡献URI: 具有活动操作定义标识符: 使用有效贡献项目类:(包) 来自贡献插件:org.eclips
我正在努力通过JAVA自动生成SVN标记,需要一些建议。这就是我们手动操作的方式-从SVN repo中检查一个maven项目/插件,并运行一组maven命令(mvn clean test,mvn release:prepare)来生成SVN标记,mvn release:prepare是最后一个命令,它将运行单元测试,生成标记并将其提交给SVN,我正在努力实现这个过程的自动化。 我看了svnkit
问题内容: 每当我在Eclipse中创建一个新的Java文件并选中add选项时,都会生成以下代码: 我如何: 删除评论 更改缩进,以使每个{都位于一行上 删除TODO自动生成的注释 问题答案: 缩进是格式问题,而注释是模板问题。 模板位于 窗口- >首选项-> Java->代码样式->代码模板中。浏览所有这些内容,并查找您想要更改的内容。 格式化程序有点复杂。您可以在 Window- > Pref