如何使用 IDEA Live Template 转换字符串?

How do I transform a string with IDEA Live Template?

给定如下:

org.jboss:jboss-remote-naming

...如果能够将其转换为:

将会很有用
exclude group: "org.jboss", module: "jboss-remote-naming"

用例是 Gradle 依赖项的排除项。虽然不知道如何做到这一点。可以使用一些提示。我经常查看文档,知道这可能不在其中,但我会仔细检查。

"exclude group: \""+ "org.jboss.logging:jboss-logging".replaceAll(':','\", module: \"') +"\""

...好的,我认为您可以在 Groovy shell 中执行上述操作,结果如下:

groovy:000> "exclude group: \""+ "org.jboss.logging:jboss-logging".replaceAll(':','\", module: \"') +"\""
    ===> exclude group: "org.jboss.logging", module: "jboss-logging"

现在,如何让IDEA使用它?

好吧,没有人回应,但我已经找到了答案。

所以问题是我的剪贴板上有这样的字符串:

org.jboss.logging:jboss-logging

我正在使用 Gradle 和 IntelliJ IDEA。我正在做的是修复一大堆依赖项,我希望能够以正确的形式粘贴排除项,即:

exclude group: "org.jboss.logging", module: "jboss-logging"

我所做的是:

  1. CTRL+ALT+S |编辑 |实时模板。请注意,我之前在这里创建了一个 "User" 组来放置我的个人实时模板。我单击“+”向用户组添加一个新用户。
  2. 将模板文本设置为:$VAR$$END$
  3. Select 编辑变量按钮并将表达式字段设置为:

    groovyScript("'exclude group: \"'+ _1.replaceAll(':','\", module: \"') +'\"'",clipboard())

  4. 将缩写字段设置为 'xld'。

关于上面的文字请注意以下几点:

一个。 groovyScript 执行一小行 Groovy 脚本(或 Groovy 文件以获得更大的脚本)。请参阅此处的文档:Predefined Functions

乙。一切都用“”包裹起来,然后在那些双引号内,每次你想像这样使用双引号时:“,你必须用\转义它。输出有双引号但除此之外我试图坚持单引号。

C。 _1 是一个字符串,表示 clipboard() 方法返回的结果。

如何使用它: 复制任何形式的依赖项 "org.jboss:jboss-remote-naming" 然后在 IntelliJ IDEA 中的适当位置键入 xld 然后 [TAB] .它应该使用 Gradle 排除的正确语法进行扩展。