2010-11-26 9 views
102

में उपयोग के लिए एक नई भाषा कैसे बनाएं, मैं एक नई टेम्पलेटिंग भाषा लिखना चाहता हूं, और मैं विजुअल स्टूडियो को "समर्थन" करना चाहता हूं। मुझे क्या पता होना चाहिए:विजुअल स्टूडियो

  1. मैं अपनी नई भाषा का विश्लेषण कैसे करूं?
    मेरी नई टेम्पलेट भाषा में कुछ कोड दिए गए, मैं इसे HTML में कैसे अनुवादित करूं? अभी मैं टोकन द्वारा टोकन को पार्स करने के लिए नियमित अभिव्यक्तियों का उपयोग कर रहा हूं, लेकिन मुझे नहीं लगता कि यह बहुत अच्छी तरह से स्केल करने जा रहा है क्योंकि भाषा अधिक जटिल हो जाती है, और कोई त्रुटि जांच नहीं है। मैंने एएनटीएलआर के बारे में सुना है लेकिन कभी इसका इस्तेमाल नहीं किया। क्या यह इस नौकरी के लिए सही उपकरण होगा, या शायद कुछ आसान है? आदर्श रूप से मैं त्रुटि विंडो में जितनी अधिक जानकारी (लाइन #, त्रुटि का प्रकार) के साथ किसी भी वाक्यविन्यास त्रुटियों को अन्य भाषाओं की तरह भेजना चाहता हूं।
  2. मैं विजुअल स्टूडियो के लिए एक नया फ़ाइल प्रकार कैसे बना सकता हूं?
  3. मैं सिंटैक्स हाइलाइटिंग कैसे प्राप्त करूं?
    क्या मैं चरण 1 में बनाए गए उसी पार्सर का उपयोग कर सकता हूं, या यह कुछ अलग है?
  4. मैं इंटेलिजेंस कैसे प्राप्त करूं?

मैं अपने पार्सर को सी # में लिखना पसंद करूंगा।

उत्तर

61

मैं एक और भाषा पर एक नज़र डालेगा जो विजुअल स्टूडियो के साथ एकीकृत करने की लेगवर्क कर चुका है। एक महान उदाहरण बू है। भाषा और विजुअल स्टूडियो एकीकरण ओपन सोर्स हैं। तो आप बिल्कुल देख सकते हैं कि उन्हें क्या करना है।

बू सिंटेक्स हाइलाइटिंग वीएस -2010 के लिए अपने होमपेज पर कुछ अनुशंसित लिंक शामिल हैं, जिन्हें मैं आसान संदर्भ के लिए कॉपी करूंगा:

28
दृश्य स्टूडियो पहलुओं के बारे में

, तुम क्या जरूरत है एक "भाषा सेवा" है, जो एक ऐसी फ़ाइल है जो किसी दिए गए फ़ाइल एक्सटेंशन/प्रकार के लिए रंगीन, इंटेलिजेंस इत्यादि को संभालती है।

एक परिचय के लिए, see this article
और एक कोड नमूना see here

पार्स के बारे में के लिए, वहाँ प्रौद्योगिकियों के बहुत सारे हैं, और मैं एक राय/सलाह प्रदान नहीं होंगे।

सावधान रहें, इसमें एक उचित मात्रा में काम शामिल है, हालांकि मेरी राय में यह दृश्य स्टूडियो के पिछले संस्करणों की तुलना में वीएस -2010 में इस तरह के विस्तार प्रदान करने के लिए अधिक सरल है।

भी

Visual Studio 2010 Extensibility, MPF and language services

3

देखें वी.एस. एसडीके में एक नमूना है कि सुविधाओं आप देख रहे हैं के सबसे पता चलता है। http://www.codeproject.com/KB/recipes/VSLanguageService.aspx

यह बहुत बुरा है, तो आप पर व्याकरण एक बुनियादी संभाल नहीं था:

9

मैं अपने आधार के रूप में इस लेख का उपयोग कर एक वी.एस. भाषा सेवा लिखा था।

+0

यह एक शर्म की बात है कि उन्होंने ट्यूटोरियल जारी नहीं रखा ... यह वास्तव में अच्छा था। धन्यवाद! – mpen

+1

यह वास्तव में गायब है, पैकेज को स्थापित करने वाला अगला कदम है। http://stackoverflow.com/questions/4160391/installing-a-custom-visual-studio-language-service – ColinCren

2

मैं विजुअल स्टूडियो 2013 SDK के लिए हाल ही में नमूने के इस बहुत ही उपयोगी संग्रह पाया: http://blogs.msdn.com/b/vsx/archive/2014/05/30/vs-2013-sdk-samples-released.aspx

यह भी OokLanguage जो आशाजनक लगता है की हाल के संस्करण में शामिल है।

हमने अपनी भाषा का विश्लेषण करने के लिए एएनटीएलआर 4 का उपयोग किया जो एक आकर्षण की तरह काम करता है और सी # कोड के साथ सीधी बातचीत की अनुमति देता है। पूरी तरह से इसकी सिफारिश कर सकते हैं।

2

मैं अपनी भाषा के साथ वीएस का उपयोग कर रहा था और सिंटैक्स हाइलाइट की सख्त जरूरत थी। मैंने इस ट्यूटोरियल के आधार पर मेरा निर्माण किया: https://mattduffield.wordpress.com/2012/07/31/writing-a-brightscript-syntax-highlight-extension-for-visual-studio-2010/

मुझे पता है कि ट्यूटोरियल VS2010 में है। मैंने वीएस2012 में मेरा कोई भी या बहुत छोटा हिचकी नहीं बनाया। (वीएस2013 में भी काम किया) हाल ही में मैं वीएस2015 में बदल गया और समाधान संपादित किया जा सकता है, बिना किसी समस्या के बनाया गया।

0

जैसा कि अन्य उत्तरों में बताया गया है, सबसे दिलचस्प कोड नमूना Ook language extension विजुअल स्टूडियो (2017 लेखन के समय) के नवीनतम संस्करण के लिए है।

वीएस 2015 के लिए sample in the VS2015 branch देखें।

2015 या बाद में एसडीके स्थापित करने के लिए, आपको वीएस सेटअप को फिर से चालू करने की आवश्यकता है। 2015 में इसे "विजुअल स्टूडियो एक्सटेंसिबिलिटी टूल्स अपडेट 3" कहा जाता है।

संबंधित मुद्दे