IntelliJ में संभव चीजें जो ग्रहण में संभव नहीं हैं?


365

मैंने ऐसे लोगों से सुना है जिन्होंने या तो रास्ता बदल लिया है और जो एक या दूसरे की कसम खाते हैं।

एक विशाल ग्रहण प्रशंसक होने के नाते, लेकिन इंटेलीज को आज़माने का समय नहीं था, मुझे इंटेलीजे उपयोगकर्ताओं से सुनने में दिलचस्पी है, जो "एक्स-एक्लिप्सियन" कुछ विशिष्ट चीजें हैं जो आप इंटेलीजे के साथ कर सकते हैं जो आप ग्रहण से नहीं कर सकते।

नोट : यह एक व्यक्तिपरक प्रश्न नहीं है और न ही इसका मतलब आईडीई पवित्र युद्ध में बदलना है। कृपया किसी भी लौकिक उत्तर को रद्द करें



1
मैं ग्रहण से नेटबीन्स तक इंटेलीज रूबीमाइन गया और हर एक पिछले से 'स्टेप अप' था। मैं यह नहीं देख सकता कि विशेष रूप से (इसलिए यह कोई उत्तर नहीं है) क्योंकि यह एक समय था, लेकिन सबसे बड़ा कूदने के लिए रूबीमाइन था जो अभी और "एकीकृत" था और लगता है कि यह अधिक कार्यक्षमता है और चीजों को आसान तरीके से प्रस्तुत करता है। रास्ते का उपयोग करने के लिए। यह मणि मुद्दों, निर्भरता और दूसरों की तुलना में बेहतर की तरह लग रहा था।
जंकी

मैं intelliJ से ग्रहण (Android विकास के कारण) पर स्विच करना चाहता हूं, इसलिए इस प्रकार का प्रश्न और उत्तर बहुत उपयोगी हैं।
क्रोम

8
@chrome Android अब दूसरे तरीके से स्विच कर रहा है: developer.android.com/sdk/installing/studio.html
डैनियल एलेक्सी २२'१३

1
मेरे पास इनमें से कई पोस्टिंग हैं जैसे कि मैं कर सकता हूं और सभी उत्तर उन चीजों को इंगित करते हैं जो वास्तव में ग्रहण कर सकते हैं, कभी-कभी आसान आईएमएचओ। मैं यह महसूस करना चाहता हूं कि मुझे इंटेलीज के साथ अपना $ मूल्य मिला, लेकिन मैंने इसे खरीदा एकमात्र कारण जावास्क्रिप्ट स्वत: पूर्ण था। मैं सिर्फ सस्ता के लिए वेबस्टॉर्म खरीद सकता था अगर यह सब मुझे मिलता है। शायद एक ग्रहण प्लगइन है जो एक ही काम करता है। सच कहूँ तो मुझे लगता है कि ग्रहण अधिक सुसंगत है और मुझे पर्सपेक्टिव्स सुविधा याद आती है।
Dres

जवाबों:


185

CTRL-click कहीं भी काम करता है

CTRL-click जो आपको क्लिक की गई वस्तु को हर जगह परिभाषित करता है - हर जगह काम करता है - न केवल जावा कोड में और जावा कोड में वैरिएबल, बल्कि स्प्रिंग कॉन्फ़िगरेशन में (आप वर्ग नाम, या संपत्ति या सेम नाम पर क्लिक कर सकते हैं), हाइबरनेट में (आप संपत्ति के नाम या वर्ग, या शामिल संसाधन) पर क्लिक कर सकते हैं, आप जावा वर्ग से एक क्लिक के भीतर नेविगेट कर सकते हैं, जहां इसका उपयोग स्प्रिंग या हाइबरनेट बीन के रूप में किया जाता है; शामिल JSP या JSTL टैग पर भी काम करता है, जावास्क्रिप्ट चर या फ़ंक्शन पर ctrl-click आपको उस स्थान पर लाता है जिसे परिभाषित किया गया है या एक मेनू दिखाता है यदि HTML या J में अन्य .js फ़ाइलों और JS कोड सहित एक से अधिक स्थान हैं। फ़ाइलें।

कई अपशगुन के लिए स्वत: पूर्ण

हाइबरनेट

वसंत विन्यास में, हाइबरनेट कॉन्फ़िगरेशन (वर्ग, संपत्ति और DB स्तंभ नामों सहित) में HSQL अभिव्यक्तियों में स्वत: पूर्ण

<property name="propName" ref="<hit CTRL-SPACE>"

और यह आपको उन बीन्स की सूची दिखाएगा जिन्हें आप उस संपत्ति में इंजेक्ट कर सकते हैं।

जावा

जावा कोड में बहुत स्मार्ट स्वतः पूर्ण:

interface Person {
    String getName();
    String getAddress();
    int getAge();
}
//---
Person p;
String name = p.<CTRL-SHIFT-SPACE>

और यह आपको केवल getName () , getAddress () और toString () (केवल वे प्रकार से संगत हैं) और getName () सूची में पहला है क्योंकि इसमें अधिक प्रासंगिक नाम है। नवीनतम संस्करण 8 जो अभी भी EAP में है, और भी अधिक स्मार्ट स्वतः पूर्ण है।

interface Country{
}
interface Address {
    String getStreetAddress();
    String getZipCode();
    Country getCountry();
}
interface Person {
    String getName();
    Address getAddress();
    int getAge();
}
//--- 
Person p;
Country c = p.<CTRL-SHIFT-SPACE>

और यह चुपचाप इसे स्वत: पूर्ण कर देगा

Country c = p.getAddress().getCountry();

जावास्क्रिप्ट

जावास्क्रिप्ट में स्मार्ट स्वतः पूर्ण।

function Person(name,address) {
    this.getName = function() { return name };
    this.getAddress = function() { return address };
}

Person.prototype.hello = function() {
    return "I'm " + this.getName() + " from " + this.get<CTRL-SPACE>;
}

और यह केवल getName () और getAddress () दिखाता है , चाहे आप अपने प्रोजेक्ट में अन्य JS ऑब्जेक्ट्स में * तरीके कैसे प्राप्त कर सकते हैं, और इस पर ctrl- क्लिक करें () आपको लाता है जहां यह परिभाषित किया गया है, भले ही आपके प्रोजेक्ट में कुछ अन्य गेटनेम () फ़ंक्शन हैं।

एचटीएमएल

क्या मैंने फ़ाइलों के पथों में स्वत: पूर्ण और ctrl- क्लिक करने का उल्लेख किया, जैसे <script src = "", <img src = "", आदि?

