ग्रहण टेम्पलेट में उपयोग किए जाने वाले $ {उपयोगकर्ता} चर का मान कैसे बदलें


260

डिफॉल्ट @author टेम्पलेट को हार्डकोड करने के बजाय, मैं चाहूंगा कि खाता जानकारी (लिनक्स में - लेकिन विंडोज समाधान भी स्वागत योग्य है) से उपयोगकर्ता के वास्तविक नाम का उपयोग करें। ग्रहण के विन्यास में इसे कहीं दर्ज करना स्वीकार्य होगा, साथ ही, मुझे सही जगह नहीं मिल रही है।


1
यदि आप उत्सुक हैं कि चर का डिफ़ॉल्ट संस्करण कॉल करके प्राप्त किया जा सकता है: System.getProperty ("user.name") और जहाँ जावा इसे लेता है वह सिस्टम निर्भर है।
मिकीज बाकलास

यह आलेख उस क्रम को दिखाता है जिसमें ग्रहण चर का मूल्य निर्धारित करने के लिए उपयोग करता है जो मुझे मददगार लगा। martijndashorst.com/blog/2006/04/21/…
स्टीवन माई

StevenMai का लिंक मर चुका है ... यहाँ एक संग्रहीत संस्करण है: web.archive.org/web/20180927010751/http://…
Someowngeek

जवाबों:


285

ऐसा लगता है कि आपकी सबसे अच्छी शर्त जावा user.nameचर को या तो आपकी कमांड लाइन पर फिर से परिभाषित करना है , या eclipse.iniअपने ग्रहण रूट रूट डायरेक्टरी में फाइल का उपयोग करना है ।

यह मेरे लिए ठीक काम लगता है:

-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Duser.name=Davide Inglima
-Xms40m
-Xmx512m    

अपडेट करें:

http://morlhon.net/blog/2005/09/07/eclipse-username/ एक मृत कड़ी है ...

यहाँ एक नया है: https://web.archive.org/web/20111225025454/http://morlhon.net:80/blog/2005/09/07/eclipse-username/


16
जोखिम यह है कि इससे उपयोगकर्ता आईडी (जो user.name संपत्ति का प्रलेखित मूल्य है) जानने के लिए किसी भी प्लग को तोड़ना होगा। यह अच्छा होगा यदि उस चर के लिए ग्रहण का उपयोग करने वाले मूल्य को समायोजित करने का एक बेहतर तरीका था।
डायस्ट्रोफिज्म

30
मेरे लिए "एक समस्या का कारण था, मुझे -Duser.name=Ron Kitayयह करना था: ठीक से व्यवहार करने के लिए
रोंक

27
एक और बेहतर समाधान ग्रहण के लिए एक और चर होगा जैसे $ {प्रोग्रामर} जिसे कोई भी परिभाषित कर सकता है और फिर टेम्प्लेट में उपयोग कर सकता है (या लोगों को अपने स्वयं के चर बनाने की अनुमति भी दे सकता है!)। लेकिन यह आईएस ग्रहण है, आह।
स्कॉट बिग्स

3
-Duser.nameआना चाहिए के बाद-vmargs झंडा (ग्रहण मंगल ग्रह के साथ परीक्षण किया)।
जन चिमिक

2
मृत लिंक, यहां एक संग्रह है: web.archive.org/web/20111225025454/http://morlhon.net:80/blog/…
nloveladyallen

96

ग्रहण खोलें, विंडो में नेविगेट करें -> प्राथमिकताएं -> जावा -> कोड शैली -> कोड टेम्पलेट -> टिप्पणियाँ -> प्रकार और फिर 'संपादित करें' बटन दबाएं। वहां आप @Author $ {user} से @Author Rajish की जनरेट की गई टिप्पणी में अपना नाम बदल सकते हैं।


41
इस सवाल का जवाब नहीं है
Rajish

15
@ राजिश: आप बिल्कुल सही कह रहे हैं, लेकिन यह एकमात्र उचित समाधान हो सकता है। विकल्पों का मूल्यांकन करने के बाद, मैंने ऐसा किया।
स्कॉट बिग्स

