IntelliJ में जावा वर्ग के तरीकों को फिर से बनाने का सरल तरीका?


83

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

ग्रहण AFAIK में, IntelliJ के स्ट्रक्चर व्यू के समान एक दृश्य है, जहां मैं तरीकों को चारों ओर खींच और छोड़ सकता हूं। हालाँकि, यह इंटेलीज में काम नहीं करता है और मुझे इसकी मदद से कोई संकेत नहीं मिला।

मैं विशिष्ट होने के लिए IntelliJ 9.0.2 का उपयोग कर रहा हूं।


मुझे लगता है कि सबसे अच्छा समाधान एक प्रारूपण उपकरण होगा जो आपके तरीकों को स्वचालित रूप से आदेश देता है। गद्य: तरीकों को आदेश दिया जाना चाहिए जिस तरह से उन्हें बुलाया जाता है। जैसे आप किसी अखबार में कोई लेख पढ़ेंगे।
क्रिस 311

जवाबों:


109

आप इसे ऊपर और नीचे ले जाने के लिए एक विधि नाम और हिट: Ctrl+ Shift+ Upया Ctrl+ Shift+ Downका चयन कर सकते हैं ।

OS X पर: Cmd+ Shift+ Upया Cmd+ Shift+Down

इस से परे Rearranger Plugin आपको जल्दी-जल्दी तरीकों को स्थानांतरित करने देता है, और यहां तक ​​कि आपके कोडिंग कन्वेंशन के आधार पर एक मानक ऑर्डरिंग को परिभाषित करता है।


वहाँ सिर्फ उदाहरण के लिए वर्णानुक्रम में फिर से करने के लिए कुछ है?
Jaime Hablutzel

लिंक मृत है, यह सही लगता है: java.net/projects/rearranger
stian

@stian - मैंने पोस्ट को JetBrains की वेबसाइट पर प्लगइन पेज पर इंगित करने के लिए संपादित किया है, क्योंकि आपके द्वारा पोस्ट किए गए लिंक पर कोई भी डाउनलोड उपलब्ध नहीं है
एड्रियन

5
Mac OS X के लिए: Cmd + Shift + Up / Cmd + Shift + डाउन
क्रिश्चियन गार्सिया

2
IDEA 16 के बाद से यह मेनू के माध्यम से उपलब्ध है:Code > Move Statement Up/Down
Lu55

24

इंटेलीज में एक बग के कारण अभी तक कोई सही जवाब नहीं है

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

मुद्दा लिंक: https://youtrack.jetbrains.com/issue/IDEA-149524 । कृपया इसके संकल्प के लिए मतदान करें।

IntellijRearrangeMethodsInDFO

इसके लिए उपयुक्त कार्य Rearrange Code है। इसके पास कोई कुंजी नहीं दी गई है, लेकिन आप वरीयताएँ-> कीमैप का उपयोग करके अपने स्वयं को परिभाषित कर सकते हैं।

RearrangeActionMenuButton

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


24

IntelliJ में एक अंतर्निहित प्रणाली है जो आपको यह निर्दिष्ट करने की अनुमति देती है कि आप अपने तरीकों को कैसे ऑर्डर कर सकते हैं। आपको सेटिंग्स (Ctrl + Alt + S) -> संपादक -> कोड शैली -> जावा -> व्यवस्था (टैब) पर जाने की जरूरत है और तब तक स्क्रॉल करें जब तक आपको आइकन नहीं मिल जातेmethods । वहां आप दृश्यता या वर्णानुक्रम से उन्हें सॉर्ट करने के लिए या संबंधितों को एक साथ रखने के लिए विकल्पों में हेरफेर कर सकते हैं। यहाँ मेरी सेटिंग्स का एक स्क्रीनशॉट है जो दृश्यता (सार्वजनिक, संरक्षित, निजी) और वर्णानुक्रम (az) द्वारा स्वचालित रूप से तरीकों का आदेश देगा। ब्लू हाइलाइट्स वर्तमान में चयनित नियमों को दिखाते हैं।

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


1
मैं एक या एक से अधिक नियमों पर एक आदेश पसंद कैसे लागू कर सकता हूं?
डेरेक महार '

यह बिल्कुल काम नहीं करता है। इस विन्यास का उपयोग करना और पुनर्व्यवस्थित करना कुछ भी नहीं करता है।
मुलगार्ड

यह समाधान डिफ़ॉल्ट ऑर्डरिंग के साथ काम करता है। धन्यवाद!
श्री पॉलीविरल

7

विधि परिभाषा लाइन पर अपने कर्सर के साथ (आप की जरूरत नहीं है और प्रेस ctrl+ shift+ upया ctrl+ shift+down , ऊपर नीचे क्रमशः ले जाने या करने के लिए।

आप जल्दी से सब कुछ ढहने के लिए ctrl+ shift+ भी कर सकते हैं numberpad -ताकि आप घूमने पर ध्यान केंद्रित कर सकें ( -मेरे लैपटॉप पर सादे काम करता है, निश्चित रूप से क्यों नहीं) और ctrl+ shift+ numberpad +सब कुछ देखने के लिए वापस आ जाएं (ctrl-shift-equals मेरे लैपटॉप पर काम करता है) कुंआ)।


3

पाठ का एक ब्लॉक चुनें (कुछ बार Ctrl-W को हिट करें) और फिर इसे स्थानांतरित करने के लिए Ctrl-Shift-Up और Ctrl-Shift-Down का उपयोग करें।


1

एक स्वचालित तरीका है, जिसे आप बाद में ट्विक कर सकते हैं

कोड -> सुधार सुधार फ़ाइल संवाद दिखाएं

और "रियर कोड" बॉक्स पर टिक करें

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