2016-09-08 2 views
0

(Anmerkung: Diese Frage in Bezug auf IntelliJ 14.en ältere oder neuere Versionen möglicherweise nicht die Menüs hier erwähnt.)Auto-Capitalize Variable in IntelliJ Live-Templates

Ich versuche, ein Live-Template einzurichten das erlaubt mir, eine Konstante in All Caps einzugeben.

Also, wenn die normale Syntax ist Titles.PAGETITLE, und ich eine Live-Vorlage, die pt in Titel. $ PAGETITLE $ erweitert, sollte das Ergebnis Titel sein. erscheint in der Zeile mit meinem Cursor nach dem Punkt.

Hier möchte ich, was immer ich tippe, in alle Großbuchstaben eingefügt werden, ohne Caps Lock oder Shift zu verwenden. Meine Eingabe in Kleinbuchstaben sollte in Großbuchstaben umgewandelt werden.

Ich habe versucht, mit der Expression Option in dem Vorlage bearbeitet Variablen Dialog mit dem folgenden:

  • Die vordefinierte kapitalisiert (String) Funktion
  • Ein speziell geschrieben (String) .toUpperCase() Funktion
  • Eine benutzerdefinierte geschrieben Var.toUpperCase() Funktion
  • Ein paar andere Dinge, die ich kann nicht die Spitze von meinem Kopf erinnere off ...

Ein spezielleres Beispiel dafür, was ich versuche, ist eigentlich ein benutzerdefinierter JSP-Tag zu erreichen, wie unten zu sehen .

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

Also, wenn ich den Namen der Vorlage auf einer Zeile eingeben und diese erweitert (mit ‚Tab‘, in meinem Fall):

tagtitle 

Dann sollte folgend (für Cursorposition Rohr) erscheinen:

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

Und als ich tippe Seitentitel, sollte es in den Kappen wie so erscheinen:

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

Wie erreiche ich dies innerhalb der definierten Live-Vorlage?

Antwort

-1

Es gibt kein solches Feature in IntelliJ IDEA, weder in Version 14 noch in einer späteren Version (2016.2 ist das neueste zum Zeitpunkt der Erstellung). Ausdrücke in Live-Vorlagen können verwendet werden, um den Wert einer Variablen in einer Vorlage basierend auf dem Wert einer anderen Variablen zu berechnen, nachdem die andere Variable eingegeben wurde. Sie können nicht verwendet werden, um den Wert einer Variablen während der Eingabe zu aktualisieren.