Переменная с автоматическим вводом заглавных букв в шаблонах IntelliJ Live

(Примечание. Этот вопрос относится к IntelliJ 14. В более старых или новых версиях могут отсутствовать упомянутые здесь меню.)

Я пытаюсь создать действующий шаблон, который позволяет мне вводить константу заглавными буквами.

Итак, если обычный синтаксис - Titles.PAGETITLE, и я создаю действующий шаблон, который расширяет pt до Titles. $ PAGETITLE $, результат должны быть Заголовки., появляющиеся в строке с моим курсором, помещенным после точки.

Именно здесь я хочу, чтобы все, что я набираю, было вставлено заглавными буквами без использования Caps Lock или Shift. Мой ввод в нижнем регистре должен быть преобразован в ввод в верхнем регистре.

Я пробовал использовать параметр Выражение в диалоговом окне Редактировать переменные шаблона со следующим:

  • Предопределенная функция capitalize (String)
  • Пользовательская функция (String) .toUpperCase ()
  • Пользовательская функция Var.toUpperCase ()
  • Еще пара вещей, которые я не могу припомнить ...

Более конкретный пример того, что я пытаюсь сделать, на самом деле является настраиваемым тегом JSP, как показано ниже.

<TAG:type property="<%=Titles.PAGETITLE%>" />

Итак, если я наберу имя шаблона в строке и разверну его (в моем случае с помощью Tab):

tagtitle

Затем должно появиться следующее (вертикальная черта для позиции курсора):

<TAG:type property="<%=Titles.|%>" />

Когда я набираю pagetitle, он должен отображаться заглавными буквами примерно так:

<TAG:type property="<%=Titles.PAGETITLE%>" />

Как мне сделать это из определенного живого шаблона?


person Eric Barnes    schedule 08.09.2016    source источник


Ответы (1)


В IntelliJ IDEA такой функции нет ни в версии 14, ни в более поздних версиях (на момент написания статьи 2016.2 является последней версией). Выражения в живых шаблонах можно использовать для вычисления значения одной переменной в шаблоне на основе значения другой переменной после того, как была введена другая переменная. Их нельзя использовать для обновления значения переменной по мере ее ввода.

person yole    schedule 08.09.2016