如何在IntelliJ idea

时间:2017-06-07 16:01:33

标签: java intellij-idea javadoc

我想自动生成注释,但/ ** + enter只生成包含@param和@return标记的Javadoc。

我想生成日期和作者,但是当我制作实时模板时,我使用了methodparameters()来自动生成参数,但这在方法之外不起作用。我必须在方法中生成文档,然后将其移动到方法的顶部。

如何使用@ param,@ author和@date标签在方法之外生成注释?

更新

@ javau的答案得以解决,坦克!感谢修复语法,Luciano van der Veekens

我修改了xml:

<template name="auth" value="@author $USER$ &#10;    * @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>

1 个答案:

答案 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;这是实时模板对话框的底部。您可以设置模板(即快捷方式)适用/可用的上下文/范围。这是一个截图。

Live Template Diloag

如果您不知道,可以通过复制我显示的XML然后将其粘贴到模板组来创建模板。只有在剪贴板中具有有效的模板XML时,粘贴选项才可用。确保<template name="auth" value="@author $USER$ &#10; * @since $DATE$&#10; *" 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。)

Pasting a template