इस प्रोजेक्ट के बारे में
RustOwl, Rust डेवलपर्स के लिए एक टूल है जो वेरिएबल्स की ओनरशिप मूवमेंट और लाइफटाइम को विज़ुअलाइज़ करता है, जिसका उद्देश्य डीबगिंग और ऑप्टिमाइज़ेशन है। जब आप Rust सोर्स कोड सेव करते हैं, तो इसका विश्लेषण किया जाता है, और किसी वेरिएबल या फ़ंक्शन कॉल पर हॉवर करने पर ओनरशिप और लाइफटाइम जानकारी दिखाई देती है।
विज़ुअलाइज़ेशन में रंगीन अंडरलाइन का उपयोग होता है:
- हरा: वेरिएबल का लाइफटाइम। ठोस का अर्थ है निश्चित रूप से लाइव (इस बिंदु तक पहुँचने वाले हर पथ पर सिद्ध रूप से इनिशियलाइज़्ड); लहरदार का अर्थ है शायद लाइव (कुछ पथों पर इनिशियलाइज़्ड लेकिन अन्य पर संभवतः मूव, ड्रॉप या अनइनिशियलाइज़्ड)।
- नीला: इम्यूटेबल बॉरोइंग।
- बैंगनी: म्यूटेबल बॉरोइंग।
- नारंगी: वैल्यू मूव / फ़ंक्शन कॉल।
- लाल: लाइफटाइम त्रुटि, जैसे वास्तविक और अपेक्षित लाइफटाइम के बीच अंतर, या म्यूटेबल और शेयर्ड रेफ़रेंस का अमान्य ओवरलैप।
एडिटर समर्थन में एक VS Code एक्सटेंशन (Vscodium के लिए Open VSX पर भी उपलब्ध), एक Neovim प्लगइन, और एक Emacs पैकेज शामिल हैं। इन एडिटर्स में, किसी वेरिएबल या फ़ंक्शन कॉल पर कर्सर ले जाकर लगभग दो सेकंड प्रतीक्षा करने पर विज़ुअलाइज़ेशन ट्रिगर होता है। प्रोजेक्ट एक विस्तारित प्रोटोकॉल के साथ LSP सर्वर लागू करता है, इसलिए अन्य एडिटर इसके स्पेसिफिकेशन के आधार पर क्लाइंट बना सकते हैं। RustRover/IntelliJ IDEs और Sublime Text के लिए तृतीय-पक्ष इंटीग्रेशन मौजूद हैं।
इंस्टॉलेशन विकल्पों में crates.io, Arch User Repository (rustowl-bin), और WinGet शामिल हैं। VS Code एक्सटेंशन सक्रिय होने पर RustOwl को स्वचालित रूप से इंस्टॉल करता है। Neovim और Emacs के लिए, LSP सर्वर को मैन्युअल रूप से इंस्टॉल करना होगा। सेटअप के बाद, एक्सटेंशन कार्गो वर्कस्पेस में किसी भी Rust प्रोग्राम को सेव करने पर RustOwl चलाता है; पहला विश्लेषण समय ले सकता है, लेकिन बाद के रन कंपाइल कैशिंग का उपयोग करके विश्लेषण समय कम करते हैं।
पूर्वापेक्षाएँ हैं cargo (rustup के माध्यम से इंस्टॉल करने योग्य) और एक समर्थित एडिटर। प्रोजेक्ट पाँच नवीनतम Rust संस्करणों के लिए best-effort आधार पर समर्थन बताता है। ज्ञात सीमाएँ: VS Code डेकोरेशन स्पेसिफिकेशन के कारण, g जैसे डिसेंडर वाले अक्षर या कोष्ठक कभी-कभी अंडरलाइन ठीक से प्रदर्शित नहीं कर सकते, और println! मैक्रो कभी-कभी अतिरिक्त आउटपुट उत्पन्न करता है जो उपयोगिता को महत्वपूर्ण रूप से प्रभावित नहीं करता। play.rustowl.rs पर एक होस्टेड प्लेग्राउंड उपलब्ध है।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.