HTML टैग विशेषताओं में स्वत: पूर्ण। HTML टैग्स की शैली विशेषता में स्वत: पूर्ण, नाम और मान दोनों विशेषता। वर्ग विशेषताओं में स्वतः पूर्ण भी।
टाइप करें <div class = "<CTRL-SPACE> और यह आपको अपने प्रोजेक्ट में परिभाषित सीएसएस वर्गों की सूची दिखाएगा। एक पर क्लिक करें, उस पर ctrl क्लिक करें और आप इसे परिभाषित किया गया है जहां पर भेज दिया जाएगा।

आसान खुद की भाषा है

नवीनतम संस्करण में भाषा इंजेक्शन है, इसलिए आप घोषणा कर सकते हैं कि आप कस्टम JSTL टैग में आमतौर पर जावास्क्रिप्ट शामिल हैं और यह जावास्क्रिप्ट को इसके अंदर उजागर करेगा।

<ui:obfuscateJavaScript>function something(){...}</ui:obfuscateJavaScript>

सभी प्रोजेक्ट में अनुक्रमित खोज।

आप किसी भी जावा वर्ग या विधि के फाइंड यूज़ेज का उपयोग कर सकते हैं और यह पाएंगे कि इसका उपयोग न केवल जावा कक्षाओं बल्कि हाइबरनेट, स्प्रिंग, जेएसपी और अन्य स्थानों पर भी किया जाता है। नाम बदलने की विधि का नाम बदलकर न केवल जावा कक्षाओं में, बल्कि कहीं भी टिप्पणियों सहित (यह सुनिश्चित नहीं किया जा सकता है कि यदि टिप्पणियों में स्ट्रिंग वास्तव में विधि का नाम है तो यह पूछेगा)। और यह केवल आपकी विधि का पता लगाएगा, भले ही उसी नाम के साथ किसी अन्य वर्ग के तरीके हों। अच्छा स्रोत नियंत्रण एकीकरण (क्या SVN चैंजिस्ट का समर्थन करता है? IDEA उन्हें हर स्रोत नियंत्रण के लिए समर्थन करता है), आपके परिवर्तनों के साथ एक पैच बनाने की क्षमता ताकि आप अपने बदलावों को अन्य टीम के सदस्य को भेजे बिना कर सकें।

बेहतर डिबगर

जब मैं डिबगर की घड़ी की खिड़की में हैशपॉप को देखता हूं, तो मुझे तार्किक दृश्य - कुंजियां और मूल्य दिखाई देते हैं, पिछली बार मैंने ग्रहण में यह हैश और अगले क्षेत्रों के साथ प्रविष्टियां दिखा रहा था - मैं वास्तव में हाशप को डिबग नहीं कर रहा हूं , मैं सिर्फ देखना चाहता हूं यह सामग्री है।

स्प्रिंग और हाइबरनेट कॉन्फ़िगरेशन सत्यापन

जब आप इसे संपादित करते हैं तो यह स्प्रिंग और हाइबरनेट कॉन्फ़िगरेशन को सही करता है, इसलिए मुझे यह जानने के लिए सर्वर को पुनरारंभ करने की आवश्यकता नहीं है कि मैंने कक्षा का नाम गलत रखा है, या निर्माण पैरामीटर को जोड़ा है, इसलिए मेरा स्प्रिंग सीएफजी अमान्य है।

पिछली बार मैंने कोशिश की थी, मैं विंडोज एक्सपी 64 पर एक्लिप्स नहीं चला सकता था।

और यह आपको person.name या person.address का सुझाव देगाव्यक्ति.नाम पर Ctrl-क्लिक करें और यह आपको व्यक्ति वर्ग का नाम () विधि प्राप्त करने के लिए नेविगेट करेगा ।

Pattern.compile("");वहां टाइप करें \\, CTRL-SPACE को हिट करें और आप अपने नियमित अभिव्यक्ति में क्या डाल सकते हैं, इसके बारे में उपयोगी संकेत देखें। आप यहां भाषा इंजेक्शन का भी उपयोग कर सकते हैं - अपनी खुद की विधि को परिभाषित करें जो स्ट्रिंग पैरामीटर लेता है, इंटेलीलैंग विकल्प डायलॉग में घोषणा करें कि आपका पैरामीटर नियमित अभिव्यक्ति है - और यह आपको वहां भी स्वतः पूर्ण कर देगा। कहने की जरूरत नहीं है कि यह गलत नियमित अभिव्यक्तियों पर प्रकाश डालता है।

अन्य सुविधाओं

कुछ विशेषताएं हैं जो मुझे यकीन नहीं है कि ग्रहण में मौजूद हैं या नहीं। लेकिन हमारी टीम का कम से कम प्रत्येक सदस्य जो ग्रहण का उपयोग करता है, स्रोत नियंत्रण से परिवर्तनों के साथ स्थानीय परिवर्तनों को मर्ज करने के लिए कुछ विलय उपकरण का भी उपयोग करता है, आमतौर पर WinMerge। मुझे इसकी कभी आवश्यकता नहीं है - आईडीईए में विलय मेरे लिए पर्याप्त है। 3 क्लिकों से मैं फ़ाइल संस्करणों की सूची को स्रोत नियंत्रण में देख सकता हूं, 3 और क्लिकों से मैं पिछले संस्करणों की तुलना कर सकता हूं, या पिछले और वर्तमान एक और संभवतः बदल सकता हूं।

यह निर्दिष्ट करने की अनुमति देता है कि मुझे WEB-INF\libप्रत्येक फ़ाइल को अलग से चुने बिना, फ़ोल्डर के अंदर सभी .jars की आवश्यकता है , इसलिए जब कोई व्यक्ति .jar को उस फ़ोल्डर में ले जाता है, तो वह इसे स्वचालित रूप से उठाता है।

ऊपर उल्लेख किया गया है कि यह क्या करता है का 10% है। मैं मावेन, फ्लेक्स, स्विंग, ईजेबी और बहुत सारे अन्य सामान का उपयोग नहीं करता हूं, इसलिए मैं यह नहीं बता सकता कि यह उनके लिए कैसे मदद करता है। लेकिन यह करता है।


26
ग्रहण में स्वतः पूर्ण होने वाले जावा कोड के बारे में दो उदाहरण काम करते हैं। अधिक प्रतिनिधि के साथ किसी को सिर्फ जावा उदाहरण कृपया हटा सकते हैं?
क्रेग पी। मोटलिन

9
आपके अधिकांश उदाहरण सीधे या तीसरे पक्ष के प्लगइन्स के माध्यम से ग्रहण में उपलब्ध हैं। मैं किसी को नहीं जानता जो ग्रहण में svn मर्ज के लिए एक बाहरी उपकरण का उपयोग करता है। वसंत / हाइबरनेट / जावास्क्रिप्ट संपादकों (और स्वतः पूर्ण) के लिए 3 पार्टी प्लगइन्स हैं। रेगेक्स और जेएस ईएल के लिए, आपने मुझे हरा दिया :)
योनी