13
मेरी राय में यह सबसे अच्छा जवाब है - कमांड लाइन और eclipse.ini के साथ खिलवाड़ करने के बजाय, जो प्लेटफ़ॉर्म आश्रित हैं और यकीनन जो कार्य वे पूरा करते हैं उसके लिए बहुत बोझिल हैं, एक बार-बार प्रति-प्रोजेक्ट सेटिंग करने की इच्छा रखता है - और ऐसा करने में वर्तमान समय में ऊपर दिए गए प्रोजेक्ट गुण इसे करने का एकमात्र तरीका हो सकता है।
amn

2
मुझे लगता है कि सही उत्तर नहीं है क्योंकि केवल जावा ही नहीं, एक्लिप्स का उपयोग करने वाली कई भाषाएं और संपादक हैं। ताकि केवल ग्रहण का उपयोग करने वालों के लिए समस्या का समाधान जावा को संपादित करने के लिए हो, अन्य सभी भाषाओं में नहीं।
लुकास गेब्रियल सेंचेज

4
यह समाधान भी उचित नहीं है यदि आप अन्य उपयोगकर्ताओं के साथ साझा टेम्पलेट परिभाषाओं का उपयोग कर रहे हैं।
क्रिस्टोफर बार्बर

36
Windows > Preferences > Java > Code Style > Code Templates > Comments

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

या eclipse.iniफ़ाइल खोलें और निम्नलिखित जोड़ें।

-Duser.name=Sumit Singh // Your Name

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


18

ईजीट समाधान

कोई प्रोजेक्ट-, कार्यक्षेत्र- या पर्यावरण-आधार पर टेम्प्लेट चर बनाने या बदलने की अपेक्षा करेगा, यह एक मानक ग्रहण सुविधा है। अफसोस की बात है, यह नहीं है। और अधिक, यह देखते हुए कि एक्लिप्स प्लगइन्स नए चर और टेम्पलेट्स को परिभाषित कर सकते हैं, वहाँ समाधान प्रदान करने वाले प्लग-इन होने चाहिए। यदि वे हैं, तो उन्हें खोजना मुश्किल होना चाहिए। mmm-TemplateVariable , जो एक्लिप्स मार्केटप्लेस में उपलब्ध है, मावेन यूजर्स के लिए सही दिशा में एक कदम है, जो में वर्जन, आर्टिफीसिएड आदि को शामिल करने की क्षमता देता है।

सौभाग्य से, ईजीट , जो गिट के लिए एक ग्रहण उपकरण है, कोड टेम्प्लेट में कई अलग-अलग चर शामिल करने के लिए बहुत ही लचीले साधन प्रदान करता है। केवल आवश्यकता यह है कि आपकी परियोजना Git का उपयोग करती है। यदि आप Git का उपयोग नहीं करते हैं, लेकिन सॉफ़्टवेयर विकास के बारे में गंभीर हैं, तो अब सीखने का समय है ( Pro Git book )। यदि आप एक विरासत संस्करण नियंत्रण प्रणाली का उपयोग करने के लिए मजबूर हैं, तो कुछ दिमागों को बदलने का प्रयास करें।

हार्म्सक के प्रयासों के लिए धन्यवाद , ईजीट 4.0 और इसके बाद के संस्करण में गिट कॉन्फ़िगरेशन कुंजी मूल्यों का उपयोग करने की क्षमता शामिल है। यह रिपॉजिटरी सेटिंग्स (प्रोजेक्ट), उपयोगकर्ता सेटिंग्स (खाता), और / या वैश्विक सेटिंग्स (वर्कस्टेशन) के आधार पर टेम्पलेट मान सेट करने की अनुमति देता है।

निम्न उदाहरण दिखाता है कि एक बहु-उपयोगकर्ता विकास कार्य केंद्र के लिए ग्रहण और गिट कैसे सेट करें और ${user}अधिक लचीलापन प्रदान करने के एवज में एक कस्टम गिट कॉन्फ़िगरेशन कुंजी का उपयोग करें । हालाँकि उदाहरण विंडोज के लिए एक्लिप्स मार्स और जीआईटी के विंडोज 10 इंस्टॉलेशन पर आधारित है, लेकिन यह उदाहरण लिनक्स और ओएसएक्स पर लागू होता है जो अपने संबंधित कमांड लाइन टूल्स का उपयोग करके एक्लिप्स और गिट चला रहे हैं।

