首页 > 解决方案 > Intellij Idea 实时模板

问题描述

每次我写“待办事项”评论时,我都会遇到写我的 vcs 当前分支名称的问题。

最近我了解了 Intellij 的“实时模板”,它使用起来非常舒服。我试图将它应用于我的问题,但没有模板可以取出分支名称。

所以问题是我真的可以以某种方式取出我的分支名称来编码注释吗?

标签: intellij-ideaversion-controllive-templates

解决方案


可以使用 groovyScript 预定义函数和脚本来提取分支名称。例如创建以下实时模板:

$COMMENT$ todo [$BRANCH$]: $END$

带有缩写“todo”和描述“插入带有分支名称的 todo 注释”。单击编辑变量并为变量提供以下定义:

评论:

lineCommentStart()

BRANCH(针对 2020.2 及更高版本更新)

groovyScript("com.intellij.dvcs.repo.VcsRepositoryManager.getInstance(_editor.project).getRepositoryForFileQuick(com.intellij.openapi.fileEditor.FileDocumentManager.getInstance().getFile(_editor.document)).getCurrentBranchName()")

如果已定义,则跳过检查两个变量。Groovy 脚本(不幸的是)都是一行。将适用的上下文设置为Everywhere

使用这个实时模板,现在可以todoTab在源文件的某处键入,并插入带有分支名称的行注释。这将根据文件的语言插入正确的行注释,或者在没有像 HTML 这样的行注释的语言的情况下不插入任何内容。无论使用哪种版本控制(我用 Git 测试过),都应该提取分支名称。


推荐阅读