1
Jboss टूल्स प्लगइन हाइबरनेट और JSF एक्सप्रेशंस के स्वतः पूर्ण जोड़ता है।
दामो

4
ग्रहण डिबगिंग दृश्य के लिए कार्यान्वयन विवरण के बजाय संग्रह की सामग्री को दिखाने का विकल्प है। सूचियों और सेटों के लिए, यह उनकी सामग्री दिखाएगा। नक्शे के लिए, यह कुंजी-मूल्य जोड़े की एक सूची दिखाएगा। कस्टम डिस्प्ले सेट करना भी संभव है।
deterb

1
ग्रहण 3.7 (इंडिगो), वसंत विन्यास में वर्ग के नाम को भी पूरा करता है।
स्टिव्लो

81

सिर्फ एक ही कारण मैं IntelliJ का उपयोग करें और नहीं ग्रहण है: प्रयोज्य

क्या यह डीबगिंग, रीफैक्टरिंग, ऑटो-कम्पलीटिंग है .. इंटेलीज लगातार सुसंगत कुंजी बाइंडिंग के साथ उपयोग करने के लिए बहुत आसान है, विकल्प जहाँ आप उनके लिए खोज करते हैं आदि फ़ीचर-वार, यह इंटेलीज के लिए एक्लिप्स के साथ पकड़ने के लिए कठिन होगा, जैसे कि उत्तरार्द्ध में बहुत अधिक प्लगइन्स उपलब्ध हैं जो इंटेलीज है, और आसानी से एक्स्टेंसिबल है।


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

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

2
@EngineerDollery मैं यह नहीं कहूंगा कि यह "गलत" है, क्योंकि अमित ने कहा कि "केवल एक ही कारण है कि मैं intellij का उपयोग करता हूं और ग्रहण का नहीं", " intellij का उपयोग करने का केवल एक ही कारण है और ग्रहण नहीं"।
मैक्स नानसी

54

शायद एक बात नहीं है कि क्या किया / नहीं किया जा सकता है, लेकिन कैसे

उदाहरण के लिए दोनों के पास प्रोजेक्ट, क्लासपैथ, आउटपुट, स्ट्रक्चर आदि के लिए डॉक पैनल से घिरा हुआ है, लेकिन आइडिया में जब मैं इन सभी को टाइप करना शुरू कर दूंगा, तो यह मुझे स्वयं कोड पर ध्यान केंद्रित करने देगा; ग्रहण में ये सभी पैनल मेरे संपादक क्षेत्र को बहुत कम, कुल देखे जाने वाले क्षेत्र के लगभग 1/5 भाग को खुला छोड़ देते हैं। इसलिए मुझे माउस को पकड़ना है और उन पैनलों में कम से कम क्लिक करना है। पूरे दिन ऐसा करना ग्रहण में एक बहुत ही निराशाजनक अनुभव है।

सटीक विपरीत चीज दृश्य आउटपुट विंडो के साथ होती है। आइडिया में एक प्रोग्राम चलाने से आउटपुट विंडो / पैनल प्रोग्राम के आउटपुट को देखने के लिए लाता है, भले ही यह बहुत कम से कम हो। ग्रहण में मुझे अपने माउस को फिर से पकड़ना होगा और आउटपुट टैब को देखना होगा और अपने प्रोग्राम आउटपुट को देखने के लिए इसे क्लिक करना होगा, क्योंकि आउटपुट विंडो / पैनल बाकी सभी खिड़कियों की तरह ही एक और है, लेकिन आइडिया में इसका इलाज किया जाता है। एक विशेष तरीका: "यदि उपयोगकर्ता अपना प्रोग्राम चलाना चाहता है, तो बहुत संभव है कि वह उस प्रोग्राम का आउटपुट देखना चाहता हो!" जब मैं इसे लिखता हूं तो यह स्वाभाविक लगता है, लेकिन इस बुनियादी यूजर इंटरफेस अवधारणा में ग्रहण विफल रहता है।

संभवतया इसके लिए एक शॉर्टकट है ग्रहण (ऑटोहाइड आउटपुट विंडो में संपादन करते समय और प्रोग्राम को चलाते समय इसे ऑटोशो करें), लेकिन कुछ अन्य दसियों विशेषताओं के रूप में शॉर्टकट को मंचों, ऑनलाइन मदद आदि में शिकार किया जाना चाहिए, जबकि आइडिया थोड़ा अधिक है " प्राकृतिक"।

यह लगभग सभी सुविधाओं के लिए दोहराया जा सकता है, दोनों में स्वत: पूर्ण, वर्ड रैप, त्वरित प्रलेखन दृश्य, सब कुछ है। मुझे लगता है कि ग्रहण की तुलना में आइडिया में उपयोगकर्ता अनुभव कहीं अधिक सुखद है। तब आदर्श वाक्य सच हो जाता है "खुशी के साथ विकसित करें"

ग्रहण तेजी से बड़ी परियोजनाओं (+300 जार और +4000 कक्षाएं) को संभालता है और मुझे लगता है कि इंटेलीज आइडिया 8 इस पर काम कर रहा है।

यह सब निश्चित रूप से व्यक्तिपरक है। हम उपयोगकर्ता के अनुभव को कैसे माप सकते हैं?


18
ग्रहण में आप संपादन विंडो को न्यूनतम / अधिकतम करने के लिए नियंत्रण-मी दबा सकते हैं, या इसके संपादक टैब को डबल-क्लिक कर सकते हैं - यह एक महान सौदा करने में मदद करता है
स्कॉट स्टैनफ़ील्ड

वाह ... बहुत बहुत धन्यवाद। यह बहुत उपयोगी होगा यदि ग्रहण के पास एक तरीका है जो मुझे यह पता है (हॉटकी धोखा शीट को पढ़ने के साथ) बहुत बहुत धन्यवाद। वहाँ एक तरह से आउटपुट विंडो में परिवर्तन है?
OscarRyz

ALT-SHIFT-Q एक शो व्यू विंडो लाता है ... C कंसोल के लिए है ALT-SHIFT-Q, C कंसोल पर जाने का शॉर्टकट है।
इंस्टैंटूप

7
Ctrl + Shift + L आपको वर्तमान संदर्भ में उपलब्ध हॉटकीज़ की एक सूची दिखाता है।
डैन बेरींडीई

3
एक उप-विंडो शीर्षक पर डबल-क्लिक करें - कोई भी उप-विंडो - और आपकी उप-विंडो पूरी स्क्रीन पर बहती है। इसे फिर से बहाल करने के लिए करें। कंसोल के साथ पैनल को छोटा करें, और फिर जब आउटपुट होता है, तो कंसोल तुरंत पॉप अप होता है।
इयान

44

आइडिया 8.0 में प्यारे ctrl+shift+spacex 2 है जो निम्नलिखित स्वतः पूर्ण करता है:

 City city = customer.<ctrl-shift-space twice>

