इंटेलीज लाइव टेम्पलेट


81

क्या इंटेलीज में एक डिफ़ॉल्ट टोकन मूल्य का उपयोग करने का कोई तरीका है Live templates? उदाहरण के लिए मेरे पास निम्नलिखित लाइव टेम्पलेट है जो एक निजी चर घोषित करता है जिसे मैं हर वर्ग के लिए बनाना चाहता हूं:

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

यह $CLASS$लाइव टेम्प्लेट का उपयोग करने पर हर बार टाइप करना अनावश्यक लगता है, क्योंकि इसे वर्ग से दायरे या फ़ाइल नाम में लिया जा सकता है। मैं सोच रहा था कि क्या डिफ़ॉल्ट के रूप में लाइव टेम्पलेट्स में पर्यावरण परिभाषित टोकन का उपयोग करना संभव है?

जवाबों:


114

कुछ अन्य टेम्प्लेट देखें जो पहले से ही वर्तमान वर्ग के नाम का उपयोग करते हैं:

यहाँ छवि विवरण दर्ज करें


3
धन्यवाद, जहाँ सभी उपलब्ध अभिव्यक्तियाँ परिभाषित हैं?
लियोनिद

सभी अभिव्यक्तियाँ यहाँ सूचीबद्ध हैं: jetbrains.com/help/idea/template-variables.html
ब्राड

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);

सुनिश्चित करें कि आप जावा के लिए लागू संदर्भ सेट करते हैं और एफक्यू नाम छोटा करते हैं और परिभाषित किए जाने पर सक्षम होते हैं।


3
मुझे यह पसंद है कि इस लेख में एक समझदार डिफ़ॉल्ट के साथ चर को पॉप्युलेट करने के लिए एन एक्सप्रेशन स्थापित करने का उल्लेख है। coderwall.com/p/hzmhbw
स्नेक

@Snekse यह एक अच्छा जोड़ है। इसका संपादन करके मेरे उत्तर को बेहतर बनाने के लिए आपका स्वागत है।
Nowaker

यह उत्तर वास्तव में प्रश्नकर्ता के प्रश्न का उत्तर नहीं देता है: $CLASS_NAME$चर को उस वर्ग के नाम से ऑटो-फिल करने के लिए, जिसे आपको होने वाले $CLASS_NAME$चर से संबंधित "अभिव्यक्ति" सेट करने की आवश्यकता है className()। स्क्रीनशॉट के लिए CrazyCoder का जवाब देखें।
आदिल हुसैन

3

log4j 2:

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

यह उत्तर वास्तव में प्रश्नकर्ता के प्रश्न का उत्तर नहीं देता है: $CLASS_NAME$चर को उस वर्ग के नाम से ऑटो-फिल करने के लिए, जिसे आपको होने वाले $CLASS_NAME$चर से संबंधित "अभिव्यक्ति" सेट करने की आवश्यकता है className()। स्क्रीनशॉट के लिए CrazyCoder का जवाब देखें।
आदिल हुसैन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.