Java 如何在IntelliJ idea中使用Live模板添加方法注释

Java 如何在IntelliJ idea中使用Live模板添加方法注释,java,intellij-idea,javadoc,Java,Intellij Idea,Javadoc,我想自动生成注释,但是/**+enter只生成包含@param和@return标记的Javadoc 我还想生成日期和作者,但在制作Live模板时,我使用methodparameters()自动生成参数,但这在方法之外不起作用。我必须在方法中生成文档,然后将其移动到方法的顶部 如何在带有@param、@author和@date标记的方法之外生成注释 更新: @贾沃的答案成功了,坦克!谢谢你修改语法,卢西亚诺·范德维肯 我对xml进行了如下修改: 您将无法完全按照自己的意愿行事。/**输入快捷方式本

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

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

如何在带有@param、@author和@date标记的方法之外生成注释

更新

@贾沃的答案成功了,坦克!谢谢你修改语法,卢西亚诺·范德维肯

我对xml进行了如下修改:


您将无法完全按照自己的意愿行事。
/**
输入快捷方式本身不是活动模板。而且它不能被编辑。并且活动模板无权访问它不在其中的方法的方法参数

从长远来看,我建议您在使用
/**
快捷方式时设置一个包含
@author
@since
标记的设置

目前,您可以分两步完成。创建活动模板以插入
@author
@since
标记。(下面有一个示例,您可以复制和粘贴。)然后您需要键入:
/**
进入
auth
选项卡,其中
auth
是活动模板的快捷方式。你会得到这样的结果:

/**
 * @author Dilbert
 * @since 2017-06-07
 * @param foo
 * @param bar
 */
void m1(String foo, String bar)
下面是一个示例模板:

<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>

更新

在Live Template对话框底部的注释“我想知道您在哪里找到选项名称JAVA_comment?”中回答您的问题。您可以设置模板(即快捷方式)适用/可用的上下文/范围。这是一个截图


如果您不知道,可以通过复制我显示的XML,然后将其粘贴到模板组中来创建模板。仅当剪贴板中有有效的模板XML时,“粘贴”选项才可用。确保在
之前没有前导空格或行号,否则您将无法完全执行所需操作。
/**
输入快捷方式本身不是活动模板。而且它不能被编辑。并且活动模板无权访问它不在其中的方法的方法参数

从长远来看,我建议您在使用
/**
快捷方式时设置一个包含
@author
@since
标记的设置

目前,您可以分两步完成。创建活动模板以插入
@author
@since
标记。(下面有一个示例,您可以复制和粘贴。)然后您需要键入:
/**
进入
auth
选项卡,其中
auth
是活动模板的快捷方式。你会得到这样的结果:

/**
 * @author Dilbert
 * @since 2017-06-07
 * @param foo
 * @param bar
 */
void m1(String foo, String bar)
下面是一个示例模板:

<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>

更新

在Live Template对话框底部的注释“我想知道您在哪里找到选项名称JAVA_comment?”中回答您的问题。您可以设置模板(即快捷方式)适用/可用的上下文/范围。这是一个截图


如果您不知道,可以通过复制我显示的XML,然后将其粘贴到模板组中来创建模板。仅当剪贴板中有有效的模板XML时,“粘贴”选项才可用。确保
前面没有前导空格或行,这真是太棒了!我想知道你在哪里找到了选项名JAVA#u COMMENT?还有其他选项不能编辑吗?我在上面的回答中回答了你的评论问题。谢谢,javau,这很有效。但是有一行多余的。我只是删除了最后一行**
;***来自模板的值!真是太棒了!我想知道你在哪里找到了选项名JAVA#u COMMENT?还有其他选项不能编辑吗?我在上面的回答中回答了你的评论问题。谢谢,javau,这很有效。但是有一行多余的。我只是删除了最后一行**
;***来自模板的值!