को हल करता है

 City city = customer.getAddress().getCity();

गेटर्स / सेटर्स के किसी भी स्तर के माध्यम से।


27
हालांकि दो स्तरों से अधिक कुछ भी काफी शांत है कोड गंध ...;)
एपीगा

33

"क्लिपबोर्ड के साथ तुलना" मत भूलना।

कुछ ऐसा है जो मैं इंटेलीज में हर समय उपयोग करता हूं और जिसका ग्रहण में कोई समकक्ष नहीं है।


6
इसके अलावा, क्लिपबोर्ड इतिहास।
किमबॉल रॉबिन्सन

3
यह सुविधा एक प्लगइन बुलाया के रूप में ग्रहण करने के लिए जोड़ा जा सकता है AnyEditTools (बाजार में पाया जाता है)
यानिव

यह पढ़ने तक क्लिपबोर्ड इतिहास के बारे में भी नहीं पता था। अति उत्कृष्ट!
नोडडैड

मुझे कई बार बचाया
OscarRyz

31

IntelliJ में मेरा पसंदीदा शॉर्टकट, जिसका ग्रहण में कोई समतुल्य नहीं है (जिसे मैंने पाया है) को 'प्रतीक के लिए जाना' कहा जाता है। CTRL-ALT-SHIFT-Nआपको संपूर्ण प्रोजेक्ट से टाइपिंग और ग्लोब अप क्लासेस, मेथड नेम, वैरिएबल नेम, आदि शुरू करने देता है।


10
Ctrl-Shift-जी ग्रहण में
Dres

ctrl-shift-G वह नहीं है जिसे पॉल ने वर्णित किया है .. यह "ctrl + O" की तरह है, लेकिन प्रोजेक्ट पर सभी वर्गों, विधियों और चर के लिए
Tano

27

मैंने नए Android स्टूडियो के कारण IntelliJ पर स्विच करने का प्रयास किया। लेकिन मैं अब बहुत निराश हूं। मैं कोड अनुशंसितकर्ता प्लगइन के साथ ग्रहण का उपयोग कर रहा हूं । यहाँ एक सरल उदाहरण है कि ग्रहण इतना भयानक क्यों है:

मैं एक नया बनाना चाहता हूं SimpleTimeZoneSimpleTimeZoneशून्य तर्कों के साथ कोई कंस्ट्रक्टर नहीं है।

Ctrl + Space ग्रहण में

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

Ctrl + Space इंटेलीज में

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

IntelliJ में मुझे कोई सुझाव नहीं मिला कि किस तरह के कंस्ट्रक्टर SimpleTimeZoneहैं।

Enterग्रहण के बाद

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

मुझे पहले से चुने गए निर्माणकर्ता पूर्वनिर्धारित चर नामों से भरे हुए मिले। और मैं हर तर्क का प्रकार देख सकता हूं। कोड अनुशंसाकर्ताओं के साथ ग्रहण मौजूदा दायरे में पहले से परिभाषित चर प्रकारों द्वारा सही निर्माणकर्ता का अनुमान लगाता है और इन वर्करों के साथ कंस्ट्रक्टर को भरता है।

Enterइंटेलीज के बाद कुछ नहीं होता है। मुझे एक खाली कंस्ट्रक्टर मिलता है। मुझे Ctrl + Pअपेक्षित तर्कों को देखने के लिए प्रेस करना होगा।

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


25

यदि आपके पास एक विधि पर कर्सर है तो CTRL+SHIFT+Iविधि कार्यान्वयन को पॉपअप करेंगे। यदि विधि एक interfaceविधि है, तो आप कार्यान्वयन के माध्यम से ऊपर और नीचे-तीर का उपयोग कर सकते हैं:

Map<String, Integer> m = ...
m.contains|Key("Wibble");

कहाँ | (उदाहरण के लिए) जहां आपका कर्सर है।


4
वास्तव में एक्लिप्स में (कम से कम संस्करण जो मैं उपयोग कर रहा हूं), जब आप अपने कर्सर को एक विधि के नाम पर रखते हैं और CTRL + T को हिट करते हैं, तो आपको पूरे पदानुक्रम का पेड़ मिलता है, सबसे ऊपरी इंटरफ़ेस से नीचे पत्ती कार्यान्वयन तक, और कूद सकते हैं उनमें से किसी को भी।
युवल

2
ग्रहण में आप विधि परिभाषा / कार्यान्वयन (संदर्भ के आधार पर) पर जाने के लिए Ctrl + + विधि नाम पर भी क्लिक कर सकते हैं
क्वालिफ़ाइडियल

8
मुद्दा यह है कि आप वास्तव में कार्यान्वयन के लिए नेविगेट नहीं कर रहे हैं। यह सिर्फ पॉपअप दिखाया गया है, जैसे कि जादवॉक आदि
जैकबबिट २ '

1
ग्रहण में आप बस इसके कार्यान्वयन के साथ पॉपअप को खोलने के लिए शिफ्ट के साथ विधि का नाम हॉवर करते हैं
विक्टर

24

IntelliJ में कुछ बहुत उन्नत कोड निरीक्षण हैं (तुलनात्मक लेकिन FindBugs के लिए भिन्न)।

हालाँकि मैं IntelliJ का उपयोग करते समय एक FindBugs प्लगइन को गंभीरता से याद करता हूं (ग्रहण / FindBugs एकीकरण बहुत अच्छा है)।

यहाँ IntelliJ द्वारा समर्थित CodeInspections की एक आधिकारिक सूची है

संपादित करें: अंत में, IntelliJ के लिए एक खोज-प्लगइन है। यह अभी भी थोड़ा बीटा है लेकिन कोड निरीक्षण और फाइंडबग्स का संयोजन अभी बहुत बढ़िया है!


हाँ, फाइबग्स उन कुछ स्टैटिक कोड एनालाइज़र में से एक है जो वास्तव में व्यावहारिक ईमानदार-से-अच्छापन बग ढूंढता है। :)
इपगा

क्या आपके पास इसके कोड निरीक्षण का एक विशिष्ट उदाहरण है? यह किस तरह के सामान का पता लगा सकता है?
इपगा

निरीक्षणों के बारे में एक और कड़ी: hamletdarcy.blogspot.com/2008/04/…
Mo.

8
मुझे लगता है कि IntelliJ का कोड निरीक्षण अधिक बग ढूंढता है, इसमें उपयोगी त्वरित फ़िक्सेस हैं, यह चेतावनी दे सकते हैं और लाइनों को ठीक कर सकते हैं जैसे आप उन्हें टाइप करते हैं। (आपको फ़ाइल सहेजने की ज़रूरत नहीं है और इसे संकलित करने की ज़रूरत नहीं है) ये बारीकियाँ कीड़े को जल्द से जल्द ठीक करने के लिए इसे और अधिक व्यावहारिक बनाती हैं।
पीटर लॉरी


