नेटबीन्स में कोड सफाई


83

क्या नेटबीन्स में ग्रहण सफाई नियम (प्राथमिकताएँ> जावा> कोड शैली> क्लीन अप) के समान कुछ है?

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

आप व्यक्तिगत कक्षाओं के बजाय कक्षाओं / पैकेजों के पूरे सेट पर भी ऐसा कर सकते हैं?


3
मैंने एक इनाम जोड़ा है, और मुझे उम्मीद है कि कोई व्यक्ति इसे करने के लिए किसी प्लगइन या किसी अन्य तरीके के बारे में जान सकेगा। मैं वास्तव में अपने ग्रहण को साफ करने के विकल्पों को याद करता हूं।
बेन हॉकिंग

जैसा कि नीचे दिया गया है, एकल स्रोत कोड फ़ाइल के कुछ पहलुओं को साफ करने के तरीके हैं। मुझे संदेह है कि NetBeans एक "मेरी सभी फ़ाइलों को ठीक करें" सुविधा का परिचय देगा क्योंकि प्रत्येक फ़ाइल में परिवर्तन पिछली फ़ाइल (s) में होने वाले परिवर्तनों पर निर्भर हो सकते हैं, इसलिए NetBeans को यह तय करने की आवश्यकता होगी कि कौन सी फ़ाइलों को पहले ठीक करें और फ़ाइलों को संकलित करें क्योंकि यह ठीक हो जाती हैं उन्हें।
डैनियल

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

जवाबों:


90

Refactor > Inspect and Transform

