在IntelliJ中是否有一种方法可以创建自定义的后缀完成?

21

我想要能够制作自定义的后缀自动完成,但是我似乎找不到任何可以这样做的地方,并且在网上也没有找到任何相关的信息。有人知道怎么做吗?

3个回答

25

现在你可以了。我为IDEA编写了一个插件,可以让你创建自己的后缀模板。它被称为Custom Postfix Templates


太好了!但是您能像使用实时模板一样使用全局变量吗?我想要访问ClassName、MethodName等。 - Dan Chaltiel
@DanChaltiel 是的,您可以使用变量和宏。这些宏与实时模板中的相同。代码完成将帮助您查找宏名称。请注意,某些宏需要参数(与实时模板中相同)。 - Stefan Endrullis
我尝试过使用$CLASS_NAME_CHAR $$METHOD_NAME $$LINE_NUMBER $,但没有结果(尽管在实时模板中运行良好)。代码补全只提示了$END $,它也是空的,而$expr $则像预期的那样起作用。我该从哪里查找变量名称? - Dan Chaltiel
java.lang.Object → android.util.Log.d("MyTag", "$CLASS_NAME_CHAR$ :: $METHOD_NAME$ ($LINE_NUMBER$): $expr$="+$expr$); - Dan Chaltiel
$CLASS_NAME_CHAR$,$METHOD_NAME$和$LINE_NUMBER$只是普通的变量,在实时模板中也是如此。如果它们被映射到特殊值,例如类名或方法名,则使用宏(也在实时模板中)完成。如果您告诉我在哪个实时模板中找到了这些变量,我可以帮助您确定宏名称和后缀模板。无论如何,这里变得冗长了,所以我建议在新线程中讨论:https://github.com/xylo/intellij-postfix-templates/issues/40 - Stefan Endrullis

11

5
我为添加自定义后缀模板的支持创建了一个功能请求:https://github.com/controlflow/intellij-postfix/issues/19 - Stefan Endrullis
3
请点赞支持:https://youtrack.jetbrains.com/issue/IDEA-122443 - Alexandre G

9

2
太好了!但是使用类似于编辑器>实时模板中的变量怎么样?我想自动填充className... - Dan Chaltiel
如果您想使用像className这样的宏,可以使用Custom Postfix Templates插件。 - Stefan Endrullis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接