15

एक चीज जो मैं नियमित रूप से उपयोग करता हूं वह एक ब्रेकपॉइंट सेट कर रहा है, लेकिन फिर यह नियंत्रित करता है कि यह क्या करता है। (मेरी आखिरी नौकरी में, अन्य सभी ने ग्रहण का उपयोग किया ... मुझे याद है कि आश्चर्यचकित था कि कोई भी यह पता नहीं लगा सकता है कि ग्रहण में यह कैसे करना है।)

उदाहरण के लिए, ब्रेकपॉइंट वास्तव में बंद नहीं हो सकता है, लेकिन बस कंसोल पर एक संदेश लॉग करें। जिसका अर्थ है, मुझे अपने कोड को "System.out.println (...)" और फिर recompile से लिटाना नहीं है।


2
आप इसे ग्रहण में सशर्त विराम बिंदुओं के साथ कर सकते हैं लेकिन यह थोड़ा चुटीला है। सच
HaveAGuess

मुझे लगता है कि intelliJ आपको अधिक जटिल हिट काउंट सेट करने देता है, है ना?
किमबॉल रॉबिन्सन

3
यह अब ग्रहण में देखने के लिए सरल है - यह अब ब्रेकपॉइंट दृश्य में स्थितियां प्रदर्शित करता है (इसलिए आपको पता है कि वे उपलब्ध हैं)। आप काउंट्स पर ब्रेक लगा सकते हैं, मनमाना कोड दर्ज कर सकते हैं, System.out.println("here"); falseप्रिंट करना पसंद कर सकते हैं लेकिन ब्रेक नहीं (अंतिम स्टेटमेंट एक बूलियन एक्सप्रेशन है जो यह निर्धारित करता है कि क्या हमें तोड़ देना चाहिए)
स्कॉट स्टैनफील्ड

15

कई चीजें हैं जो विचार बहुत सरल तरीके से हल करती हैं, या इसके समकक्ष नहीं है:

  • स्वत: पूर्ण क्रियाएँ: क्या ctrl+shift+aआप अपने प्रमुख संयोजन को याद किए बिना कीबोर्ड से किसी भी विचार कार्रवाई को कॉल कर सकते हैं ... खिड़कियों में सूक्ति या लॉन्च के बारे में सोचें, और आपको यह विचार मिल गया है! इसके अलावा, यह सुविधा CamelCasing संक्षिप्तीकरण का समर्थन करती है;)

  • शेल्फ: आप आसानी से कोड के कुछ टुकड़ों को अलग रख सकते हैं, और फिर उन्हें अलग दर्शक के माध्यम से देख सकते हैं।

  • स्थानीय इतिहास: यह कहीं अधिक बेहतर प्रबंधित है, और सरल है।

  • SVN एनोटेशन और इतिहास: निरीक्षण करने के लिए सरल, और यह भी कि आप आसानी से इतिहास को केवल एक पूरे स्रोत फ़ाइल के ऐसे हिस्से के लिए देख सकते हैं।

  • हर जगह स्वत: पूर्ण, जैसे कि अभिव्यक्ति की अभिव्यक्ति और विखंडन स्थिति खिड़कियां।

  • मावेन एकीकरण ... बहुत, बहुत सरल, और अच्छी तरह से एकीकृत।

  • रिफ्लेक्टर हाथ के बहुत करीब होते हैं, जैसे कि लूप सम्मिलन, रैपिंग / कास्टिंग, नाम बदलना, और चर जोड़ना।

  • अधिक शक्तिशाली और सुव्यवस्थित संगठित हों। बड़ी परियोजनाओं में भी

  • एक ही समय में एक बड़ी परियोजना की कई शाखाओं के साथ काम करने के लिए बहुत स्थिर है (शाखा स्रोतों द्वारा 1.5Gb के एक पूर्व Bugfixer के रूप में, और उनमें एक साथ काम करने की आवश्यकता, विचार ने इसकी ठोस-ठोस क्षमताओं को दिखाया)

  • क्लीनर और सरल इंटरफ़ेस ...

  • और, केवल कीबोर्ड के साथ उपयोग करने के लिए सरल, बहुत सारे सरल टैक के लिए माउस का उपयोग करने की आवश्यकता के अलावा, आपको समय की बचत करना और आपको कोड पर अधिक ध्यान देना ... जहां यह मायने रखता है!

और अब, ओपनसोर्स होने के नाते ... आइडिया यूजर बेस तेजी से बढ़ेगा।


2
स्वत: पूर्ण क्रियाएँ = ग्रहण में त्वरित पहुँच; मैं यह नहीं देखता कि स्थानीय इतिहास ग्रहण से ज्यादा आसान कैसे हो सकता है ...
स्कॉट स्टैनफील्ड

जैसा कि स्कॉट ने संकेत दिया है, यह Ctrl + 3 है। मूल्यांकन अभिव्यक्तियों और सशर्त विराम बिंदुओं को सेट करते समय सामग्री सहायता भी उपलब्ध है। मुझे यकीन नहीं है कि उल्लेखित रीफ्रैक्टिंग्स को हाथ में लाने के लिए Ctrl + 1 और Ctrl + 2 की तुलना में कितना करीब है। बाकी बहुत कुछ व्यक्तिपरक लगता है।
नाइटिंड

14

संरचनात्मक खोज और प्रतिस्थापित।

उदाहरण के लिए, कुछ इस तरह खोजें:

  System.out.println($string$ + $expr$);

जहां $ स्ट्रिंग $ एक शाब्दिक है, और $ expr $ my.package.and.Class प्रकार की अभिव्यक्ति है, और उसके साथ प्रतिस्थापित किया जाता है:

  $expr$.inspect($string$);

1
वास्तव में आप अपने कोड में टाइप कास्ट्स / () - ऑपरेटर / के लिए खोज कर सकते हैं, लगभग सादे पाठ खोज के साथ लगभग असंभव है
कार्ल

13

इस थ्रेड के संदर्भ में मेरी टाइमिंग थोड़ी बंद हो सकती है, लेकिन मुझे सिर्फ जवाब देना था।

मैं एक विशाल ग्रहण प्रशंसक हूं - पहली बार दिखने के बाद से इसका उपयोग कर रहा हूं। एक दोस्त ने मुझे (10+ साल पहले) बताया कि यह एक खिलाड़ी होगा। वह सही था।

तथापि! मैं सिर्फ इंटेलीजे उपयोग शुरू कर दिया है और आप देखा नहीं किया है या इस्तेमाल किया changelists - आप स्वर्ग प्रोग्रामिंग ले पा रहे हैं।

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