क्या नेटबिन में ग्रहण सफाई नियमों ((वरीयताएँ> जावा> कोड शैली> क्लीन अप) के समान कुछ है?

NetBeans 8.0 में, शक्तिशाली बैच टूल Refactor> है Inspect and Transform। ट्यूटोरियल पेज देखें, NetBeans IDE Java एडिटर में इंस्पेक्ट एंड ट्रांसफॉर्म के साथ रिफैक्टिंग

व्यक्तिगत उपकरण भी उपलब्ध हैं:


  • किसी एकल फ़ाइल, नामस्थान, या प्रोजेक्ट के लिए आयात को ठीक करना (प्रोजेक्ट विंडो में चयनित के आधार पर या फ़ोकस है): स्रोत> आयात आयात करें (अप्रयुक्त आयात को सॉर्ट करने और निकालने के लिए) या स्रोत> फिक्स आयात (सॉर्ट करने के लिए, अप्रयुक्त आयात निकालें और लापता आयात जोड़ें)। या हर सेव के दौरान: टूल्स> विकल्प> एडिटर> ऑन सेव> इंपोर्ट को व्यवस्थित करें।

  • अनुगामी रिक्त स्थान निकालना
    एक फ़ाइल के लिए (कोड फ़ाइल में कैरेट को रखें): स्रोत> अनुगामी रिक्त स्थान निकालें। या हर सेव के दौरान: टूल्स> विकल्प> एडिटर> ऑन सेव> ट्रेलिंग व्हाट्सएप को हटा दें।


  • किसी एकल फ़ाइल, नामस्थान या प्रोजेक्ट के लिए कोड स्वरूप : स्रोत> प्रारूप। (नियमों को अनुकूलित करें Tools > Editor > Formatting)। एक प्लगइन भी है जिसे जिंदेंट कहा जाता है जिसे आप इंस्टॉल कर सकते हैं (मैंने खुद इसका उपयोग नहीं किया है)। या हर जतन के दौरान Tools > Options > Editor > On Save > Reformat:।

डिफ़ॉल्ट रूप से, नेटबिन्स आपको कोड की समस्याग्रस्त रेखाओं और स्क्रॉलबार के आगे संकेत चिह्न प्रदर्शित करेगा, जिससे आप वांछित रूप से स्वचालित निर्धारण कर सकते हैं। इनके माध्यम से कॉन्फ़िगर किया जा सकता है Tools > Options > Editor > Hints। स्रोत> निरीक्षण का उपयोग करते हुए परियोजना में सभी समस्याएँ खोज सकते हैं। या, दोहराने के लिए, इन समस्याओं में से कई के साथ बैच तय किया जा सकता है Refactor > Inspect and Transform


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

4
इस उत्तर के अपडेट के रूप में, नेटबीन्स में पुनरावर्ती स्वरूपण को मूल रूप से लागू किया जाता है (yay!)। पैकेज दर्शक में बस "स्रोत पैकेज" चुनें, फिर स्रोत> प्रारूप पर जाएं। केवल एक चीज जो यह नहीं करती है वह है आयात
TheLQ

क्या निरीक्षण और परिवर्तन के लिए एक शॉर्टकट है और इसे कैसे सेट करना है
संक्षिप्त करें

मुझे यह महसूस करने में थोड़ा समय लगा कि, Inspect and Transform(मेरे 8.2 नेटबीन्स में चयन करने के बाद, यह प्रोजेक्ट पर राइट-क्लिक करने के बाद सीधे एक विकल्प के रूप में दिखाई देता है; कोई Refactorपिछला मेनू नहीं) मुझे चुनना था Use: Configuration: Organize Imports( Manage...बटन पर क्लिक करें यदि यह सीधे नहीं दिखता है ड्रॉपडाउन में। वहाँ "निरीक्षण" के दर्जनों अपने कोड को लागू करने के लिए उपलब्ध हैं!
Pere

22

नेटबीन्स में ग्रहण के "कोड क्लीनअप" के बराबर "प्रारूप" है। यह स्रोत> प्रारूप के अंतर्गत है, और कीबोर्ड शॉर्टकट Alt + Shift + F (विंडोज पर) है। दुर्भाग्य से, ग्रहण के विपरीत, ऐसा नहीं लगता है कि यह नेटबीन्स में कॉन्फ़िगर किया जा सकता है।


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

9
कोड-फॉर्मेट alt + shift + fऔर आयात के लिए नेटबीन्स में ctrl + shift + i। और यह व्यक्तिगत फ़ाइल के लिए काम करता है। सभी फ़ाइलों के लिए कोई कार्यक्षमता नहीं है।
रवि पारेख

और यहां तक ​​कि प्रारूप-कोड के साथ आप कॉलम की चौड़ाई को निर्धारित नहीं कर सकते हैं कि आप अपनी लाइन का विस्तार क्या चाहते हैं। मेरा मतलब है कि अगर आपके पास 200 कॉलम चौड़ाई है तो नेटबैन एक पंक्ति के रूप में सेट हो जाएगा जब तक कि आप मैन्युअल रूप से नहीं करते Enter
रवि पारेख

@RaviParekh उपकरण> विकल्प> संपादक> स्वरूपण> लाइन लपेटें में विकल्प हैं, लेकिन मैं देख रहा हूं कि यह प्रभावी नहीं हो रहा है। बग?
डबिन्सकी


9

नेटबीन्स के लिए फ़ाइल से अप्रयुक्त आयात को हटाने के लिए Ctrl + Shift + I का उपयोग करें।


सवाल सिर्फ एक के बजाय कई कक्षाओं / फाइलों के लिए ऐसा करने के बारे में है ।
बेसिल बोर्ख

2

उपकरण -> विकल्प -> टैब "संपादक" -> टैब "संकेत" -> JComboBox में जावा (के बारे में बात) का चयन करें

और फिर आपको पीला महासागर दिखाई देगा ..., 6.9 से महान और त्वरित


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

@ बैक हॉकिंग :-) मुझे कुछ नहीं चाहिए ... और स्वचालित रूप से, क्योंकि (बड़ी बात) कुछ मामलों में संकेत से आने वाले एक से अधिक विकल्प हैं, और आप आइटम से "बेहतर" चुन सकते हैं, कुछ स्वचालित कैसे चुन सकते हैं और बेहतर विकल्प जान सकते हैं ..., जैसे मैंने फ्लेमवर शुरू किया था, वैसे ही ...
mKorbel

@mororbel: कौन-सी वस्तुएं अपने आप तय हो जाती हैं, चेतावनी के समान नहीं हैं, और जैसा कि आप बताते हैं कि आप उन्हें नहीं चाहते हैं। आमतौर पर, "स्वचालित" चीजें तुच्छ चीजें होती हैं, जैसे आयात को व्यवस्थित करना और अनुगामी व्हाट्सएप को समाप्त करना, साथ ही साथ थोड़ी बड़ी चीजें जैसे कि लापता @Override जोड़ना (जो कि अन्य लोगों को जावा 1.5 के साथ संकलन करने पर कोड तोड़ सकता है)। मुद्दा यह है, यह आपके संकेतों से अलग से विन्यास योग्य है और आप जितना चाहें उतना कम या कम कर सकते हैं। "कोड क्लीन ऑन सेव" अनुरोध पर करने से भी अधिक खतरनाक है।
बेन होकिंग

@ हॉकिंग, लेकिन मैंने कभी इस बात का भेद नहीं किया है कि क्या ग्रहण या नेटबीन्स में बेहतर या अधिक आरामदायक लिखा है
mKorbel

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

1

मुझे पता है कि नेटबीन्स इन चीजों को स्वचालित रूप से इंगित करते हैं, लेकिन केवल उन्हें इंगित करने से परे मैं नहीं जानता।


2
संस्करण 6.5 एक छोटे से प्रकाश बल्ब आइकन इनलाइन को प्रदर्शित करता है, जिस पर यदि आप क्लिक करते हैं, तो फ़िक्सेस का सुझाव देगा (जैसे कि ओवरराइड एनोटेशन जोड़ें, अप्रयुक्त आयात हटाएं, आदि)।
ssakl

0

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

जैसा कि सोल्जर.मॉथ ने बताया, नेटबीन्स अन्य मुद्दों को इंगित करेगा, जैसे कि स्रोत के बाईं ओर एक प्रकाश बल्ब के उपयोग से, लाइन में और ओवरराइड एनोटेशन।



0

यदि आप अपना कोड बनाना चाहते हैं, तो पूरे प्रोजेक्ट पर उचित इंडेंटेशन करें, बस प्रोजेक्ट नाम पर क्लिक करें, "सोर्स" पर जाएं और फिर "फॉर्मेट" पर क्लिक करें। उम्मीद है की यह मदद करेगा!

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