गिट की user.nameकॉन्फ़िगरेशन कुंजी और जावा के user.nameसिस्टम गुण के बीच संभावित भ्रम से बचने के लिए , एक user.authorलेखक के नाम और / या क्रेडेंशियल्स प्रदान करने के लिए एक कस्टम गिट कॉन्फ़िगरेशन कुंजी - का उपयोग किया जाएगा।

टेम्पलेट्स को कॉन्फ़िगर करना

Git टेम्पलेट चर का प्रारूप निम्नानुसार है

${<name>:git_config(<key>)}

जहां <name>कोई भी मनमाना परिवर्तनशील नाम है और <key>Git कॉन्फ़िगरेशन कुंजी है जिसका मान उपयोग किया जाना चाहिए। यह देखते हुए कि टिप्पणियाँ → प्रकार टेम्पलेट को बदलना

/**
 * @author ${author:git_config(user.author)}
 *
 * ${tags}
 */

अब Git की user.authorकॉन्फ़िगरेशन कुंजी से लेखक का नाम हल करने का प्रयास करेगा । किसी भी अन्य कॉन्फ़िगरेशन के बिना, किसी भी नई बनाई गई टिप्पणियों में एक नाम शामिल नहीं होगा @author, क्योंकि कोई भी अभी तक परिभाषित नहीं किया गया है।

Git कॉन्फ़िगर करना

कमांड लाइन से

Git System कॉन्फ़िगरेशन - यह कॉन्फ़िगरेशन चरण कार्य केंद्र पर Git के सिस्टम-वाइड कॉन्फ़िगरेशन पर लागू परिवर्तन करता है जब तक कि उपयोगकर्ता या रिपॉजिटरी सेटिंग्स द्वारा ओवरराइड नहीं किया जाता है। क्योंकि सिस्टम-वाइड कॉन्फ़िगरेशन अंतर्निहित Git एप्लिकेशन (जैसे Windows के लिए Git) का हिस्सा हैं, परिवर्तनों के लिए प्रशासक विशेषाधिकारों की आवश्यकता होगी। व्यवस्थापक के रूप में Git Bash, cmd, या PowerShell चलाएँ। निम्न कमांड सिस्टम-वाइड लेखक सेट करेगा।

git config --system user.author “SET ME IN GLOBAL(USER) or REPOSITORY(LOCAL) SETTINGS”

इस "लेखक" का उद्देश्य एक अनुस्मारक के रूप में सेवा करना है कि इसे कहीं और सेट किया जाना चाहिए। यह विशेष रूप से उपयोगी है जब नए उपयोगकर्ता खातों का उपयोग कार्य केंद्र पर किया जा रहा है।

इस सेटिंग को सत्यापित करने के लिए, एक खाली जावा प्रोजेक्ट बनाएं जो Git का उपयोग करता है या मौजूदा Git- आधारित प्रोजेक्ट को खोलता है। एक क्लास बनाएँ और स्रोत का उपयोग करें संदर्भ मेनू से एलीमेंट जेनरेट करें , ALT-SHIFT-J , या JavaDoc कमेंट शुरू करें। परिणामी @authorटैग को चेतावनी द्वारा पीछा किया जाना चाहिए।

शेष कॉन्फ़िगरेशन परिवर्तन प्रशासक विशेषाधिकारों के बिना किया जा सकता है।

Git Global (उपयोगकर्ता) कॉन्फ़िगरेशन - Global या उपयोगकर्ता, कॉन्फ़िगरेशन वे हैं जो किसी विशिष्ट उपयोगकर्ता से संबद्ध हैं और सिस्टम-वाइड कॉन्फ़िगरेशन को ओवरराइड करेंगे। ये सेटिंग्स सभी गिट आधारित परियोजनाओं पर लागू होती हैं जब तक कि रिपॉजिटरी सेटिंग्स द्वारा ओवरराइड नहीं किया जाता है। यदि लेखक का नाम विभिन्न प्रोजेक्ट प्रकारों जैसे काम, खुले स्रोत के योगदान, या व्यक्तिगत के कारण अलग है, तो यहां सबसे अधिक बार उपयोग किया जाता है।