इसके अलावा, एक कमिट लॉग प्लगइन है जो उन SCCS के लिए सभी परिवर्तनों के एक पाठ को आउटपुट करता है जो आपके बग ट्रैकिंग सॉफ़्टवेयर के साथ एकीकृत नहीं हैं। टिकट के कार्य इतिहास में लॉग को चिपकाने से फ़ाइलों, उनके संस्करण, दिनांक / समय और शाखा / टैग पर कब्जा हो जाता है। यह नरक के रूप में अच्छा है।

यह सब ग्रहण में प्लगइन्स (या भविष्य में वृद्धि) के माध्यम से समर्थित हो सकता है, मैं दांव लगाता हूं; अभी तक, Intellij यह एक हवा बनाता है।

अंत में, मैं वास्तव में इस उत्पाद के लिए मुख्यधारा के प्यार के बारे में उत्साहित हूं - कीस्ट्रोक, इसलिए यह दर्दनाक है, लेकिन मजेदार है।


मुझे वास्तव में चैंजिस्ट की सुविधा पसंद है। यह पैच / अलमारियों के एक वीसीएस स्वतंत्र सेट के समान है जिसे आप स्वतंत्र रूप से काम कर सकते हैं और जो उनके साथ जुड़ा हो सकता है वह आपके इश्यू ट्रैकर के साथ भी जुड़ा हो सकता है। आपके पास स्थानीय इतिहास (एक मिनी वीसीएस की तरह) आपके परिवर्तनों को ट्रैक करता है जब आप लगभग लाइन स्तर के विवरण पर काम करते हैं, ताकि आपको ज़रूरत पड़ने पर लगभग किसी भी समय वापस जा सकें। इसके अलावा, जब आप कार्य स्विच करते हैं, तो सभी IDEA नए कार्य के लिए IDE की स्थिति को याद करते हैं और खुली फाइलों, विंडो पोजीशन आदि को पुनर्स्थापित करते हैं
sylvanaar

चेंजेलिस्ट वास्तव में एक SVN फीचर हैं। IntelliJ आपको केवल उन्हें देखने और प्रबंधित करने की अनुमति देता है जहां ग्रहण SVN प्लगइन्स नहीं हैं।
नील ट्रैक्ट

12

IntelliJ डिबगर में "मूल्यांकन मूल्यांकन" नामक एक बहुत ही आसान विशेषता है, जो कि ग्रहण पेंडेंट से कहीं बेहतर है। इसका पूर्ण कोड-समापन है और मैं इसे सामान्य रूप से "अधिक उपयोगी" मानता हूं।


8
ग्रहण में एक अभिव्यक्ति मूल्यांकनकर्ता भी है जो कोड पूरा करने की पेशकश करता है। विंडो पर जाएं -> शो देखें -> डीबग -> डिस्प्ले जब डीबगर में एक ब्रेकप्वाइंट पर रोका जाता है तो आप उस डिस्प्ले व्यू में मनमाने भावों का मूल्यांकन कर सकते हैं।
laz

11

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

जब भी मुझे किसी का उपयोग करना होता है, या किसी का उपयोग देखना होता है, तो ग्रहण ऐसा लगता है कि वे ज्यादातर चीजें मैं इंटेलीज में कर सकते हैं, लेकिन यह उन्हें लंबे समय तक ले जाता है और यह क्लिंकर है।


9

चर का परिचय दें। ( Ctrl+Alt+Vविंडोज़ पर, Cmd+Alt+VOSX पर)

कहते हैं कि आप एक विधि कहते हैं, service.listAllPersons() हिट Ctrl+Alt+Vऔर Enter, और विधि कॉल से वापसी मूल्य के लिए चर डाला जाता है:

List<Person> list = service.listAllPersons();

आपके द्वारा लिखी गई बचत करता है, और आपको उस प्रकार की वापसी की जाँच करने की ज़रूरत नहीं है जिसे आप बुला रहे हैं। जेनरिक का उपयोग करते समय विशेष रूप से उपयोगी, उदा

new ArrayList<String>()

[परिचय चर]

ArrayList<String> stringArrayList = new ArrayList<String>();

(बेशक आप आसानी से मारने से पहले चर का नाम बदल सकते हैं Enter)


13
यह ग्रहण में Ctrl + 2 L है।
मिके

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

3
काफी समय ... यदि आप क्विकफ़िक्स का उपयोग करते हैं, control+1(दुनिया में सबसे स्पष्ट कुंजी बाइंडिंग, एह?), यह सुझाव देता है कि आप वर्तमान कर्सर स्थान पर कर सकते हैं, आईडीईए में इरादों के समान। यह उदाहरण के लिए "स्थानीय असाइन करें", "फ़ील्ड असाइन करें" और अन्य विकल्प सूचीबद्ध करता है। control+2, Lइसके लिए शॉर्टकट है।
स्कॉट स्टैनफील्ड

ग्रहण में, एक बार चुने जाने के बाद ctrl+2, L, आप अभी भी बनाए गए चर के प्रकार को या तो दाईं ओर के प्रकार (डिफ़ॉल्ट रूप से) में बदल सकते हैं, या किसी भी प्रकार के प्रकार: चर प्रकार TAB के साथ चयन कर सकते हैं।
गीतन

8

IntelliJ में कोड से jspx डॉक्युमेंट्स में इंटेलीजेंस और रीफैक्टरिंग सपोर्ट है।


क्या आप स्पष्ट कर सकते हैं कि आपका क्या मतलब है? ग्रहण का ऑटो-पूर्ति भी है, लेकिन क्या आपका मतलब कुछ और है?
12

ग्रहण के पास jspx दस्तावेज़ AFAIK में स्वतः पूर्णता नहीं है। नियमित jsp में हाँ, jspx सं।
21

3
उसका मतलब है कि यदि आपके पास एक JSP है जो एक POJO पर एक संपत्ति को संदर्भित करता है, और आप संपत्ति का नाम बदल देते हैं, तो आपका JSP सही ढंग से अपडेट हो जाता है। IntelliJ का JSP सपोर्ट ग्रहण / WTP!
इस्कॉन

2
मुझे JSP EL एक्सप्रेशंस, पीरियड में काम करने के लिए ग्रहण का ऑटो पूरा नहीं मिल सकता है। JSP या JSPX, यह कोई फर्क नहीं पड़ता, यह सिर्फ अव्यवस्था है। IntelliJ टैग x और jspx को वैसे ही हैंडल करता है जैसे आप अपेक्षा करते हैं: जैसे टैग या jsp फ़ाइल।
एरिक्सन

यह देखकर अच्छा लगता है कि ग्रहण करने वाले उपयोगकर्ता उन चीजों को कैसे वोट देते हैं जिन्हें वे पसंद नहीं करते हैं। यदि मेरी टिप्पणियां गलत हैं, तो कृपया टिप्पणी के साथ प्रतिक्रिया दें। मुझे बताओ कि ग्रहण में यह कैसे करना है!
21

7

