আপনার ম্যাক-এ ভিএস কোড থেকে একই প্রজেক্ট কমান্ড চালাতে, এটিকে .vscode/tasks.json-এ একটি ওয়ার্কস্পেস টাস্ক হিসেবে ডিফাইন করুন। তারপর টার্মিনালে এটি বারবার টাইপ করার পরিবর্তে কমান্ড প্যালেট বা টার্মিনাল মেনু থেকে এটি শুরু করুন। এই নির্দেশিকাটিতে উদাহরণ হিসেবে npm test ব্যবহার করা হয়েছে; এটিকে এমন একটি কমান্ড দিয়ে প্রতিস্থাপন করুন যা আপনার প্রজেক্ট ইতিমধ্যেই সমর্থন করে। ভিএস কোড টাস্কের জন্য একটি খোলা ওয়ার্কস্পেস ফোল্ডার প্রয়োজন, তাই প্রথমে ভিএস কোড-এ প্রজেক্ট ফোল্ডারটি খুলুন। Visual Studio Code: Integrate with External Tools via Tasks

আপনার প্রজেক্টে টাস্ক ফাইলটি তৈরি করুন

ভিএস কোড-এ, Shift+Command+P দিয়ে কমান্ড প্যালেট খুলুন, Tasks: Configure Task চালান, এবং ভিএস কোড সেই বিকল্পটি প্রদান করলে Create tasks.json file from template বেছে নিন। একটি কাস্টম টাস্কের জন্য Others নির্বাচন করুন। যদি tasks.json ইতিমধ্যেই বিদ্যমান থাকে, তবে দ্বিতীয়টি তৈরি না করে সেটিই খুলুন এবং সম্পাদনা করুন। ফাইলটি প্রজেক্টের .vscode ফোল্ডারের অন্তর্ভুক্ত; আপনার প্রজেক্টের সাথে এটি কমিট করলে ভিএস কোড ব্যবহারকারী সহকর্মীরাও এই টাস্কটি ব্যবহার করতে পারবেন। Visual Studio Code: Integrate with External Tools via Tasks

উদাহরণের জন্য, .vscode/tasks.json-এ এই কনফিগারেশনটি রাখুন:

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Run project tests",
      "type": "shell",
      "command": "npm",
      "args": ["test"],
      "options": {
        "cwd": "${workspaceFolder}"
      },
      "presentation": {
        "reveal": "always",
        "panel": "dedicated"
      }
    }
  ]
}

টাস্ক লেবেলটি হলো সেই নাম যা আপনি ভিএস কোড-এ বেছে নেবেন। এখানে, command এবং args উদাহরণটিকে এক্সিকিউটেবল npm এবং এর পরে এর test আর্গুমেন্ট হিসেবে প্রকাশ করে। আপনার প্রজেক্টের বিদ্যমান কমান্ডের সাথে মেলাতে এগুলো পরিবর্তন করুন: উদাহরণস্বরূপ, একটি কমান্ড-লাইন টুল এবং এর আর্গুমেন্ট, অথবা একটি বিদ্যমান স্ক্রিপ্ট। টাস্কটি নির্ভরতা (dependencies) ইনস্টল করে না, কোনো প্রজেক্ট স্ক্রিপ্ট তৈরি করে না, বা কমান্ডটির কী করা উচিত তা নির্ধারণ করে না। প্রথমে প্রজেক্টের নিজস্ব ডকুমেন্টেশন বা স্ক্রিপ্টগুলো পরীক্ষা করে দেখুন। cwd ওয়ার্কিং ডিরেক্টরিটিকে ওয়ার্কস্পেস হিসেবে খোলা ফোল্ডারে সেট করে; কোনো কমান্ড যখন সেই ফোল্ডারের সাপেক্ষে প্রজেক্ট ফাইলগুলো খুঁজে পাওয়ার প্রত্যাশা করে, তখন এটি গুরুত্বপূর্ণ। Visual Studio Code: Integrate with External Tools via Tasks

ম্যাক ইন্টারফেস থেকে এটি আবার চালান

tasks.json সংরক্ষণ করুন। Shift+Command+P দিয়ে কমান্ড প্যালেট খুলুন, Tasks: Run Task চালান এবং Run project tests নির্বাচন করুন। আপনি Terminal > Run Task-ও ব্যবহার করতে পারেন। টাস্কটি শেষ হওয়ার পরে, সেই পদক্ষেপগুলো পুনরাবৃত্তি করুন এবং একই লেবেল নির্বাচন করুন। কনফিগার করা টাস্কটি ভিএস কোডের সমন্বিত টার্মিনালে চলে। Visual Studio Code: Integrate with External Tools via Tasks

