IntelliJ IDEA 2019.3: प्रदर्शन अनुकूलन और गुणवत्ता में सुधार

नमस्ते!

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

सही ढंग से प्राथमिकता देने के लिए, हमने आपकी प्रतिक्रिया पर भरोसा किया और उन सभी को धन्यवाद दिया जिन्होंने विचारों को साझा किया और हमारे ट्रैकर में बग की सूचना दी। नतीजतन, हमने 1,600 से अधिक समस्याओं को ठीक किया, जो कुल मिलाकर लगभग 4,000 उपयोगकर्ता वोट प्राप्त किए।

हमने माइक्रोसेनट, क्वार्कस और हेलिदोन जैसे नए माइक्रोसर्विस फ्रेमवर्क का समर्थन करने के लिए भी काम किया, और मोंगोडीबी के लिए लंबे समय से प्रतीक्षित समर्थन किया।


ब्लॉग @ 2x (3)




प्रदर्शन अनुकूलन


हमने IntelliJ IDEA के प्रदर्शन को बेहतर बनाने के लिए कड़ी मेहनत की। यहाँ हमें क्या मिला है:


  • इंटेलीज आईडिया बहुत तेजी से शुरू होता है।
  • कम संपादक और इंटरफ़ेस जमा देता है।
  • आईडीई कम मेमोरी की खपत करता है, खासकर जब ग्रैडल प्रोजेक्ट आयात करते हैं।




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


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


अब IntelliJ IDEA बहुत तेजी से काम करता है जब संपादक या डिबगर में कई टैब खुले होते हैं, और यह भी कि जब रेग्युलर एक्सप्रेशन फाइंड इन पाथ में बहुत लंबी लाइनों से मेल खाते हैं। प्रोजेक्ट ट्री को खोलने में भी कम समय लगता है।


हमने जावा में प्रकार के अनुमान को अनुकूलित करके संपादक के काम में तेजी लाई है। विधि कॉलों की लंबी श्रृंखलाओं के लिए प्रकार का अनुमान अब बहुत तेज है। जावा सिंटैक्स हाइलाइटिंग भी तेजी से काम करता है, विशेष रूप से जेनेरिक वैरग तरीकों ( Arrays.asList, Map.ofEntries , आदि) के साथ, जिसमें दर्जनों तर्क हो सकते हैं। जॉइन लाइन्स की कार्रवाई के साथ कई लाइनों को जोड़ने से भी तेजी आई है।


कोटलिन 1.3.60 के समर्थन ने भी सुधार किया, उदाहरण के लिए, संपादक में हाइलाइट किए गए कोटलिन वाक्यविन्यास।


अन्य सुधारों ने वीसीएस को प्रभावित किया: वे घटनाओं के प्रसंस्करण समय को कम करने और फाइलों को नजरअंदाज करने, फ्रीज को खत्म करने और बड़ी परियोजनाओं में स्थिति अपडेट को गति देने में कामयाब रहे।


बिल्ड सबसिस्टम में, हमने बड़े ग्रेडल प्रोजेक्ट आयात करते समय पीक मेमोरी की खपत को कम किया। हमने मावेन परियोजनाओं में pom.xml फ़ाइलों को संपादित करने के साथ समस्याओं को भी ठीक किया: अब IDE बिना देरी के ऑटो-पूर्ण विकल्प प्रदान करता है।


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



गुणवत्ता में सुधार


प्लग-इन

IntelliJ IDEA में प्लगइन्स का एक समृद्ध पारिस्थितिकी तंत्र है, लेकिन एक खामी है: जब एक प्लगइन स्थापित या निकालते हैं, तो आपको IDE को पुनरारंभ करना होगा। हमने इस समस्या को हल करना शुरू कर दिया और आईडीई को पुनरारंभ किए बिना, प्लगइन्स की गतिशील स्थापना के लिए बुनियादी ढांचे को लागू किया। अब तक, यह केवल इंटरफ़ेस थीम और कीबोर्ड शॉर्टकट के लिए काम करता है।


