IntelliJ Live 模板中的自动大写变量

Eri*_*nes 5 intellij-idea live-templates intellij-14

(注意:这个问题与 IntelliJ 14 有关。较旧或较新的版本可能没有此处提到的菜单。)

我正在尝试设置一个实时模板,该模板允许我输入全部大写的常量。

因此,如果正常语法是Titles.PAGETITLE ,并且我创建一个将pt扩展为Titles.$PAGETITLE$ 的实时模板,则结果应该是Titles。出现在行上,我的光标放在句号后面。

在这里,我希望将我输入的任何内容都插入到所有大写字母中,而不使用 Caps Lock 或 Shift。我的小写输入应该转换为大写输入。

我尝试使用“编辑模板变量”对话框中的“表达式”选项,如下所示:

  • 预定义的Capitalize(String)函数
  • 自定义编写的(String).toUpperCase()函数
  • 自定义编写的Var.toUpperCase()函数
  • 还有一些事情我一时想不起来……

我想要完成的一个更具体的示例实际上是自定义 JSP 标记,如下所示。

<TAG:type property="<%=Titles.PAGETITLE%>" />
Run Code Online (Sandbox Code Playgroud)

因此,如果我在一行中输入模板名称并将其展开(在我的例子中使用“Tab”):

tagtitle
Run Code Online (Sandbox Code Playgroud)

然后应该出现以下内容(光标位置的管道):

<TAG:type property="<%=Titles.|%>" />
Run Code Online (Sandbox Code Playgroud)

当我输入pagetitle时,它​​应该以大写形式显示,如下所示:

<TAG:type property="<%=Titles.PAGETITLE%>" />
Run Code Online (Sandbox Code Playgroud)

如何在定义的实时模板中完成此操作?

yol*_*ole 0

IntelliJ IDEA 中没有这样的功能,无论是版本 14 还是更高版本(2016.2 是撰写本文时的最新版本)。输入另一个变量后,实时模板中的表达式可用于根据另一个变量的值计算模板中一个变量的值。它们不能用于在您键入变量时更新该变量的值。