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

时间:2016-02-17 19:46:30

标签: intellij-idea live-templates

给出类似的东西:

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使用它?

1 个答案:

答案 0 :(得分:0)

嗯,没有人回复,我还是找到了答案。

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

org.jboss.logging:jboss-logging

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

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

我做的是:

  1. CTRL + ALT + S |编辑|实时模板。请注意,我之前在此处创建了一个“用户”组来放置我的个人动态模板。我单击“+”将新的一个添加到用户组。
  2. 将模板文本设置为:$ VAR $$ END $
  3. 选择Edit Variables按钮并将Expression字段设置为:

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

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

  5. 请注意以下有关上述文字的内容:

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

    B中。一切都包在“”然后在那些双引号内,每次你想要使用双引号如下:“,你必须用\来逃避它。输出有双引号但除此之外我试图坚持单引号。

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

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