git config --global user.author “Mr. John Smith”

वैश्विक मान को कॉन्फ़िगर करने के बाद, परीक्षण प्रोजेक्ट पर वापस लौटा और जल्दी से एक वर्ग टिप्पणी लागू करें। @authorटैग अब वैश्विक सेटिंग को दिखाना चाहिए।

Git Repository (स्थानीय) कॉन्फ़िगरेशन - अंत में, एक रिपॉजिटरी या स्थानीय कॉन्फ़िगरेशन का उपयोग किसी लेखक को किसी विशिष्ट प्रोजेक्ट के लिए कॉन्फ़िगर करने के लिए किया जा सकता है। पिछले कॉन्फ़िगरेशन के विपरीत, रिपॉजिटरी कॉन्फ़िगरेशन रिपॉजिटरी के भीतर से किया जाना चाहिए। Git Bash, PowerShell, आदि का उपयोग करके परीक्षण परियोजना के भंडार में नेविगेट करें।

git config --local user.author “smithy”

इसे देखते हुए, परीक्षण परियोजना में नई टिप्पणियाँ स्थानीय रूप से परिभाषित लेखक नाम का उपयोग करेंगी। अन्य गिट-आधारित परियोजनाएं, अभी भी वैश्विक लेखक नाम का उपयोग करेंगी।

ग्रहण के भीतर से

ऊपर दिए गए कॉन्फ़िगरेशन परिवर्तन को भी ग्रहण के भीतर से अपनी वरीयताएँ: Team → Git-कॉन्फ़िगरेशन के माध्यम से सेट किया जा सकता है । सिस्टम-वाइड गिट कॉन्फ़िगरेशन को बदलने के लिए ग्रहण को प्रशासक के रूप में चलाया जाना चाहिए।

कुल मिलाकर

यद्यपि यह उदाहरण विशेष रूप से सबसे आम मुद्दे से निपटता है ${user}, बदलते समय के लिए , इस दृष्टिकोण का उपयोग अधिक किया जा सकता है। हालांकि, सावधानी को जीआईटी-परिभाषित कॉन्फ़िगरेशन कुंजी का उपयोग नहीं करने के लिए प्रयोग किया जाना चाहिए, जब तक कि यह विशेष रूप से इरादा न हो।


यह अच्छा है, लेकिन सिर्फ ${author:git_config(user.name)}मानक के रूप में इसका उपयोग क्यों नहीं किया जाता है?
रॉबर्टडीजोस

@RobD - जैसा कि पोस्ट में बताया गया है (शीर्ष से 5 वां पैराग्राफ) - भ्रम से बचने के लिए। आप जो चाहें उपयोग करने के लिए स्वतंत्र हैं। हालांकि उत्पादन परिवेश में प्रोजेक्ट कॉन्फ़िगरेशन आइटम को सिस्टम कॉन्फ़िगरेशन आइटम से अलग करना बेहतर है।
14

16

${user}ग्रहण में बदलने के बजाय , परिचय देना उचित है

-Duser.name=Whateverpleaseyou

में eclipse.iniजो आपके ग्रहण फ़ोल्डर में मौजूद है।


3
-1 नहीं है, eclipse.ini के रूप में भी UTF-8 àôéù तरह सही ढंग से फ्रेंच लहजे से हैंडल नहीं करता बचाया ...
Aubin

26
चार साल बाद पोस्टिंग का क्या मतलब है, स्वीकृत समाधान की तुलना में एक ही समाधान?
फील्ह

2
@ ऑबिन वास्तव में अभी मैं एक ग्रहण चला रहा हूं जो áóë जैसे लहजे का समर्थन करता है .. आदि बिना किसी समस्या के। तो यह एक सही और सहायक उत्तर है।
लुकास गेब्रियल सैन्चेज़

