Intellij Live-Vorlage


81

Gibt es eine Möglichkeit, einen Standard-Token-Wert in Intellij zu verwenden Live templates? Zum Beispiel habe ich die folgende Live-Vorlage, die eine private Variable deklariert, die ich fast für jede Klasse erstellen möchte:

private static final Logger logger = Logger.getLogger($CLASS$.class)

Es scheint nicht notwendig zu sein, $CLASS$jedes Mal einzugeben, wenn diese Live-Vorlage verwendet wird, da sie von der Klasse in Bereich oder Dateiname abgeleitet werden kann. Ich habe mich gefragt, ob es möglich ist, umgebungsdefinierte Token in Live-Vorlagen als Standard zu verwenden.

Antworten:



54

log4j:

private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger($CLASS_NAME$.class);

slf4j:

private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger($CLASS_NAME$.class);

Stellen Sie sicher, dass Sie den entsprechenden Kontext auf Java festlegen und die FQ-Namen verkürzen und überspringen, falls definiert, aktiviert sind.


3
Ich mag den Zusatz, den dieser Artikel zum Einrichten von en expression erwähnt, um die Variable mit einem sinnvollen Standard zu füllen. coderwall.com/p/hzmhbw
Snekse

@Snekse Das ist eine gute Ergänzung. Sie können meine Antwort gerne verbessern, indem Sie sie bearbeiten.
Nowaker

Diese Antwort beantwortet die Frage des Fragestellers nicht wirklich: Um die $CLASS_NAME$Variable automatisch mit dem Klassennamen zu füllen , müssen Sie den "Ausdruck" festlegen, der der $CLASS_NAME$Variablen zugeordnet ist className(). Einen Screenshot finden Sie in der Antwort von CrazyCoder.
Adil Hussain

3

log4j 2:

private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger($CLASS_NAME$.class);

Diese Antwort beantwortet die Frage des Fragestellers nicht wirklich: Um die $CLASS_NAME$Variable automatisch mit dem Klassennamen zu füllen , müssen Sie den "Ausdruck" festlegen, der der $CLASS_NAME$Variablen zugeordnet ist className(). Einen Screenshot finden Sie in der Antwort von CrazyCoder.
Adil Hussain
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.