संस्करण नियंत्रण प्रणाली

वीसीएस के समर्थन में बहुत कुछ नया। चेकआउट ... एक्शन के बजाय, शाखाओं के साथ काम को सरल बनाने के लिए, हमने दो नए जोड़े हैं: चेकआउट और चयनित से नई शाखाचयनित कार्रवाई से नई शाखा एक नई स्थानीय शाखा बनाती है, लेकिन किसी भी दूरस्थ शाखा की ट्रैकिंग सक्षम नहीं करती है। जब चेकआउट कार्रवाई को बुलाया जाता है, तो IDE एक नई स्थानीय शाखा बनाता है, इसे रिपॉजिटरी से पुनर्प्राप्त करता है, और चयनित रिमोट शाखा को ट्रैक करने में सक्षम बनाता है यदि समान नाम वाली कोई स्थानीय शाखा नहीं है।





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


इसके अलावा, अब आपको भंडार में परिवर्तन भेजने के लिए एक शाखा डाउनलोड करने की आवश्यकता नहीं है: शाखाओं की खिड़की में वांछित शाखा का चयन करें और पुश पर क्लिक करें । स्थानांतरित या नामांकित फ़ाइलों के लिए, हमने फ़ाइल नामों के साथ एक फ़ाइल फ़ाइल इतिहास में जोड़ा। एक अन्य उपयोगी सुधार एक फ़ाइल को Git (या Mercurial) में जोड़ने के लिए बाध्य करने की क्षमता है, भले ही वह .itignore (या .hignignore) सूची में हो।


अन्य सुधार

पिछले संस्करण में, हमने जावा 13 की कार्यक्षमता का समर्थन किया था, और इस बार जावा 13 पाठ ब्लॉकों के लिए समर्थन में काफी सुधार हुआ। हमने हाल ही में अपने ब्लॉग में इस बारे में बात की है।


अब चयनित फ़ील्ड के लिए कॉल पदानुक्रम को देखने का एक आसान तरीका है: नए फ़ील्ड कॉल पदानुक्रम क्रिया ( Ctrl / Cmd + Alt + H ) का उपयोग करें।


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


हमने अभिप्राय क्रियाएँ डायलॉग के व्यवहार को अद्यतन किया है: यदि आप उनमें से किसी एक का चयन करते हैं और संवाद बंद करते हैं, तो कार्य वाक्यों की सूची से गायब नहीं होंगे।


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


और यह भी:


- टाइप मिसमैच के बारे में सुझाव अधिक विस्तृत और समझने योग्य हो गए हैं।
- प्रोजेक्ट खोलते समय, IntelliJ IDEA अपना नाम दिखाता है।
- हमने नई टेम्प्लेट भाषाओं में, विशेष रूप से पग (पूर्व में जेड ), हैंडलबार , ईजेएस और स्लिम में कोड अंशों के सम्मिलन का समर्थन किया।
- माउस व्हील के साथ एक चिकनी स्क्रॉलिंग थी।
- वरीयताएँ / सेटिंग्स में कंट्रास्ट स्क्रोलबार चेकबॉक्स का उपयोग करके स्क्रॉल बार को अधिक दृश्यमान बनाया जा सकता है | सूरत और व्यवहार | रूप

नई रूपरेखा और प्रौद्योगिकियों के लिए समर्थन


इस तथ्य के बावजूद कि इस संस्करण की तैयारी में हमने मुख्य रूप से गुणवत्ता पर ध्यान केंद्रित किया, हमने कई नई सुविधाओं पर भी काम किया और उन्हें पेश करने की कृपा है। नीचे वर्णित सब कुछ केवल IntelliJ IDEA परम में उपलब्ध है।


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


