मैं के लिए इंटेलीजे उपयोग कर रहे हैं लगभग 5 साल अब (संस्करण 4.5 के बाद से) और मैंने मैनिंग पुस्तक "इंटेलिजेज़ इन एक्शन" के माध्यम से भी पढ़ा है और मैं अब भी खुद पर एक गुरु नहीं मानूंगा। असल में, मैं इसके साथ "सादा पुराना जावा विकास" भी करना चाहता था, और ईमानदारी से मुझे यह कहना है कि यह उस पर काफी अच्छा है। अन्य उत्तरों की तरह, मैं केवल इतना कह सकता हूं कि इसकी सहायकता में एक निश्चित बढ़त है जो वास्तव में इसे शीर्ष पर रखती है। हम काम पर ग्रहण का भी उपयोग करते हैं, और जब मेरे पास उतना अनुभव नहीं है, तो मैं आपको बता सकता हूं कि इसमें निश्चित रूप से बहुत सी बुनियादी चीजें हैं। मैंने ग्रहण सीखने के लिए कुछ गंभीर समय और प्रयास किए, इंटेलिजे में दी गई हर रोज़ चीजों को कैसे करना है, और वे ज्यादातर वहां या बहुत खराब तरीके से लागू नहीं होते हैं। रिफैक्टरिंग सामान निश्चित रूप से ऐसी चीज है जो बहुत मदद करता है।
रिफैक्टरिंग के अलावा, मुझे लगता है कि छोटे स्पर्शों में से केवल एक टन हैं जो वास्तव में यह सहायक बनाते हैं। मुझे लगता है कि एक उदाहरण स्पष्ट मदद कर सकता है ...
इस प्रयास करें:
एक नया, रिक्त वर्ग बनाएँ। कर्सर को ब्रेसिज़ के अंदर ले जाएं और psvm करें और Ctrl-J दबाएं - यह "psvm" को "सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] तर्क) में फैलाता है"। आमतौर पर उपयोग किए जाने वाले मुहावरे की एक पूरी सूची है कि यह शॉर्टकट संभाल लेगा (और यह भी कॉन्फ़िगर करने योग्य है)।मुख्य कोड ब्लॉक के अंदर, यह कोड डालें: की "sout" अंत में
public static void main(String[] args) {
int x = 1000;
sout
}
, फिर Ctrl-जम्मू करते हैं - आप एक और पॉपअप कि आपको कुछ अलग विस्तार से चुनने के देखेंगे, लेकिन में सामान्य यह "System.out.println (" ")" और मददगार कर्सर को डबल-कोट्स के बीच रखता है (यह ऐसा छोटा स्पर्श है जो वास्तव में चमकता है, मुझे लगता है। विजुअल स्टूडियो के "इंटेलिसेन्स" के साथ तुलना करें - यदि आप मुझसे पूछें तो कुल क्रॉक)।
वैसे भी, पहले डबल-कोट पर बैकस्पेस - ध्यान दें कि यह मेल खाने वाले डबल-कोट को हटा देता है? यह भी ब्रेसिज़ और ब्रैकेट के साथ एक ही चीज करता है। मुझे लगता है कि कुछ कोने के मामले हैं जहां मैं पसंद करता हूं कि यह ऐसा नहीं करता है, लेकिन अधिकांश समय यह बहुत मदद करता है। कोड संपादन पर वापस बस टाइप एक्स तो कोड अब इस तरह दिखता है:
public static void main(String[] args) {
int x = 1000;
// add a few blank lines here too - the need for
// this will be obvious a little later
System.out.println(x);
}
अब, एक्स की घोषणा करने के लिए कर्सर ले जाते हैं, और Shift-F6 है - इस रिफैक्टरिंग in- है जगह संवाद (मुझे पता नहीं है कि इसे क्या कहना है, इसलिए मैंने इसे अभी बनाया है)। "X" नाम के चारों ओर एक रंगीन बॉक्स मिलता है, और आप इसके लिए एक नया नाम टाइप करना शुरू कर सकते हैं - जैसा कि आप टाइप करते हैं, उस नाम के सभी उपयोग गतिशील रूप से अपडेट हो जाते हैं। एक और साफ स्पर्श मुझे वास्तव में पसंद है।
इस प्रयास करें: इसलिए की तरह कहीं एक बहुत लंबी लाइन टिप्पणी डाल दिया,:
// this is a really long comment blah blah blah i love to hear myself talking hahaha
अब आप तय टिप्पणी बहुत बड़ी है, तो आप कहीं इसे के बीच करने के लिए कर्सर ले जाने और Enter दबाएं का कहना है। IntelliJ टिप्पणी के शेष भाग को "//" प्रीपेड के साथ रखेगा - यह "जानता है" यह पिछली टिप्पणी की निरंतरता है, इसलिए यह आपके लिए टिप्पणी करता है। एक और साफ स्पर्श।
// this is a really long comment blah
// blah blah i love to hear myself talking hahaha
एक और बड़ा बोनस मैं IntelliJ बारे में पसंद ग्रहण की तुलना में यह है कि यह बहुत कम दखल है - मैं वास्तव में कैसे ग्रहण पॉपअप के शीर्ष पर पॉपअप पाने के लिए प्रबंधित करेंगे नफरत थी और माउस फोकस कहीं होगा, लेकिन कीबोर्ड के अवरुद्ध हो गया है नीचे कुछ पर, मुझे लगता है कि इस तरह से काम करना संभव है कि इस तरह की चीजें नहीं होतीं, लेकिन इससे मुझे पहले स्थान पर बहुत परेशान किया गया। यह मुझे इंटेलिज में याद दिलाता है, यदि आप माउस कर्सर को पैकेज पर ले जाते हैं या बाएं फलक में नेविगेटर फ़ाइल करते हैं, तो उस पैनल को माउस फोकस स्वचालित रूप से मिल जाता है, इसलिए मैं तुरंत माउस व्हील का उपयोग करने के आदी हो गया। ग्रहण में? आप माउस पर, लेकिन संपादन फलक पर ध्यान केंद्रित किया, इसलिए आपको ध्यान केंद्रित करने के लिए माउस के साथ क्लिक करना होगा, और उसके बाद माउस व्हील का उपयोग करने में सक्षम होना चाहिए। जैसे मैंने कहा, यह बहुत कम स्पर्श है जो उत्पादकता के साथ मदद करता है।
जैसा कि आप चारों ओर कोड करते हैं, वर्तमान रेखा पर लाल "हल्के बल्ब" प्रकार के प्रतीकों के लिए बाएं गटर बार पर ध्यान दें - यह इंटेलिजे आपको बता रहा है कि यह संभव है कि यह संभव हो। एक छोटा इन-प्लेस संवाद बॉक्स लाने के लिए Alt-Enter का उपयोग करें, और यह आपको बताएगा कि यह स्वचालित रूप से क्या ख्याल रख सकता है। मान लें कि आप "getFoo()" नामक एक विधि परिभाषा टाइप करते हैं और कोई फू सदस्य नहीं है - यह आपके लिए इसे बनाने की पेशकश करेगा। या यदि आप कक्षा का उपयोग कर रहे हैं और उस पर एक गैर-मौजूदा विधि को कॉल करें जैसे getFoo() - यह एक गेटर और सदस्य, या एक नियमित विधि बनाने की पेशकश करेगा। यह सिर्फ सादा सहायक है।
कुल मिलाकर, मैं कहूंगा कि छोटे स्पर्श नहीं हैं जो इंटेलिजे गुरु वास्तव में बात करना चाहते हैं, लेकिन मैं वास्तव में सराहना करता हूं कि इस तरह की चीजें कैसे "अच्छी तरह से की जाती हैं"। वे छोटे विवरणों का ख्याल रखते हैं, इसलिए आपको अपने स्वयं के वाक्यविन्यास की जांच करने के लिए बहुत अधिक मानसिक रनटाइम खर्च नहीं करना पड़ता है। मैं इसके बारे में सोचता हूं कि एक बटलर मेरे कोडिंग के साथ मेरी मदद कर रहा है - यह मेरे लिए छोटे कामों का ख्याल रखता है इसलिए मुझे नहीं करना है। बैटमैन का अल्फ्रेड है, और मेरे पास इंटेलिजे है।यदि आप चाहें तो संशोधित करने के लिए सभी सेटिंग्स को आपके लिए संशोधित किया गया है, लेकिन ऐसा लगता है कि डिफ़ॉल्ट रूप से आपके उत्पादकता में सुधार करने के लिए डिफ़ॉल्ट रूप से तैयार हैं, बल्कि वास्तव में आपको वास्तव में भयानक निर्णयों के साथ परेशान करने की बजाय (विशेष रूप से जो आप लगभग हमेशा बनाते हैं वैसे भी वही विकल्प)।
इंटेलिजे को कुछ निश्चित दोष हैं - कीमत थोड़ी अधिक है, और यह काफी बड़ा है कि इसे एक बड़ी परियोजना पर लोड करने में कुछ समय लग सकता है। मैं भाग्यशाली हूं कि मेरी कंपनी लाइसेंस के साथ-साथ एक बहुत अच्छा वर्कस्टेशन का भुगतान करती है, इसलिए यह काफी तेज़ी से लोड हो जाती है, लेकिन आपका माइलेज अलग-अलग होगा।
"यह है कि विभिन्न नहीं दिखता है ..." - आप जानते हैं, एक दूरी से मैं चॉकलेट और पूप के बीच अंतर नहीं बता सकता , या तो। :) – weiji