[英]How to add method comments with Live template in IntelliJ idea
我想自动生成注释,但是/ ** + 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>
您将无法完全按照自己的意愿去做。 /**
Enter快捷键本身不是实时模板。 而且无法编辑。 实时模板无法访问它不在内部的方法的方法参数。
从长远来看,我建议您打开一个功能请求 ,即在使用/**
快捷方式时,要进行设置以包括@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$ * @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>
UPDATE
通过评论“我想知道您在哪里找到选项名称JAVA_COMMENT?”来回答您的问题。 那是在实时模板对话框的底部。 您可以设置模板(即快捷方式)适用/可用的上下文/范围。 这是屏幕截图。
如果您不知道,可以通过复制显示的XML并将其粘贴到模板组中来创建模板。 仅当剪贴板中有有效的模板XML时,粘贴选项才可用。 确保在<template
元素之前没有前导空格或行。 (我通过复制选项获得了XML。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.