macOS-এ কোনো ফাইল পরীক্ষা করার জন্য, প্রথমে VS Code-এর রিমোট ইন্ডিকেটরটি দেখুন, তারপর ফাইলটির পাথ এবং সেই পাথটি কোথায় অবস্থিত তা নিশ্চিত করুন। একটি Dev Container উইন্ডো একটি কনটেইনারের সাথে সংযুক্ত থাকে, তবে এর ওয়ার্কস্পেস ফাইলগুলি আপনার ম্যাক থেকে মাউন্ট করা হতে পারে; অন্যান্য কনটেইনার সেটআপে ফাইলগুলি কেবল কনটেইনারের ভেতরেই সংরক্ষিত থাকে। উইন্ডো ইন্ডিকেটরটি আপনাকে সংযোগের কনটেক্সট জানায়, আর ওয়ার্কস্পেস কনফিগারেশন এবং ফাইলসিস্টেম পরীক্ষা ফাইলটি কোথায় সংরক্ষিত আছে তা নির্ধারণ করতে সাহায্য করে। VS Code-এর Dev Containers টিউটোরিয়াল-এ রিমোট কনটেক্সট এবং লোকাল ফাইলসিস্টেম থেকে ম্যাপ করা একটি নমুনা প্রজেক্ট—উভয় সম্পর্কেই বর্ণনা রয়েছে।

উইন্ডোর রিমোট ইন্ডিকেটর পরীক্ষা করুন

VS Code উইন্ডোর নিচের বাম কোণে তাকান। একটি Dev Container সংযোগে, VS Code একটি রিমোট স্ট্যাটাস বার আইটেম দেখায়। সেই রিমোট কনটেক্সটের সাথে প্রাসঙ্গিক কমান্ডগুলো খুলতে এটিতে ক্লিক করুন। ইন্ডিকেটরটি প্রাথমিক পরীক্ষার জন্য বেশ কার্যকর: এটি শনাক্ত করে যে এই উইন্ডোটি কোনো রিমোট এনভায়রনমেন্টের সাথে সংযুক্ত কিনা, তবে এটি নিজে থেকে বলে দেয় না যে ওয়ার্কস্পেস ফাইলগুলি কোনো ম্যাক ফোল্ডার দ্বারা নাকি কনটেইনার ভলিউম দ্বারা সমর্থিত। VS Code-এর টিউটোরিয়ালে বলা হয়েছে যে এই আইটেমটি বর্তমান কনটেক্সট লোকাল নাকি রিমোট তা প্রদর্শন করে। Dev Containers টিউটোরিয়াল

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

সক্রিয় ফাইলটি কোন ফোল্ডারের অন্তর্ভুক্ত তা নিশ্চিত করুন

Explorer-এ ফাইলটি সনাক্ত করুন এবং এর উপরে থাকা ওয়ার্কস্পেস ফোল্ডারটি লক্ষ্য করুন। ফাইলটিতে রাইট-ক্লিক করুন এবং উপলভ্য থাকলে Reveal in Finder নির্বাচন করুন। VS Code-এর ডকুমেন্টে Finder-এ কোনো ফাইল বা ফোল্ডারে নেভিগেট করার জন্য এই macOS অ্যাকশনটির উল্লেখ রয়েছে। Finder যদি ফাইলটিকে আপনার ম্যাকের ডিরেক্টরি ট্রিতে প্রদর্শন করে, তবে তা একটি লোকাল পাথ নিশ্চিত করে। ফাইলটি যদি কোনো রিমোট উইন্ডোতে থাকে এবং Reveal in Finder অনুপলব্ধ থাকে বা ম্যাক কপি সনাক্ত না করে, তবে ফাইলটিকে লোকাল বলে ধরে নেবেন না; টার্মিনাল এবং কনটেইনার কনফিগারেশন পরীক্ষা চালিয়ে যান। VS Code ইউজার ইন্টারফেস ডকুমেন্টেশন

আপনি ⇧⌘P চেপে Command Palette খুলতে পারেন এবং Copy Path of Active File অনুসন্ধান করতে পারেন। কপি করা পাথটি আপনাকে VS Code ফাইলটির সাথে যে পাথটি সম্পর্কিত করেছে তা শনাক্ত করতে সাহায্য করে। /workspace/app.js-এর মতো একটি পাথ সাধারণত একটি Linux কনটেইনার ওয়ার্কস্পেসের বৈশিষ্ট্য, আর /Users/ দিয়ে শুরু হওয়া পাথ সাধারণত একটি ম্যাক হোম ডিরেক্টরির বৈশিষ্ট্য—তবে পাথগুলি কেবল সূত্র, কোনো প্রমাণ নয়। একটি কনটেইনার /workspace-এ একটি ম্যাক ফোল্ডার মাউন্ট করতে পারে, তাই কেবল কনটেইনারের ভেতরের পাথটি দেখে ডেটা কোথায় সংরক্ষিত তা বলা যায় না। এই কমান্ড এবং শর্টকাটটি ডিফল্ট কীবোর্ড শর্টকাট রেফারেন্স-এ নথিভুক্ত রয়েছে।