উদাহরণটিতে, টাস্কটি চলার সময় reveal: always টার্মিনাল প্যানেলটিকে সামনে নিয়ে আসে। panel: dedicated পরবর্তী রানগুলোতে এই টাস্কের জন্য একটি টার্মিনাল পুনরায় ব্যবহার করে, এর আউটপুট অন্যান্য টাস্ক থেকে আলাদা রাখে। আউটপুট ব্যাকগ্রাউন্ডে রাখতে, reveal-কে never-এ সেট করুন; এটি দেখার জন্য আপনাকে নিজেকেই টার্মিনাল প্যানেলটি সামনে আনতে হবে। এই বিকল্পগুলো উপস্থাপনাকে প্রভাবিত করে, কমান্ডের আচরণ বা এটি সফল হবে কি না তা নয়। Visual Studio Code: Integrate with External Tools via Tasks

আপনার কমান্ড যেভাবে চলে তার সাথে কনফিগারেশনটি মেলান

কমান্ডটি যখন শেল আচরণের ওপর নির্ভর করে তখন type: shell ব্যবহার করুন। সরাসরি কোনো এক্সিকিউটেবল চালু করা উচিত এমন কোনো কমান্ডের জন্য, type: process শেল ইন্টারপ্রিটেশন এড়াতে পারে। ভিএস কোড উভয় ধরনের টাস্ক নথিভুক্ত করে; আপনার প্রয়োজনীয় কমান্ড এবং আর্গুমেন্ট অনুযায়ী বেছে নিন। শেল টাস্কের ক্ষেত্রে, স্পেস এবং বিশেষ অক্ষরের জন্য উদ্ধৃতিচিহ্ন (quoting) ব্যবহারের প্রয়োজন হতে পারে। উদাহরণের মতো এক্সিকিউটেবল এবং আর্গুমেন্ট আলাদা করা একটি স্ট্রিংয়ে পুরো কমান্ড লাইন এম্বেড করা এড়াতে সহায়তা করে, যদিও প্রয়োজন অনুসারে শেল-নির্দিষ্ট উদ্ধৃতি নিয়মগুলো এখনও প্রযোজ্য। Visual Studio Code: Integrate with External Tools via Tasks

কমান্ডটি যদি কোনো সাবফোল্ডারে শুরু হওয়া উচিত হয়, তবে cwd-কে ${workspaceFolder}-এর অধীনে থাকা কোনো পাথে পরিবর্তন করুন, যেমন ${workspaceFolder}/client। ${workspaceFolder} ভিএস কোড-এ খোলা ফোল্ডারকে নির্দেশ করে এবং ম্যাকওএস পাথগুলো ফরোয়ার্ড স্ল্যাশ ব্যবহার করে। আপনি যদি কোনো শেল টাস্কে ভেরিয়েবল ব্যবহার করেন, তবে মনে রাখবেন যে প্রতিস্থাপন স্বয়ংক্রিয়ভাবে উদ্ধৃতিচিহ্ন যুক্ত করে না; স্পেসযুক্ত পাথগুলোর ক্ষেত্রে শেল-উপযোগী উদ্ধৃতিচিহ্নের প্রয়োজন হতে পারে। Visual Studio Code: Variables Reference

যদি কোনো টাস্ক একটি টার্মিনাল উইন্ডোতে কাজ করে কিন্তু ভিএস কোড-এ ব্যর্থ হয়, তবে যাচাই করুন যে এক্সিকিউটেবলটি ভিএস কোড যে পরিবেশ ব্যবহার করে তার জন্য উপলব্ধ রয়েছে এবং নির্বাচিত ওয়ার্কিং ডিরেক্টরিতে প্রত্যাশিত ফাইলগুলো রয়েছে। ভিএস কোড terminal.integrated.automationProfile.*-এর মাধ্যমে আলাদাভাবে একটি অটোমেশন শেল কনফিগার করার অনুমতি দেয়, অথবা options.shell-এর মাধ্যমে একটি টাস্ক-নির্দিষ্ট শেল কনফিগার করার সুযোগ দেয়; একটি টাস্ক ইতিমধ্যে খোলা ইন্টারেক্টিভ টার্মিনালের মতো একই পরিবেশের নিশ্চয়তা দেয় না। Visual Studio Code: Integrate with External Tools via Tasks

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

উৎসসমূহ