বাংলা

কাস্টম এক্সটেনশন তৈরি করতে শিখে ভিএস কোডের শক্তি উন্মোচন করুন। এই গাইডটি সেটআপ থেকে পাবলিশিং পর্যন্ত একটি সম্পূর্ণ ওয়াকথ্রু প্রদান করে, যা আপনাকে আপনার কোডিং পরিবেশ উন্নত করতে এবং আপনার তৈরি জিনিস বিশ্বের সাথে শেয়ার করতে সক্ষম করে।

ভিএস কোড এক্সটেনশন ডেভেলপমেন্টে দক্ষতা অর্জন: বিশ্বব্যাপী ডেভেলপারদের জন্য একটি সম্পূর্ণ গাইড

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

কেন ভিএস কোড এক্সটেনশন তৈরি করবেন?

ভিএস কোড এক্সটেনশন তৈরি করা ব্যক্তিগত ডেভেলপার এবং সংস্থা উভয়ের জন্যই অনেক সুবিধা নিয়ে আসে:

পূর্বশর্ত

এক্সটেনশন ডেভেলপমেন্ট শুরু করার আগে, নিশ্চিত করুন যে আপনার নিম্নলিখিত জিনিসগুলি ইনস্টল করা আছে:

আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট সেটআপ করা

পূর্বশর্তগুলি পূরণ হলে, আপনি আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট সেটআপ করার জন্য প্রস্তুত:

  1. একটি নতুন এক্সটেনশন প্রজেক্ট তৈরি করুন: আপনার টার্মিনাল খুলুন এবং এক্সটেনশন জেনারেটর শুরু করতে নিম্নলিখিত কমান্ডটি চালান:
  2. yo code
  3. প্রম্পটগুলির উত্তর দিন: জেনারেটরটি আপনার এক্সটেনশন সম্পর্কে কয়েকটি প্রশ্ন জিজ্ঞাসা করবে। এখানে সাধারণ প্রম্পট এবং প্রস্তাবিত উত্তরগুলির একটি বিবরণ দেওয়া হলো:
    • আপনি কোন ধরনের এক্সটেনশন তৈরি করতে চান? TypeScript-ভিত্তিক এক্সটেনশনের জন্য "New Extension (TypeScript)" বেছে নিন, যা প্রস্তাবিত পদ্ধতি।
    • আপনার এক্সটেনশনের নাম কী? আপনার এক্সটেনশনের জন্য একটি বর্ণনামূলক এবং অনন্য নাম বেছে নিন। উদাহরণ: "Code Spell Checker," "JavaScript Snippets," "Python Autocomplete."
    • আপনার এক্সটেনশনের শনাক্তকারী কী? এটি আপনার এক্সটেনশনের জন্য একটি অনন্য শনাক্তকারী, সাধারণত `publisher.extension-name` ফরম্যাটে থাকে। একটি পাবলিশার নাম বাছুন (যেমন, আপনার GitHub ব্যবহারকারীর নাম বা কোম্পানির নাম)।
    • আপনার এক্সটেনশনের বর্ণনা কী? আপনার এক্সটেনশন কী করে তার একটি সংক্ষিপ্ত এবং তথ্যপূর্ণ বর্ণনা দিন।
    • একটি গিট রিপোজিটরি শুরু করবেন? সংস্করণ নিয়ন্ত্রণের জন্য একটি গিট রিপোজিটরি শুরু করতে "Yes" বাছুন।
    • আপনি কি কোড লিন্ট করার জন্য eslint ব্যবহার করতে চান? কোড শৈলীর সামঞ্জস্য বজায় রাখতে "Yes" বাছুন।
  4. ভিএস কোডে প্রজেক্টটি খুলুন: জেনারেটর শেষ হয়ে গেলে, নতুন তৈরি হওয়া প্রজেক্ট ফোল্ডারটি ভিএস কোডে খুলুন।

প্রজেক্টের কাঠামো বোঝা

এক্সটেনশন জেনারেটর নিম্নলিখিত মূল ফাইলগুলির সাথে একটি বেসিক প্রজেক্ট কাঠামো তৈরি করে:

আপনার প্রথম এক্সটেনশন লেখা

