किसी भी तरह से (या शॉर्टकट) इंटेलीजे आईडीईए में कक्षाओं को आयात करने के लिए जैसे ग्रहण में?


123

ग्रहण में, जबकि जावा में कोडिंग और प्रेस Ctrl+ Shift+ Oऑटो सभी कक्षाओं को स्वचालित रूप से आयात करते हैं।
नेटबीन्स में, यह Ctrl+ Shift+ के साथ किया जाता है I

क्या IntelliJ IDEA में ऐसा करने का कोई तरीका है?

मैंने Google, StackOverflow, IntelliJ IDEA कॉन्फ़िगरेशन और आधिकारिक IntelliJ वेबसाइट कीबोर्ड शॉर्टकट में एक समान शॉर्टकट खोजा है जिसे आप मिस नहीं कर सकते



4
कमांड / कीबोर्ड शॉर्टकट की तलाश में, Ctrl-Shift-A (या मैक पर Cmd-Shift-A) टाइप करें, और कमांड खोजें। उदाहरण के लिए, "आयात" टाइप करने से आपको कमांड "ऑप्टिमाइज़ इम्पोर्ट", और इसका कीबोर्ड शॉर्टकट दिखाई देगा।
जेबी निज़ेट

2
"ऑप्टिमाइज़ इम्पोर्ट" काम नहीं करता है
bywronski

यदि आप इसे "सेटिंग्स> संपादक> सामान्य> ऑटो आयात" के तहत सक्षम करते हैं, तो कक्षाओं के लिए ऑटो आयात काम कर रहा है।
एंड्रिया बर्गांज़ो

यह वास्तव में इंटेलीज की सबसे बड़ी असफलता है। यह एक पीड़ा है। आयात पर टकराव और विलय होना बेवकूफी है, लेकिन intellij आसानी से इसे हल करने में आपकी मदद नहीं कर सकता है
bharal

जवाबों:


103

IntelliJ IDEA में आयात जोड़ने की क्रिया नहीं है। बल्कि इसमें आपके जैसे टाइप करने की क्षमता है। यदि आप सेटिंग> संपादक> सामान्य> ऑटो आयात में "फ्लाई पर असंदिग्ध आयात जोड़ें" को सक्षम करते हैं , तो IntelliJ IDEA आपको किसी भी शॉर्टकट की आवश्यकता के बिना टाइप करेगा। आप किसी वर्ग को भारी उपयोग करने के लिए ऑटो इंपोर्ट से बाहर करने के लिए कक्षाएं और पैकेज भी जोड़ सकते हैं, जो समान नाम के अन्य वर्गों के साथ टकराता है, अस्पष्ट।

उन कक्षाओं के लिए जो अस्पष्ट हैं (या क्या आप "फ्लाई पर अस्पष्ट आयात जोड़ें" विकल्प बंद करना पसंद करते हैं), बस वर्ग का नाम टाइप करें (बस नाम ठीक है, पूरी तरह से योग्य होने की आवश्यकता नहीं है)। कोड पूरा करने का उपयोग करें और इच्छित वर्ग का चयन करें:

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

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

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

वैकल्पिक रूप से, वर्ग के नाम लिखते हैं और फिर मारा Alt+ Enterया + Enter"शो इरादा कार्यों और शीघ्र-सुधार" के लिए और फिर आयात विकल्प चुनें।

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


7
जब आप पुरानी फ़ाइलों को संपादित कर रहे हैं तो यह बहुत अधिक काम है।
एडम

यह मेरे लिए काम नहीं कर रहा है। जब मैं स्वत: पूर्ण सूची में दिखाई देने वाली कक्षा का चयन करने के बाद Enter दबाता हूं, तो IntelliJ इसे आयात नहीं करता है। इसके बजाय, यह कक्षा का पूरी तरह से योग्य नाम लिखता है। यह बहुत कष्टप्रद और बेकार है। क्या आप जानते हैं कि इसे कैसे ठीक किया जाए?
रॉड्रिगो

^ इस व्यवहार का कारण यह है कि मैं जिस वर्ग को आयात करने की कोशिश कर रहा था, वह निर्माण पथ में नहीं था। एक बार जोड़ने के बाद, Enter दबाकर कक्षा को सही ढंग से आयात किया गया।
रॉड्रिगो

3
मैं इस सवाल पर आया था कि इंटेलीज के लिए इस तरह के किसी भी महत्वपूर्ण शॉर्टकट को खोजने की उम्मीद है। समस्या यह है कि अगर मैं कक्षाओं वाले एक बड़े वर्ग पर टिप्पणी करता हूं, तो IntelliJ स्वचालित रूप से नाम स्थान आयात को हटा देता है। अब यदि मैं जाता हूं और कोड को अनफिल्ट करता हूं, तो IntelliJ उसी के लिए नामस्थान पुन: आयात नहीं करता है और उनमें से प्रत्येक के लिए ALT + Enter करने पर जाना काफी सिरदर्द बन जाता है। कोई भी समाधान?
राहुल सैनी