এনভায়রনমেন্ট শনাক্ত করতে ইন্টিগ্রেটেড টার্মিনাল ব্যবহার করুন

একই উইন্ডোতে Terminal > New Terminal খুলুন এবং এই রিড-অনলি কমান্ডগুলি চালান:

pwd
uname -s

টার্মিনালটি ডিফল্টভাবে ওয়ার্কস্পেস ফোল্ডারে শুরু হয়। macOS-এ, uname -s সাধারণত Darwin প্রিন্ট করে; Linux-ভিত্তিক ডেভেলপমেন্ট কনটেইনারে এটি সাধারণত Linux প্রিন্ট করে। টার্মিনাল যদি Linux দেখায় এবং একই সাথে রিমোট ইন্ডিকেটরটি একটি Dev Container কনটেক্সট দেখায়, তবে শেলটি কনটেইনার এনভায়রনমেন্টে চলছে। VS Code উল্লেখ করেছে যে এর ইন্টিগ্রেটেড টার্মিনাল বর্তমান কনটেক্সটের শেল ব্যবহার করে এবং ওয়ার্কস্পেস রুটে শুরু হয়। টার্মিনাল বেসিকস

এই কমান্ডগুলি টার্মিনালের এনভায়রনমেন্ট এবং বর্তমান ডিরেক্টরি শনাক্ত করে; একটি ওয়ার্কস্পেস ফোল্ডার আপনার ম্যাকের একটি বাইন্ড মাউন্ট নাকি কনটেইনার ভলিউমে সংরক্ষিত ডেটা, তা এগুলি প্রমাণ করে না। এই পার্থক্যটি যাচাই করতে, workspaceMount, workspaceFolder, বা ভলিউম মাউন্টের মতো সেটিংসের জন্য প্রজেক্টের .devcontainer/devcontainer.json বা Compose কনফিগারেশন পরিদর্শন করুন। VS Code-এর রিমোট ডকার হোস্ট নির্দেশিকা ওয়ার্কস্পেস ফাইল সরবরাহ করার পৃথক উপায় হিসেবে বাইন্ড মাউন্ট এবং নেমড ভলিউমের বর্ণনা দেয়। একটি রিমোট ডকার হোস্টে ডেভেলপ করুন

সম্পাদনা করার আগে ফলাফল বিশ্লেষণ করুন

সব প্রমাণ একসাথে ব্যবহার করুন। একটি লোকাল VS Code উইন্ডো, Finder-এ একটি ম্যাক পাথ এবং একটি Darwin ইন্টিগ্রেটেড টার্মিনাল লোকাল এডিটিংকে নির্দেশ করে। একটি Dev Container ইন্ডিকেটর এবং একটি Linux টার্মিনাল দেখায় যে VS Code একটি কনটেইনার কনটেক্সটে কাজ করছে। পরিবর্তনগুলি ম্যাকে সংরক্ষিত হচ্ছে নাকি কনটেইনারে, তা নির্ধারণ করতে ওয়ার্কস্পেসটি কীভাবে মাউন্ট করা হয়েছে তাও নিশ্চিত করুন: একটি বাইন্ড মাউন্ট কনটেইনারের ভেতরে ম্যাক ফাইলগুলিকে উন্মুক্ত করতে পারে, আর একটি নেমড ভলিউম ডকার-পরিচালিত স্টোরেজে ফাইলগুলি সংরক্ষণ করতে পারে।

কোনো পরিবর্তন করার আগে এই পার্থক্যটি গুরুত্বপূর্ণ হলে, মাউন্ট কনফিগারেশন পরীক্ষা করুন অথবা যিনি প্রজেক্টটি সেট আপ করেছেন তাকে জিজ্ঞাসা করুন ওয়ার্কস্পেসটি কোন স্টোরেজ ব্যবহার করে। কনটেইনার পাথ থেকে ম্যাক ব্যাকআপ অনুমান করবেন না, এবং টার্মিনালটি Linux হওয়ার কারণেই কেবল কনটেইনারের নিজস্ব স্টোরেজ অনুমান করবেন না। এই পরীক্ষাগুলি আপনাকে সক্রিয় VS Code উইন্ডো এবং এর ওয়ার্কস্পেস সম্পর্কে জানায়; অন্য কোথাও অন্য কোনো কপি বিদ্যমান আছে কিনা তা এগুলি নিশ্চিত করে না।

তথ্যসূত্র