চলুন একটি সাধারণ এক্সটেনশন তৈরি করে শুরু করি যা একটি কমান্ড কার্যকর করা হলে "Hello World" বার্তা প্রদর্শন করে:

  1. `src/extension.ts` খুলুন: এই ফাইলে `activate` ফাংশন রয়েছে, যা আপনার এক্সটেনশন সক্রিয় করা হলে কল করা হয়।
  2. `activate` ফাংশনটি পরিবর্তন করুন: বিদ্যমান কোডটি নিম্নলিখিত কোড দিয়ে প্রতিস্থাপন করুন:
  3. import * as vscode from 'vscode';
    
    export function activate(context: vscode.ExtensionContext) {
    	console.log('Congratulations, your extension \"my-extension\" is now active!');
    
    	let disposable = vscode.commands.registerCommand('my-extension.helloWorld', () => {
    		vscode.window.showInformationMessage('Hello World from My Extension!');
    	});
    
    	context.subscriptions.push(disposable);
    }
    
    export function deactivate() {}
  4. ব্যাখ্যা:
    • `vscode.commands.registerCommand('my-extension.helloWorld', ...)`: `my-extension.helloWorld` আইডি সহ একটি কমান্ড নিবন্ধন করে। এই কমান্ডটি ভিএস কোড কমান্ড প্যালেটে উপলব্ধ হবে।
    • `vscode.window.showInformationMessage('Hello World from My Extension!')`: ভিএস কোড উইন্ডোতে একটি তথ্য বার্তা প্রদর্শন করে।
    • `context.subscriptions.push(disposable)`: এক্সটেনশনের সাবস্ক্রিপশনে কমান্ডটি যোগ করে, এটি নিশ্চিত করে যে এক্সটেনশনটি নিষ্ক্রিয় করা হলে এটি সঠিকভাবে ডিসপোজ করা হবে।
  5. `package.json` পরিবর্তন করুন: কমান্ডটি সংজ্ঞায়িত করতে `contributes` বিভাগে নিম্নলিখিতটি যোগ করুন:
  6. "contributes": {
    		"commands": [{
    			"command": "my-extension.helloWorld",
    			"title": "Hello World"
    		}]
    	}
  7. ব্যাখ্যা:
    • `"commands"`: আপনার এক্সটেনশন যে কমান্ডগুলি অবদান রাখে তা সংজ্ঞায়িত করে।
    • `"command": "my-extension.helloWorld"`: `extension.ts`-এ ব্যবহৃত আইডির সাথে মেলে এমন কমান্ড আইডি নির্দিষ্ট করে।
    • `"title": "Hello World"`: কমান্ড প্যালেটে কমান্ডের জন্য প্রদর্শনের নাম সেট করে।

আপনার এক্সটেনশন পরীক্ষা করা

এখন আপনার এক্সটেনশন পরীক্ষা করার সময় এসেছে:

  1. F5 চাপুন: এটি আপনার এক্সটেনশন ইনস্টল করা সহ একটি নতুন ভিএস কোড উইন্ডো চালু করবে। এটি হলো "এক্সটেনশন ডেভেলপমেন্ট হোস্ট"।
  2. কমান্ড প্যালেট খুলুন: কমান্ড প্যালেট খুলতে `Ctrl+Shift+P` (macOS-এ `Cmd+Shift+P`) চাপুন।
  3. "Hello World" টাইপ করুন: আপনি কমান্ড প্যালেটে আপনার কমান্ডটি তালিকাভুক্ত দেখতে পাবেন।
  4. "Hello World" নির্বাচন করুন: কমান্ডটি ক্লিক করলে এটি কার্যকর হবে এবং ভিএস কোড উইন্ডোতে "Hello World" বার্তাটি প্রদর্শিত হবে।

আপনার এক্সটেনশন ডিবাগ করা

আপনার এক্সটেনশনের সমস্যা চিহ্নিত এবং সমাধান করার জন্য ডিবাগিং অত্যন্ত গুরুত্বপূর্ণ। ভিএস কোড চমৎকার ডিবাগিং সহায়তা প্রদান করে:

  1. ব্রেকপয়েন্ট সেট করুন: আপনার কোডে ব্রেকপয়েন্ট সেট করতে লাইন নম্বরের পাশে এডিটর গাটারে ক্লিক করুন।
  2. F5 চাপুন: এটি ডিবাগ মোডে এক্সটেনশন ডেভেলপমেন্ট হোস্ট চালু করবে।
  3. আপনার এক্সটেনশনটি ট্রিগার করুন: যে কোডটি আপনি ডিবাগ করতে চান তা ট্রিগার করে এমন কমান্ড বা ক্রিয়া সম্পাদন করুন।
  4. ভেরিয়েবল এবং কল স্ট্যাক পরিদর্শন করুন: ভিএস কোড ডিবাগার আপনার ব্রেকপয়েন্টে এক্সিকিউশন থামিয়ে দেবে, যা আপনাকে ভেরিয়েবল পরিদর্শন করতে, কোডের মাধ্যমে ধাপে ধাপে এগোতে এবং কল স্ট্যাক পরীক্ষা করতে দেবে।

