VS Code Remote - SSH در مقابل VS Code Dev Containers
افزونه Remote-SSH به VS Code اجازه میدهد مستقیماً به یک سرور یا ماشین لینوکسی راه دور وصل شده و در محیط همان سرور کد بزنید، در حالی که Dev Containers کد را داخل یک کانتینر Docker تعریفشده با فایل پیکربندی محلی اجرا و ویرایش میکند.
| ویژگی | VS Code Remote - SSH | VS Code Dev Containers |
|---|---|---|
| محل اجرا | سرور/ماشین راه دور واقعی | کانتینر Docker محلی یا راه دور |
| تکرارپذیری محیط | وابسته به تنظیمات سرور | کاملاً تکرارپذیر با فایل پیکربندی |
| نیاز به Docker | خیر | بله |
کِی از VS Code Remote - SSH استفاده کنیم؟
وقتی نیاز دارید مستقیماً روی یک سرور، VM ابری یا Raspberry Pi واقعی کار کنید که از قبل محیط آن آماده است.
کِی از VS Code Dev Containers استفاده کنیم؟
وقتی میخواهید محیط توسعه یکسان و قابل تکرار (همان نسخههای ابزار برای همه اعضای تیم) را با یک فایل پیکربندی نسخهبندیشده در Git تعریف کنید.
مثال VS Code Remote - SSH
// Remote-SSH: اتصال به سرور با
// Command Palette > Remote-SSH: Connect to Host
// user@my-server.com
مثال VS Code Dev Containers
// .devcontainer/devcontainer.json
{
"image": "mcr.microsoft.com/dotnet/sdk:8.0",
"extensions": ["ms-dotnettools.csharp"]
}
اشتباه رایج
اشتباه رایج این است که Dev Containers را فقط یک "Docker Compose دیگر" بدانیم؛ در واقع تفاوت اصلی این است که Dev Containers محیط توسعه تکرارپذیر میسازد، ولی Remote-SSH فقط به زیرساخت از قبل موجود وصل میشود.
جمعبندی
برای اتصال به سرور یا زیرساخت واقعی از Remote-SSH و برای محیط توسعه یکسان و قابل نسخهبندی بین اعضای تیم از Dev Containers استفاده کنید.
