[Java] एक्लिप्स एडिटर प्लगइन में वाक्यविन्यास त्रुटियों को कैसे दिखाया जाए


Answers

सही तरीका मार्कर इंटरफ़ेस का उपयोग कर रहा है।

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

एक सस्ता विकल्प यदि आप अपने वर्तमान संपादक में मार्कअप जोड़ना चाहते हैं, लेकिन सभी प्रोजेक्ट के लिए एनोटेशन का उपयोग नहीं किया जा रहा है, जिसे आप स्वयं को हटा सकते हैं

चिह्नक को यूट्यूब में एनोटेशन के रूप में दर्शाया जाता है लेकिन एक्लिप्स एनोटेशन को जोड़ता है और हटाता है। सीधी टिप्पणियों के साथ, आप नियंत्रण में हैं।

Question

एक्लिप्स जावा एडिटर की तरह ही एक्लिप्स संपादक प्लगइन में सिंटैक्स त्रुटियों (जैसे टोकनों का एक अवैध अनुक्रम) कैसे इंगित कर सकता हूं, अर्थात् लाल रंग की रेखांकन से, स्क्रॉलबार पर एक लाल मार्कर जो आप पर कूद सकते हैं, और एक व्याख्यात्मक संदेश जब आप किसी एक पर हॉवर करते हैं?

मैं एक कस्टम फ़ाइल प्रारूप के लिए एक ग्रहण संपादक प्लगइन लिख रहा हूँ (विशेष रूप से, शार्क 3 डी गेम इंजन के "सांप फ़ाइल स्वरूप")। मैंने सिंटेक्स हाइलाइटिंग पाने के लिए एक स्कैनर और एक रूपरेखा तैयार की है।

  • अधोरेखित के लिए, क्या मुझे स्कैनर को सामान्य एक के बजाय " TextAttribute अंडरलाइन" TextAttribute IToken साथ एक IToken लौटा है, या क्या सिंटैक्स त्रुटियों को चिह्नित करने के लिए एक विशिष्ट तंत्र है?
  • मैं स्क्रॉलबार मार्कर कैसे लागू करूं? क्या IAnnotationModel प्रासंगिक इंटरफ़ेस यहां है? यदि हां, तो मैं कार्यान्वयन को कहाँ पंजीकृत करूं ताकि मार्करों को दिखाई दे?
  • मुझे केवल SourceViewerConfiguration.getAnnotationHover() मिला है। SourceViewerConfiguration.getAnnotationHover() , जो मुझे मंडराना व्यवहार को कार्यान्वित करने की अनुमति देगा, लेकिन केवल "एनोटेशन" के लिए, जो मुझे लगता है कि स्क्रॉलबार मार्कर का मतलब है - मैं पाठ के लिए होवर व्यवहार को कैसे लागू कर सकता हूं?

मुझे ख़ास विशिष्ट सलाह के साथ ही एक ट्यूटोरियल का एक यूआरएल होगा जो इसे कवर करती है - ग्रहण सहायता दस्तावेजों और उदाहरणों में ऐसा नहीं लगता है

संपादित करें: मार्कर इस का सबसे अच्छा समाधान हैं उनको कैसे उपयोग करें इसका एक उदाहरण काम किया जा सकता है प्लगइन उदाहरण कोड में org.eclipse.ui.examples.readmetool.AddReadmeMarkerAction