1
@PhiLho यह उत्तर कॉम्पैक्ट और संक्षिप्त है, केवल 3-वाक्य। साथ ही, चयनित उत्तर में लिंक टूट गया है।
जॉनीबीब

3

dovescrywolf ने Davide Inglima द्वारा जुड़े लेख पर टिप्पणी के रूप में टिप दी

मैकओएस पर यह मेरे लिए बहुत उपयोगी था।

  • यदि यह खोला गया है तो ग्रहण को बंद करें।
  • ओपनल (बैश कंसोल) खोलें और चीजों को नीचे करें:

    $ pwd /Users/You/YourEclipseInstalationDirectory  
    $ cd Eclipse.app/Contents/MacOS/  
    $ echo "-Duser.name=Your Name" >> eclipse.ini  
    $ cat eclipse.ini
  • टर्मिनल बंद करें और फिर से ग्रहण शुरू / खोलें।


1

यह वह फ़ाइल है जिसे हम (आपके ग्रहण कार्यक्षेत्र के अंदर) खोज रहे हैं:

.plugins / org.eclipse.core.runtime / .settings / org.eclipse.jdt.ui.prefs

आप जिस नाम को बदलना चाहते हैं, उसके साथ आपको एक @author टैग मिलेगा। ग्रहण को फिर से शुरू करें और यह काम करेगा।

उच्चारण के लिए आपको यूनिकोड प्रारूप (जैसे á के लिए '\ u00E1') का उपयोग करना होगा।

आप 'ini' फ़ाइल को पूर्व उत्तर के रूप में संशोधित कर सकते हैं या एक वैश्विक समाधान के लिए उपयोगकर्ता नाम संस्करण निर्धारित कर सकते हैं। या स्थानीय समाधान के लिए वरीयताएँ मेनू में @author टैग को ओवरराइड करें। वे दोनों इस समस्या के वैध समाधान हैं।

लेकिन अगर आप 'उस' लेखक के नाम की तलाश कर रहे हैं जो हम में से सबसे अधिक परेशान कर रहा है, तो उस फाइल में है।


यह विकल्प वास्तव में ग्रहण वरीयताओं में दिखाई गई सेटिंग को संशोधित करता है (टैग {उपयोगकर्ता} हटाता है), हाथ से।
अल्फ्रावो

फ़ाइल स्थान ग्रहण लूना के लिए पुराना है।
मार्टिन कार्नी

यह $WORKSPACE/.metadata/.plugins/org.eclipse.core.runtime/.settings/मंगल पर ... और $WORKSPACE/$PROJECT/.settings/प्रत्येक परियोजना के लिए भी ... हैं । जैसा कि उल्लेख किया गया है, ये कार्यक्षेत्र या परियोजना प्राथमिकताएं हैं, जिन्हें अधिक आराम से हाथ से संपादित किया जा सकता है (और ओपी द्वारा विस्फोटक रूप से बाहर रखा गया है)।
डिर्क

0

फ़ाइल को संपादित करें /etc/eclipse.ini, ताकि प्रविष्टि शामिल हो;

-Duser.name=myname

विज़ार्ड (सी / सी ++ / जावा) के साथ, "ग्रहण" और अब, किसी भी नई फ़ाइल के निर्माण पर, यह $ {उपयोगकर्ता} के स्थान पर "myname" का उपयोग करेगा।


-1

विंडो -> प्राथमिकताएं -> जावा -> कोड शैली -> कोड टेम्पलेट्स -> टिप्पणियाँ -> प्रकार अपने नाम के लिए $ {उपयोगकर्ता} टाइप करें।

इससे पहले

/**
 * @author ${user}
 *
 * ${tags}
 */

उपरांत

/**
 * @author Waqas Ahmed
 *
 * ${tags}
 */

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


-4

बस अन्य विकल्प। गोटो प्रीफ़ेर्न्स >> जावा >> एडिटोर >> टेमपलेटर्स, @author को सेलेक्ट करें और वेरिएबल $ {user} को बदलें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.