ভিএস কোড এপিআই (API) নিয়ে কাজ করা

ভিএস কোড এপিআই এডিটরের সাথে ইন্টারঅ্যাক্ট করার জন্য একটি সমৃদ্ধ ইন্টারফেস এবং ফাংশন সেট সরবরাহ করে। এখানে এপিআই-এর কিছু মূল ক্ষেত্র রয়েছে:

উদাহরণ: একটি কোড স্নিপেট এক্সটেনশন তৈরি করা

চলুন একটি এক্সটেনশন তৈরি করি যা একটি বেসিক React কম্পোনেন্ট তৈরির জন্য একটি কোড স্নিপেট যোগ করে:

  1. একটি `snippets` ফোল্ডার তৈরি করুন: আপনার প্রজেক্টের রুটে `snippets` নামে একটি নতুন ফোল্ডার তৈরি করুন।
  2. একটি স্নিপেট ফাইল তৈরি করুন: `snippets` ফোল্ডারের ভিতরে `react.json` নামে একটি ফাইল তৈরি করুন।
  3. স্নিপেট সংজ্ঞা যোগ করুন: `react.json`-এ নিম্নলিখিত JSON যোগ করুন:
  4. {
    	"React Component": {
    		"prefix": "reactcomp",
    		"body": [
    			"import React from 'react';",
    			"",
    			"interface Props {\n\t[key: string]: any;\n}",
    			"",
    			"const ${1:ComponentName}: React.FC = (props: Props) => {\n\treturn (\n\t\t
    \n\t\t\t${2:Content}\n\t\t
    \n\t);\n};", "", "export default ${1:ComponentName};" ], "description": "Creates a basic React component" } }
  5. ব্যাখ্যা:
    • `"React Component"`: স্নিপেটের নাম।
    • `"prefix": "reactcomp"`: যে প্রিফিক্সটি স্নিপেটটি ট্রিগার করে। `reactcomp` টাইপ করে `Tab` চাপলে স্নিপেটটি ঢোকানো হবে।
    • `"body"`: স্নিপেটের কোডের লাইনগুলি উপস্থাপনকারী স্ট্রিংগুলির একটি অ্যারে।
    • `${1:ComponentName}`: একটি ট্যাব স্টপ যা আপনাকে দ্রুত কম্পোনেন্টের নাম পরিবর্তন করতে দেয়।
    • `"description"`: স্নিপেটের একটি বর্ণনা।
  6. `package.json` পরিবর্তন করুন: `contributes` বিভাগে নিম্নলিখিতটি যোগ করুন:
  7. "contributes": {
    		"snippets": [{
    			"language": "javascriptreact",
    			"path": "./snippets/react.json"
    		}]
    	}
  8. ব্যাখ্যা:
    • `"snippets"`: আপনার এক্সটেনশন যে স্নিপেটগুলি অবদান রাখে তা সংজ্ঞায়িত করে।
    • `"language": "javascriptreact"`: যে ভাষার জন্য স্নিপেটটি প্রযোজ্য তা নির্দিষ্ট করে।
    • `"path": "./snippets/react.json"`: স্নিপেট ফাইলের পথ নির্দিষ্ট করে।
  9. আপনার স্নিপেট পরীক্ষা করুন: একটি `.jsx` বা `.tsx` ফাইল খুলুন এবং `reactcomp` টাইপ করুন। স্নিপেটটি ঢোকাতে `Tab` চাপুন।

অ্যাডভান্সড এক্সটেনশন ডেভেলপমেন্ট কৌশল

আপনি বেসিকগুলি আয়ত্ত করার পরে, আপনি আরও অ্যাডভান্সড এক্সটেনশন ডেভেলপমেন্ট কৌশলগুলি অন্বেষণ করতে পারেন:

আন্তর্জাতিকীকরণ এবং স্থানীয়করণ (i18n এবং L10n)

বিশ্বব্যাপী দর্শকদের কাছে পৌঁছানোর জন্য, আপনার এক্সটেনশনকে আন্তর্জাতিকীকরণ এবং স্থানীয়করণ করার কথা বিবেচনা করুন। এর মধ্যে আপনার এক্সটেনশনকে বিভিন্ন ভাষা এবং অঞ্চলের জন্য মানিয়ে নেওয়া জড়িত।

আপনার এক্সটেনশন প্রকাশ করা

আপনার এক্সটেনশন প্রস্তুত হয়ে গেলে, আপনি এটিকে ভিএস কোড মার্কেটপ্লেসে প্রকাশ করতে পারেন যাতে অন্যরা এটি ব্যবহার করতে পারে:

  1. একটি Azure DevOps সংস্থা তৈরি করুন: আপনার এক্সটেনশন প্রকাশ করার জন্য আপনার একটি Azure DevOps সংস্থা প্রয়োজন হবে। যদি আপনার একটি না থাকে, তবে Azure DevOps ওয়েবসাইটে একটি বিনামূল্যে অ্যাকাউন্ট তৈরি করুন।
  2. `vsce` টুল ইনস্টল করুন: ভিএস কোড এক্সটেনশন ম্যানেজার (`vsce`) এক্সটেনশন প্যাকেজিং এবং প্রকাশ করার জন্য একটি কমান্ড-লাইন টুল। npm ব্যবহার করে এটি বিশ্বব্যাপী ইনস্টল করুন:
  3. npm install -g vsce
  4. একটি পাবলিশার তৈরি করুন: একজন পাবলিশার হলেন এমন একটি পরিচয় যিনি মার্কেটপ্লেসে আপনার এক্সটেনশনের মালিক। `vsce create-publisher` কমান্ড ব্যবহার করে একজন পাবলিশার তৈরি করুন। আপনাকে একটি পাবলিশারের নাম এবং Azure DevOps থেকে একটি ব্যক্তিগত অ্যাক্সেস টোকেন (PAT) প্রদান করতে হবে।
  5. একটি ব্যক্তিগত অ্যাক্সেস টোকেন (PAT) তৈরি করুন: Azure DevOps-এ, "User Settings" -> "Personal Access Tokens"-এ যান এবং "Marketplace (Publish)" স্কোপ সহ একটি নতুন PAT তৈরি করুন।
  6. আপনার এক্সটেনশন প্যাকেজ করুন: আপনার এক্সটেনশনকে একটি `.vsix` ফাইলে প্যাকেজ করতে `vsce package` কমান্ড ব্যবহার করুন।
  7. আপনার এক্সটেনশন প্রকাশ করুন: আপনার এক্সটেনশনকে মার্কেটপ্লেসে প্রকাশ করতে `vsce publish` কমান্ড ব্যবহার করুন। আপনাকে আপনার পাবলিশারের নাম এবং আপনার PAT প্রদান করতে হবে।

এক্সটেনশন ডেভেলপমেন্টের জন্য সেরা অনুশীলন

উচ্চ-মানের এবং রক্ষণাবেক্ষণযোগ্য ভিএস কোড এক্সটেনশন তৈরি করতে এই সেরা অনুশীলনগুলি অনুসরণ করুন:

কমিউনিটি রিসোর্স

ভিএস কোড এক্সটেনশন ডেভেলপমেন্ট সম্পর্কে আরও জানার জন্য এখানে কিছু মূল্যবান রিসোর্স রয়েছে:

উপসংহার

ভিএস কোড এক্সটেনশন তৈরি করা আপনার কোডিং পরিবেশ কাস্টমাইজ করার, প্রোডাক্টিভিটি বাড়ানোর এবং বিশ্বব্যাপী ডেভেলপার সম্প্রদায়ের সাথে আপনার সমাধানগুলি শেয়ার করার একটি শক্তিশালী উপায়। এই সম্পূর্ণ গাইডটি অনুসরণ করে, আপনি এক্সটেনশন ডেভেলপমেন্টের শিল্পে দক্ষতা অর্জন করতে পারেন এবং উদ্ভাবনী সরঞ্জাম তৈরি করতে পারেন যা আপনার এবং অন্যদের জন্য ভিএস কোড অভিজ্ঞতাকে উন্নত করে। কমিউনিটিকে আলিঙ্গন করতে, ওপেন-সোর্স প্রজেক্টে অবদান রাখতে এবং ভিএস কোড এক্সটেনশন ডেভেলপমেন্টের চির-বিকশিত বিশ্বকে ক্রমাগত শিখতে এবং অন্বেষণ করতে মনে রাখবেন। শুভকামনা এবং শুভ কোডিং!