मेरे लिए, यह आईडीईए का मावेन समर्थन है, विशेष रूप से संस्करण 9 में कोई भी दूसरा नहीं है। मावेन मॉडल के लिए प्रोजेक्ट का ऑन-द-फ्लाय सिंक्रोनाइज़िंग सिर्फ शानदार है और विकास को सुखद बनाता है।


6

Intellij में Subversive या Subclipse की तुलना में कहीं बेहतर SVN प्लग-इन है और यह काम करता है! जितना समय हमने ग्रहण करने के लिए विलय की गई स्रोत फ़ाइलों को बर्बाद करने के लिए उतने समय के बारे में नहीं सोचा है। यह IntelliJ के साथ कोई समस्या नहीं है क्योंकि प्लगइन आपको बहुत अधिक मदद करता है।

इसके अलावा Subclipse प्लगइन अविश्वसनीय है - हमारे पास नियमित रूप से ऐसे उदाहरण हैं जहां प्लगइन को नहीं लगता कि अन्य डेवलपर्स द्वारा SVN में किसी भी कोड की जाँच की गई है, लेकिन वहाँ है - CI सर्वर ने उन्हें संसाधित किया है!


वास्तव में, svn समर्थन विचार में शानदार है, जबकि उप-ग्रहण / विध्वंसक छोटी गाड़ी, अनाड़ी और बहुत विश्वसनीय नहीं हैं; समान ही git के लिए जाता है, वास्तव में मुझे ग्रहण और इंटेलीज के लिए किसी भी उचित git इंटरग्रेसेशन की याद नहीं है
Kamil Mikolajczyk

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

4

VIM एमुलेटर। यह प्लगइन IDEA में फाइलों को संपादित करते समय लगभग पूर्ण vi / vim / gvim इम्यूलेशन प्रदान करता है। निम्नलिखित कार्यक्षमता समर्थित है:

  • मोशन कीज
  • विलोपन / बदलने
  • मोड कमांड डालें
  • निशान
  • रजिस्टर
  • वीआईएम पूर्ववत करें / फिर से करें
  • दृश्य मोड आदेश
  • कुछ पूर्व आज्ञा
  • कुछ: विकल्प सेट करें
  • खोज और खोज / प्रतिस्थापन के लिए पूर्ण VIM नियमित अभिव्यक्ति
  • मैक्रो
  • Diagraphs
  • कमांड लाइन का इतिहास
  • इतिहास खोजें
  • JumpLists
  • VIM मदद

इस प्लगइन के बारे में कुछ टिप्पणियाँ http://plugins.jetbrains.net/plugin/?id=164 से

मैं इस प्लगइन की वजह से कभी किसी अन्य विचारधारा में वापस नहीं जा सकता .. दोनों दुनिया के सर्वश्रेष्ठ ... बहुत बढ़िया! यही कारण है कि मैं सभी आईडीई में कमी थी।

मैं सहमत हूं, मैं अपने आइडियाविम प्लगइन के बिना नहीं रह सकता, हालांकि निष्पक्ष होने के लिए ग्रहण के लिए एक विम प्लगइन है, जिसे विम्प्लुगिन ( vimplugin.org ) नाम दिया गया है
कीथ

3
Vwrapper एक और विम एक्लिप्स प्लगइन है। और यह आइडिया विम प्लगइन (रिपीट कीज काम) से भी बेहतर काम करता है। Vwrapper कमांड-लाइन से खोज और प्रतिस्थापन को संभालता नहीं है, हालांकि (हालांकि खोज बढ़िया काम करती है), और न ही यह मैक्रो को अंतःक्रियात्मक रूप से परिभाषित करने की अनुमति देता है। सहमत हैं कि एक आईडीई में विम समर्थन आवश्यक है। इसके बिना ग्रहण या विचार का उपयोग नहीं करेंगे!
ब्रेंट फस्ट

1
Viableplugin.com ग्रहण के लिए बहुत अच्छा है। मैं इंटेलीज एक का भी उपयोग कर रहा हूं और मुझे पता है कि इंटेलीज एक कभी-कभी कुछ परिस्थितियों में संपादक को लटका देता है और आदेशों का जवाब नहीं देता है।
जॉन लेम्प

4

मेरी राय में अच्छे बिंदुओं में से एक डिपेंडेंसी स्ट्रक्चर मैट्रिक्स है : http://www.jetbrains.com/idea/features/d dependency_analysis.html #link0

Lattix की वेबसाइट (एक स्टैंडअलोन उत्पाद) में DSM के उपयोग और लाभों का एक अच्छा परिचय है: http://www.lattix.com/files/dl/slides/s.php?directory=4tour


3

कुछ अन्य बातें:

  • विधि हस्ताक्षर बदलते समय मापदंडों / अपवादों को प्रचारित करें, कॉल स्टैक के अंदर गहरी विधियों को अपडेट करने के लिए बहुत आसान है
  • Jdbc कॉल के तर्क के रूप में पारित स्ट्रिंग कोड में SQL कोड सत्यापन (और पूरे नए बंडल भाषा इंजेक्शन सामान)
  • इंटरफेस और कक्षाओं (और उनके तरीकों) और स्मार्ट कार्यान्वयन नेविगेशन (Ctrl + Alt + क्लिक या Ctrl + Alt + B) के लिए आइकन में / ओवरराइट किए गए
  • EJB 2.1 इंटरफेस और बीन क्लासेस (रीफैक्टरिंग सपोर्ट सहित) के बीच लिंकिंग; पुरानी है, लेकिन पुरानी परियोजनाओं पर काम करते समय अभी भी बहुत मूल्यवान है

2

दो चीजें जो इंटेलीजे करती हैं कि ग्रहण मेरे लिए बहुत मूल्यवान नहीं है:

विधि विभाजक: तरीकों के बीच उन बेहोश ग्रे लाइनों कोड बनाने के लिए बहुत अधिक पठनीय

टेक्स्ट एंटी-अलियासिंग: आईडीई में कोड को इतना अच्छा बनाता है


2
मुझे वास्तव में इंटेलीज का एंटी-एलियासिंग ग्रहण से बहुत बुरा लग रहा था। हालाँकि कुछ समय पहले IntelliJ के कुछ संस्करण थे। क्या इसमें सुधार किया गया है?
laz

मैं एक वर्धाना आनुपातिक फ़ॉन्ट का उपयोग करता हूं जो मुझे लगता है कि एंटी-अलियासिंग का उपयोग करने से अच्छा है।
पीटर लॉरी

2

एक बहुत ही उपयोगी विशेषता आंशिक रूप से मावेन रिएक्टर परियोजना का निर्माण करने की क्षमता है ताकि केवल आपके द्वारा आवश्यक भागों को शामिल किया जाए।