सबसे पहले, हमने अगली पीढ़ी के microservice विकास चौखटे के लिए हमारे कोड-राइटिंग सहायता और नेविगेशन क्षमताओं का विस्तार किया है: माइक्रोएनेटर, क्वार्कस, और हेलिडन। प्रतिक्रियाशील प्रोग्रामिंग में शामिल लोगों के लिए, हमने स्प्रिंग वेब फ्लक्स के लिए समर्थन जोड़ा है।




आमतौर पर माइक्रोसॉफ़्ट HTTP / WebSocket के माध्यम से एक-दूसरे के साथ बातचीत करते हैं, इसलिए हमारे लिए अगला कदम जावा HTTP क्लाइंट एपीआई जैसे java.net.URI / URL, रेट्रोफ़िट v2, OkHttp v3, साथ ही लोकप्रिय सर्वर फ्रेमवर्क के क्लाइंट लाइब्रेरी के लिए समर्थन जोड़ना था: स्प्रिंग Feign, MicroProfile REST Client, आदि। महत्वपूर्ण रूप से, IDE अब HTTP / WebSocket API के लिए URL पूर्णता और नेविगेशन प्रदान करता है।


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


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


फिलहाल, यह सब केवल जावा और कोटलिन में परियोजनाओं के लिए काम करता है, लेकिन भविष्य के संस्करणों में हम अन्य भाषाओं और रूपरेखाओं का समर्थन करने की योजना बनाते हैं।


इसके अलावा, IntelliJ IDEA 2019.3 अंत में MongoDB का समर्थन करता है। इस संस्करण में, डेटाबेस एक्सप्लोरर में संग्रह और फ़ील्ड प्रदर्शित किए जाते हैं, आप प्रश्नों को निष्पादित कर सकते हैं और उनके परिणाम देख सकते हैं।



महत्वपूर्ण सुधार


- आईडीई अब उस निर्देशिका को खोजता है जिसमें ग्रैडल होमब्रे के माध्यम से स्थापित किया गया था।
- मैन्युअल रूप से ग्रेड होम डायरेक्टरी को सेट करना आसान हो गया है।
- IntelliJ IDEA अब लिनक्स पर KWallet में पासवर्ड स्टोरेज का समर्थन करता है।
- JavaFX प्रोजेक्ट्स के लिए, IDE एक FXML फ़ाइल को अंतर्निहित बिल्डर टैब के साथ दृश्य बिल्डर टैब पर प्रदर्शित कर सकता है।
- डिबग विंडो में, कीबोर्ड नेविगेशन काम करता है।
- आप चयनित विंडो को Ctrl / Cmd + C के माध्यम से निरीक्षण विंडो से कॉपी कर सकते हैं
- IDE विंडो के बीच स्विच करने पर फोकस नहीं हटता है।
- खिड़कियों और टूलटिप्स के स्थान में सुधार।
- यदि IDE में डार्कुला विषय का चयन किया जाता है, तो MacOS सिस्टम विंडो एक अंधेरे विषय में खुल जाती है जब इसे बुलाया जाता है।

हमने JetBrains रनटाइम 11 (JBR 11) को भी अपडेट किया।


- MacOS कैटालिना पर फिक्स्ड फ़ॉन्ट रेंडरिंग।
- macOS 10.15 कैटालिना पर एक परियोजना खोलने के साथ एक समस्या फिक्स्ड।
- मूल्यांकन अभिव्यक्ति संवाद में निश्चित अक्षर।
- IntelliJ IDEA IDE कीबोर्ड शॉर्टकट्स और ऑपरेटिंग सिस्टम शॉर्टकट्स के बीच टकराव का पता लगाएगा।
- संपादक ने फोंट के साथ समस्या को हल किया जो हमेशा इटैलिक में थे।
- विंडोज पर प्रारंभिक स्क्रीन फिक्स्ड।

वेबसाइट पर नए संस्करण के बारे में सभी विवरण पढ़ें या समीक्षा देखें (अंग्रेजी में)।

JetBrains टीम

Source: https://habr.com/ru/post/hi479902/


All Articles