मैं इस पर @RahulSaini से सहमत हूं। किसी एक गतिविधि के लिए दो अलग-अलग मुख्य नक्शे होने का कोई कारण नहीं है। मैं नहीं चाहता और एक ही कार्य को पूरा करने के लिए कई काम करने चाहिए। मैं कहूंगा कि इस बिंदु पर intellij सिर्फ इसके बारे में जुझारू है और आयात को "अनुकूलित" करने के विपरीत आयात को "व्यवस्थित" नहीं करने का कोई वास्तविक कारण नहीं है। मैं वास्तव में इस जवाब को वोट देना चाहता हूं, भले ही यह तकनीकी रूप से सही हो।
ज्यूं 27'19

73

एक बार में सभी नहीं। लेकिन आप दबा सकते हैं

Alt + Enter

लोग यह मान लेते हैं कि यह तभी काम करता है जब आप किसी विशेष वस्तु पर हों। लेकिन यह वास्तव में "अगले लापता प्रकार" के लिए काम करता है। इसलिए यदि आप Alt+ दबाते रहते हैं Enter, तो IDEA एक के बाद एक तय करता है जब तक कि सब ठीक न हो जाए।


1
मुझे लगता है कि आप कीबोर्ड कुंजी प्रतीकों का जिक्र कर रहे हैं। इन्हें kbdटैग का उपयोग करके जोड़ा जा सकता है<kbd>Alt</kbd> + <kbd>Enter</kbd>
गुईसिम

1
उस वर्ग पर जाएं जिसे वह खोजने में सक्षम नहीं है और Enter + Enter दबाएं। खुशी है कि मैंने नीचे स्क्रॉल किया।
अजाक 6

1
क्या Alt+Enterअधिक उंगली के अनुकूल संयोजन को हटाने का एक तरीका है ? मैं IntelliJ IDEA > Preferences > Keymapमेनू के माध्यम से यह पता नहीं लगा सका ।
लेयेल्लोम

1
मुझे आईडीईए की तुलना में लापता आयात विवरण के ग्रहण का रास्ता आसान लगा। मैं हमेशा उलझन में रहता हूं कि Alt + Enter
vikramvi

Alt + F2 (अगली हाइलाइट की गई त्रुटि) के साथ संयोजन आमतौर पर बड़ी कक्षाओं के लिए भी बहुत जल्दी होता है।
ऑसबंडब्लाड

10

IntelliJ IDEA की तरह लगता है मिस्ड क्लास को स्वचालित रूप से आयात करेगा, और आप उन्हें हिट Alt+ Enterमैन्युअल रूप से आयात कर सकते हैं ।


8

मुझे लगता है कि सबसे अच्छा समाधान, हालांकि बिल्कुल ग्रहण / नेटबीन्स के समान नहीं है, 'ऑप्टिमाइज़ आयात' सेटिंग को बदलना है।

के अंतर्गत Preferences > Editor > General > Auto Import

सेट Add unambiguous imports on the fly

संपादित करें: इस विधि का उपयोग करना, जब वहाँ रहे हैं अस्पष्ट आयात, IntelliJ आपको बता दूँगी, और आप तो उपयोग कर सकते हैं Alt+ Enterविधि में उल्लिखित Wuaner द्वारा जवाब

मुझे लगता है कि, लगभग हमेशा, सबसे उपयुक्त आयात सूची में सबसे ऊपर है।


1
@ राजा मुझे यकीन नहीं है कि क्यों। मुझे पता है कि जब मैंने अपने सहकर्मियों को बताया कि उन्होंने इस पद्धति का उपयोग नहीं किया है, हालांकि ... रहस्यमय।
comfytoday

निर्देश बहुत स्पष्ट हैं। यह केवल unambiguousकक्षाओं का आयात करता है । और मैं अपने 3000+ क्लासेस प्रोजेक्ट पर पिछले दो दिनों से इसका उपयोग कर रहा हूं। एक जादू की तरह काम करता है। साझा करने के लिए धन्यवाद।
राजा अन्बझगन

5

एक बार में सभी आयात नहीं कर सकते, लेकिन निम्नलिखित संयोजन का उपयोग कर सकते हैं:

ALT+ Enter-> इरादे कार्रवाई और त्वरित सुधार दिखाएं।

F2 -> अगली हाइलाइट की गई त्रुटि।


3

एक अन्य विकल्प यह है कि आइडिया को ग्रहण की शॉर्टकट कुंजियों के साथ ग्रहण की तरह व्यवहार करने के लिए कहें। आप इसे सक्षम करके सभी ग्रहण शॉर्टकट का उपयोग कर सकते हैं

यहाँ कदम हैं:

1- आईडीईए ओपन के साथ, कंट्रोल + ` दबाएं । निम्नलिखित विकल्पों को पॉप अप किया जाएगा।

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

2- कीमैप का चयन करें। आपको एक और पॉप-अप दिखाई देगा। वहां ग्रहण का चयन करें।

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

3- अब प्रेस करेंCtrl + Shift + Oआप कर चुके हैं!


मैंने कोशिश की। यह "संगठित आयात" नहीं करता है ताकि ग्रहण के तरीके का व्यवहार किया जा सके।
फ्लोरियन एफ

0

मैक पर ऑटो आयात करने के लिए control+ option+ Lका उपयोग करें और मैक पर अप्रयुक्त पैकेजों को ऑटो निकालें

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