我想自动生成注释,但/ ** + enter只生成包含@param和@return标记的Javadoc。
我想生成日期和作者,但是当我制作实时模板时,我使用了methodparameters()来自动生成参数,但这在方法之外不起作用。我必须在方法中生成文档,然后将其移动到方法的顶部。
如何使用@ param,@ author和@date标签在方法之外生成注释?
更新:
@ javau的答案得以解决,坦克!感谢修复语法,Luciano van der Veekens
我修改了xml:
<template name="auth" value="@author $USER$ * @since $DATE;" description="Inset Javadoc @author and @since tags" toReformat="true" toShortenFQNames="true">
<variable name="USER" expression="user()" defaultValue="" alwaysStopAt="false" />
<variable name="DATE" expression="date()" defaultValue="" alwaysStopAt="false" />
<context>
<option name="JAVA_COMMENT" value="true" />
</context>
</template>
答案 0 :(得分:2)
你无法完全按照自己的意愿行事。 /**
Enter 快捷方式本身并不是实时模板。它无法编辑。并且实时模板无法访问不在其中的方法的方法参数。
从长远来看,我建议您open a feature request在使用@author
快捷方式时,设置一个设置以包含@since
和/**
标记。
目前,您可以分两步完成。创建实时模板以插入@author
和@since
标记。 (我在下面有一个例子,你可以复制和粘贴。)然后你需要输入:/**
输入 auth
Tab 其中{{1是您的实时模板的快捷方式。你最终会得到类似的东西:
auth
这是一个示例模板:
/**
* @author Dilbert
* @since 2017-06-07
* @param foo
* @param bar
*/
void m1(String foo, String bar)
<强>更新强>
要从评论中回答你的问题&#34;我想知道你在哪里找到了选项名称JAVA_COMMENT?&#34;这是实时模板对话框的底部。您可以设置模板(即快捷方式)适用/可用的上下文/范围。这是一个截图。
如果您不知道,可以通过复制我显示的XML然后将其粘贴到模板组来创建模板。只有在剪贴板中具有有效的模板XML时,粘贴选项才可用。确保<template name="auth" value="@author $USER$ * @since $DATE$ *" description="Inset Javadoc @author and @since tags" toReformat="true" toShortenFQNames="true">
<variable name="USER" expression="user()" defaultValue="" alwaysStopAt="false" />
<variable name="DATE" expression="date()" defaultValue="" alwaysStopAt="false" />
<context>
<option name="JAVA_COMMENT" value="true" />
</context>
</template>
元素之前没有前导空格或行。 (我通过复制选项获得了XML。)