ভিজ্যুয়াল স্টুডিওতে ব্যবহারের জন্য কীভাবে একটি নতুন ভাষা তৈরি করবেন


102

আমি একটি নতুন টেম্প্লেটিং ভাষা লিখতে চাই এবং আমি ভিজুয়াল স্টুডিওর এটি "সমর্থন" করতে চাই। আমার যা জানা দরকার তা হ'ল:

  1. আমি কীভাবে আমার নতুন ভাষাকে পার্স করব?
    আমার নতুন টেম্পলেট ভাষায় কিছু কোড দেওয়া হয়েছে, আমি কীভাবে এটি এইচটিএমএল অনুবাদ করব? এই মুহুর্তে আমি টোকেনের মাধ্যমে টোকেনটিকে বিশ্লেষণের জন্য নিয়মিত ভাবগুলি ব্যবহার করছি, তবে আমার মনে হয় না যে ভাষাটি আরও জটিল হয়ে উঠছে এটি খুব ভালভাবে স্কেল হয়ে যাচ্ছে, এবং পরীক্ষা করার ক্ষেত্রে কোনও ত্রুটি নেই। আমি এএনটিএলআর শুনেছি কিন্তু এটি কখনও ব্যবহার করি নি। এই কাজের জন্য এটিই কি সঠিক হাতিয়ার হবে, বা খুব সহজ কিছু আছে? আদর্শভাবে আমি অন্য ভাষাগুলির মতো যথাসম্ভব তথ্য (লাইন #, ত্রুটির ধরণ) সহ ত্রুটি উইন্ডোতে যে কোনও সিনট্যাক্স ত্রুটি পাঠাতে চাই।
  2. আমি কীভাবে ভিজুয়াল স্টুডিওর জন্য একটি নতুন ফাইল টাইপ তৈরি করব?
  3. আমি কীভাবে সিনট্যাক্স হাইলাইট করব?
    আমি কি পদক্ষেপ 1 এ তৈরি করা একই পার্সারটি ব্যবহার করতে পারি, বা এটি সম্পূর্ণ আলাদা?
  4. আমি কীভাবে ইন্টেলিসেন্স পাব?

আমি আমার পার্সার সি # তে লিখতে পছন্দ করি।

উত্তর:


62

আমি অন্য একটি ভাষায় একবার নজর দেব যা ভিজ্যুয়াল স্টুডিওর সাথে ইন্টিগ্রেশনের লেগওয়ার্ক ইতিমধ্যে সম্পন্ন করেছে। একটি দুর্দান্ত উদাহরণ বু। ভাষা এবং ভিজ্যুয়াল স্টুডিও একীকরণ ওপেন সোর্স। সুতরাং তাদের কী করতে হয়েছিল তা আপনি একবার দেখে নিতে পারেন।

ভিএস 2010 এর জন্য বু সিনট্যাক্স হাইলাইটিংয়ের এর হোমপৃষ্ঠায় কিছু প্রস্তাবিত লিঙ্ক রয়েছে, যা আমি সহজ রেফারেন্সের জন্য অনুলিপি করব:


29

ভিজ্যুয়াল স্টুডিওর দিকগুলি সম্পর্কে, আপনার যা প্রয়োজন তা হল একটি "ভাষা পরিষেবা", যা সত্তা যা প্রদত্ত ফাইল এক্সটেনশন / প্রকারের জন্য রঙিনকরণ, ইন্টেলিজেন্স ইত্যাদি পরিচালনা করে।

পরিচিতির জন্য, এই নিবন্ধটি দেখুন
এবং একটি কোড নমুনার জন্য এখানে দেখুন

পার্সিং সম্পর্কিত, প্রচুর প্রযুক্তি রয়েছে এবং আমি কোনও মতামত / পরামর্শ দেব না।

সাবধান, কাজ জড়িত একটি নিখুঁত পরিমাণ আছে, যদিও আমার মতে এটি ভিএস 2010 এ ভিজুয়াল স্টুডিওর পূর্ববর্তী সংস্করণগুলির চেয়ে এই ধরণের এক্সটেনশন সরবরাহের চেয়ে অনেক বেশি সোজা।

আরো দেখুন

ভিজ্যুয়াল স্টুডিও 2010 এক্সটেনসিবিলিটি, এমপিএফ এবং ভাষা পরিষেবাগুলি


9

আমি এই নিবন্ধটি আমার ভিত্তি হিসাবে ব্যবহার করে একটি ভিএস ভাষা পরিষেবা লিখেছি: http://www.codeproject.com/KB/recips/VSLanguageService.aspx

আপনার যদি গ্রামারগুলিতে প্রাথমিক হ্যান্ডেল থাকে তবে এটি খুব খারাপ ছিল না।


এটি লজ্জার বিষয় যে তিনি এই টিউটোরিয়ালটি চালিয়ে যান নি ... এটি ছিল সত্যিই খুব ভাল। ধন্যবাদ!
এমপেন

1
প্যাকেজটি ইনস্টল করার পরে এটি হ'ল সমস্তই পরবর্তী পদক্ষেপ। stackoverflow.com/questions/4160391/...
ColinCren

2

ভিএস এসডিকে একটি নমুনা রয়েছে যা আপনি সন্ধান করছেন এমন বেশিরভাগ বৈশিষ্ট্য দেখায়।


2

আমি নিজস্ব ভাষা দিয়ে ভিএস ব্যবহার করছিলাম এবং এর জন্য মারাত্মকভাবে একটি সিনট্যাক্স হাইলাইটের দরকার ছিল । আমি এই টিউটোরিয়ালটির উপর ভিত্তি করে আমার তৈরি করেছি: https://mattduffield.wordpress.com/2012/07/31/writing-a-brightcript-syntax-hightlight-existance- for-visual-studio- 2010/

আমি টিউটোরিয়ালটি VS2010 এ জানি in আমি ভিএস2012-এ কোনও বা খুব ছোট হিক্কার সহ আমার তৈরি করেছি। (VS2013 এও কাজ করেছেন) সম্প্রতি আমি VS2015 এ পরিবর্তন করেছি এবং সমাধানটি কোনও সমস্যা ছাড়াই নির্মিত, সম্পাদনা করা যেতে পারে।


2

আমি ভিজ্যুয়াল স্টুডিও 2013 এসডির জন্য সাম্প্রতিক নমুনাগুলির এই খুব দরকারী সংগ্রহটি পেয়েছি: http://blogs.msdn.com/b/vsx/archive/2014/05/30/vs-2013-sdk-sams-released.aspx

এটিতে ওক ল্যাঙ্গুয়েজের সাম্প্রতিক সংস্করণ রয়েছে যা আশাব্যঞ্জক বলে মনে হচ্ছে।

আমরা আমাদের ভাষা পার্স করার জন্য এএনটিএলআর 4 ব্যবহার করেছি যা কব্জির মতো কাজ করে এবং সি # কোডের সাথে সরাসরি আলাপচারিতার অনুমতি দেয়। সম্পূর্ণরূপে এটি সুপারিশ করতে পারেন।


0

অন্যান্য উত্তরে যেমন উল্লেখ করা হয়েছে, সর্বাধিক আকর্ষণীয় কোডের নমুনা হ'ল ভিজুয়াল স্টুডিওর সর্বশেষতম সংস্করণ (লেখার সময় 2017) এর জন্য ওওক ভাষা সম্প্রসারণ

ভিএস 2015 এর জন্য ভিএস ২০১৫ শাখায় নমুনা দেখুন ।

2015 বা তার পরে এসডিকে ইনস্টল করার জন্য আপনাকে ভিএস সেটআপটি পুনরায় চালু করতে হবে। 2015 সালে এটিকে "ভিজ্যুয়াল স্টুডিও এক্সটেনসিবিলিটি সরঞ্জাম আপডেট 3" বলা হয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.