इसे थोड़ा स्पष्ट करने के लिए, ओवरले तकनीक का उपयोग करके उनके बीच साझा किए जा रहे सामान्य संसाधनों (जैसे जावास्क्रिप्ट, स्प्रिंग कॉन्फिग फाइल आदि) के साथ WAR फ़ाइलों के संग्रह के मामले पर विचार करें।। यदि आप किसी वेब पेज पर काम कर रहे हैं (जेट्टी में चल रहे हैं) और कुछ ओवरले कोड को बदलना चाहते हैं जो एक अलग मॉड्यूल में होता है तो आप सामान्य रूप से जेट्टी को बंद करने, मावेन बिल्ड को चलाने, जेट्टी को फिर से शुरू करने की उम्मीद करेंगे। जारी रखें। यह ग्रहण के मामले में है और बस मेरे साथ काम करने वाले हर दूसरे आईडीई के बारे में है। इंटेलीज में ऐसा नहीं है। प्रोजेक्ट सेटिंग्स का उपयोग करके आप परिभाषित कर सकते हैं कि आप पृष्ठभूमि के निर्माण में किस मॉड्यूल को शामिल करना चाहते हैं। नतीजतन आप एक प्रक्रिया के साथ समाप्त होते हैं जो सहज दिखाई देती है। आप प्रोजेक्ट में किसी भी कोड में बहुत बदलाव करते हैं और तुरंत ही ब्राउज़र को रिफ्रेश करने के बाद यह उपलब्ध होता है।

बहुत साफ, और बहुत तेज।

मैं सोच नहीं पा रहा था कि YUI जैसे DWR / स्प्रिंगएमवीसी पर कोई फ्रंट एंड कोडिंग कर सकता है।


2

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

अब मेरे जवाब के लिए: एक बड़ा अंतर जो मैंने अभी तक नहीं देखा है, वह यह है कि इंटेलीज / जेट दिमाग के साथ तकनीकी समर्थन बेहतर है। हम JetBrains को एक ई-मेल भेजते हैं और एक घंटे से भी कम समय में निश्चित उत्तर प्राप्त करते हैं। ग्रहण की समस्याओं के जवाबों की तलाश सामान्य रूप से होती है, "आप बेवकूफ बेवकूफ" जवाब (आमतौर पर जवाबों की एक छोटी संख्या) के साथ-साथ बहुत अधिक संख्या में व्यावहारिक, सहायक उत्तर भी देते हैं। लेकिन असली जवाब पाने के लिए कुछ छंटनी होती है।


ग्रहण खुला स्रोत है। किसी को भी सवालों के जवाब देने या बग को ठीक करने के लिए भुगतान नहीं किया जाता है। वाणिज्यिक ग्रहण-आधारित आईडीई खरीदें जैसे MyEclipse और अपने पैसे के लिए समर्थन प्राप्त करें। त्वरित आँकड़े: मैंने जेटब्रेन को 56 बगों की सूचना दी है, उनमें से 23 बंद हैं; ग्रहण की सूचना दी गई 65 बग से 33 बंद हैं। अंतर केवल इतना है कि जेटब्रिंस ग्रहण की तुलना में थोड़ी तेजी से कीड़े ठीक करता है।
विक्टर

2

कुछ जो मैं इंटेलीज में हर समय उपयोग करता हूं, जैसा कि मैं टाइप कर रहा हूं। मेरे पास दोनों IDE का उपयोग करके प्रिंटआउट (मूल रूप से ग्रहण में लिखा हुआ) से कक्षाएं फिर से लिखी गई हैं और मैंने ग्रहण की तुलना में IntelliJ में समान कक्षाएं लिखने के लिए लगभग 40% कम कुंजी स्ट्रोक / माउस क्लिक का उपयोग किया है।

मैं ग्रहण का उपयोग नहीं करना चाहूंगा, जब तक कि वे कोड के अधूरे टुकड़ों के साथ रीफैक्टरिंग का समर्थन नहीं करते।

यहाँ IntelliJ 8.0 / 8.1 में सुविधाओं की एक लंबी सूची है [ http://www.jetbrains.com/idea/features/index.html]


2

एक बात यह है कि IntelliJ ग्रहण की तुलना में बहुत बेहतर करता है और जो आपकी जेब को खाली करता है!

हालाँकि मैं इसका उपयोग करना पसंद करता हूं और एक बड़ा फायदा यह है कि एक्लिप्स पर यह फाइल सिस्टम के साथ सिंक्रनाइज़ करने का तरीका है, बड़ी परियोजनाओं और धीमी गति से कंप्यूटर के लिए (हां काम के वातावरण में पीसी घर पर हमारे लोगों की तुलना में बहुत धीमी है) ग्रहण लगता है। संघर्ष जहां IntelliJ एक धीमी प्रारंभिक अनुक्रमण समय के साथ जल्दी होने लगता है।

IntelliJ कम्युनिटी एडिशन स्पष्ट रूप से इसे मुफ्त का उपयोग करता है, लेकिन आप जल्द ही उन अतिरिक्त रीफैक्टरिंग और अच्छे छोटे उपहारों को सीसी संस्करण में शामिल नहीं करना चाहते हैं।

मेरी राय में, इसका आम तौर पर एक बेहतर उपयोगकर्ता अनुभव है लेकिन क्या इसकी कीमत प्रत्येक डेवलपर के लिए खुद का जवाब देने के लिए एक सवाल है।

लेकिन आभारी होना चाहिए कि अभी हमारे पास जावा के लिए तीन शानदार आईडीई हैं, नेटबींस के साथ हर समय बेहतर हो रहा है।


3
IntelliJ अल्टीमेट एडिशन वास्तव में मुफ्त नहीं है, लेकिन एक डेवलपर के रूप में, मैं अपनी आईडीई का उपयोग प्रतिदिन लगभग 8 से 10 घंटे करता हूं। तो मैं एक दोष के रूप में उसकी उचित कीमत नहीं देखते हैं !!
रोमेन लिंसोलस

2

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


2

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

लेकिन, वहाँ एक बात है कि intellij जो ग्रहण करता है अनुमति नहीं है। यह एक ही vm के तहत एक बार में कई प्रोजेक्ट चलाने की अनुमति नहीं देता है।

जब आपके पास सामने, मध्य, कोर, एजेंटों..etc के लिए अलग-अलग परियोजनाएं होती हैं, जहां उन सभी को एक-दूसरे के साथ बातचीत करनी होती है, तो आप एक ही समय में जल्दी से संशोधित और डिबग नहीं कर सकते हैं, अफिक। एकमात्र तरीका जिस पर मैं इसका सामना करता हूं, वह है निर्भर परियोजनाओं में जार को तैनात करने और अपडेट करने के लिए चींटी स्क्रिप्ट का उपयोग करना, या मावेन का उपयोग करना।

ग्रहण कई परियोजनाओं को एक ide vm उदाहरण के तहत डीबग करने की अनुमति देता है।



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