«ویژوال استودیو کد» یک محیط توسعه یکپارچه یا IDE محبوب برای توسعهدهندگان است. پلاگینهای متعدد، طراحی بهینه و پشتیبانی از پلتفرمهای چندگانه، باعث شده که این ابزار تبدیل به گزینهای فوقالعاده در همه سطوح شود. در این آموزش، تمرکز ما بر روی پلاگین Remote-SSH و نحوه توسعه نرمافزاری از راه دور خواهد بود. با استفاده از این پلاگین شما خواهید توانست که از کارگاه محلی خودتان به ویرایش فایلها بپردازید و همینطور کارهای توسعهای مانند اجرای برنامه، تست بخشهای مختلف و یا آنالیز استاتیک را بر روی یک سرور ریموت انجام دهید.
دلایل مختلفی برای توجیه استفاده از پلاگین Remote-SSH وجود دارد. به عنوان مثال، زمانی را در زندگی بگیرید که یک سیستم ویندوز در اختیار دارید. این در حالی است که کد شما قرار است بر روی یک سیستم لینوکس اجرا گردد. همچنین ممکن است نیاز به RAM یا قدرت پردازش بیشتر نسبت به وضعیت کنونی سیستمتان داشته باشید. ضمن اینکه شاید بخواهید به دلایل امنیتی و محرمانگی، کد را در سیستم شخصیتان ذخیره نکنید.
در این آموزش به شما نشان میدهیم که چگونه پلاگین Remote-SSH را فعال و از آن استفاده کنید. علاوه بر اینکه، نحوه تتظیم ویژوال استودیو کد را برای اجرای کد بر روی سرور ریموت ملاحظه خواهید کرد. همچنین شما خواهید توانست که با نصب ویژوال استودیو کد بر روی سیستم محلیتان، کد را در سرور ریموت اجرا نمایید.
پیشنیازها
برای اینکه بتوانید همگام با این آموزش به پیش بروید، به موارد زیر نیاز خواهید داشت:
- یک سیستم توسعه محلی بر مبنای ویندوز، مک یا لینوکس. این آموزش برای سیستمهای مبتنی بر سیستمعامل کروم کارآیی نخواهد داشت.
- ویژوال استودیو کد که از طریق وبسایت رسمی میتوانید آن را دریافت و نصب کنید.
- یک جفت کلید استخراجشده SSH
گام ۱) نصب پلاگین Remote-SSH
مرجع Extensions Marketplace جایی است که میتوانید افزونههای ثالث را برای ابزارها و زبانهای برنامهنویسی مختلف دریافت کنید. در اینجا میتوانید پلاگین Remote-SSH را جستجو کرده و آن را نصب کنید.
در سمت چپ محیط IDE یک ستون از پنج آیکون وجود دارد. آیکونی که شبیه به چهار مربع در کنار هم است که مربع گوشه بالای سمت راست از آنها فاصله گرفته، Extensions Marketplace است.
همچنین میتوانید با استفاده از کلیدهای میانبر Ctrl+Shift+X به این قسمت دسترسی پیدا کنید. وقتی این صفحه را باز میکنید، پلاگینهای پیشنهادی را برای دریافت و نصب مشاهده خواهید کرد.
پس از باز کردن صفحه Extensions Marketplace، عبارت Remote-SSH را در قسمت جستجوی افزونهها وارد کنید. وقتی پلاگین را پیدا کردید، آن را انتخاب و سپس دکمه سبزرنگ نصب را بزنید.
هماکنون این افزونه نصب شده است. سپس برای اتصال به سرور باید افزونه را تنظیم کنید.
گام ۲) تنظیم پلاگین Remote-SSH و اتصال آن به سرور
حالا که پلاگین را نصب کردهاید، نوبت به اتصال آن به سرور میرسد. برای این منظور، به اطلاعات زیر نیاز خواهید داشت.
- آدرس IP یا عنوان هاست سرور
- کلمه کاربری که با آن متصل میشوید.
- کلید اختصاصی که برای تأیید کاربر استفاده خواهید کرد.
شما از این اطلاعات برای ایجاد یک فایل تنظیمات SSH استفاده میکنید. ویژوال استودیو کد میتواند این فایل را برای اتصال SSH به سرور، هماهنگسازی و اجرای کد به کار بگیرد. این تنظیمات با استفاده از ویژوال استودیو کد ساخته میشوند.
پس از نصب پلاگین Remote-SSH میتوانید یک باکس کوچک سبزرنگ را در گوشه پایین سمت چپ رابط کاربری ویژوال استودیو کد ببینید. اگر با نشانگر موس به روی باکس بروید، پیغامی مبنی بر باز کردن پنجره ریموت نمایش داده میشود. این دکمه مطابق تصویر زیر، چیزی شبیه به ترکیب علامتهای بزرگتر و کوچکتر است.
اگر روی این دکمه کلیک کنید، یک جعبه پیام در بالای صفحه نمایش داده خواهد شد. از لیست، گزینه “Remote-SSH: Open Configuration File…” را انتخاب کنید.
پیام بعدی از شما فایل تنظیمات را میخواهد. اگر در سیستمعامل ویندوز هستید، دو موقعیت را مشاهده میکنید. یکی در دایرکتوری شخصی کاربر و دیگری موقعیت نصب SSH. در هنگام تنظیم سرور باید از فایل درون دایرکتوری کاربر استفاده کنید.
وقتی فایل را انتخاب کنید، ویرایشگر شما فایل تنظیما را باز میکند. برای تعریف ارتباط با سرور، کد زیر را به فایل اضافه کنید. درنظر داشته باشید که آدرسها و کاربری را مطابق با سیستم خودتان وارد کنید.
Host my_remote_server HostName your_server_ip_or_hostname User sammy IdentityFile /location/of/your/private/key
عملکرد این فایل تنظیمات به صورت زیر خواهد بود:
Host: این متغیر عنوان هاست شما را مشخص میکند. شما میتوانید به جای آدرس کامل IP یا هاست، از یک مخفف و یا نام کوتاه برای اتصال به سرور استفاده کنید.
HostName: عنوان اصلی هاست سرور که میتواند یک آدرس IP یا نام کامل دامین باشد.
User: کاربری که میخواهید برای اتصال از آن استفاده کنید.
IdentityFile: مسیر کلید اختصاصی SSH. در سیستمهای مکینتاش و لینوکس، این آدرس را در دایرکتوری خانگی، در یک دایرکتوری مخفی .ssh، معمولاً با نام id_rsa پیدا میکنید. اگر در ویندوز باشید، یک جای مشخص برای ذخیره این فایل دارید.
در هر صورت، مقادیر مناسب را در فایل وارد کرده و آن را ذخیره کنید.
ویژوال استودیو کد هماکنون تنظیم شده و آماده اتصال به سرور است. روی دکمه سبز رنگ برای ایجاد پنجره ریموت کلیک کنید و گزینه “Remote-SSH: Connect to Host…” را انتخاب کنید.
به دنبال این کار، تمام سرورهای در دسترس و تنظیمشده در منوی بازشونده ظاهر میشوند. از این لیست، سروری را که میخواهید به آن متصل شوید، انتخاب کنید.
اگر برای اولین بار است که از طریق سیستم خود به این سرور وصل میشوید، احتمالاً مطابق تصویر زیر با پیغام تأیید SSH Fingerprint روبرو میشوید.
این برای کسب اطمینان از اتصال به سرور موردنظر است. چنین کاری میتواند با ورود دستی به سرور و اجرای فرمان ssh-keygen -l -f /etc/ssh/ssh_host_key.pub صورت گیرد. در این صورت فینگرپرینت سرور را مشاهده خواهید کرد. اگر این فینگرپرینت همان چیزی باشد که در ویژوال استودیو کد نمایش داده میشود، سرور مورد تأیید بوده و باید گزینه “Continue” را بزنید.
پیشفرض ویژوال استودیو کد بر این است که در هنگام یک اتصال جدید، یک پنجره جدید باز میکند. در این حالت، یک پنجره جدید با صفحه خوشامدگویی ظاهر میشود. اگر پیغام SSH: your_ip_address_or_hostname را در جعبه سبزرنگ در پایین سمت چپ مشاهده میکنید، یعنی اتصال موفق بوده است.
حالا که اتصال برقرار شده، میتوانید از طریق برنامه ویرایشگرتان فرمانها و کدها را اجرا نمایید.
گام ۳) اجرای کد در سرور ریموت
پلاگین Remote-SSH تنظیم شده و وقت آن است که برخی کدها را در سیستم ریموت اجرا کنیم. برای این منظور، پنجره ترمینال را با انتخاب گزینه Terminal در بالای پنجره ویژوال استودیو باز کنید. در این حالت، باید گزینه “New Terminal” را بزنید. همچنین باز کردن یک ترمینال با استفاده از کلیدهای میانبر CTRL+Shift+` ممکن خواهد بود. ترمینالی که در این حالت باز میشود، مربوط به سرور ریموت شما خواهد بود.
وقتی ترمینال باز شد، با استفاده از فرمان زیر، آدرس IP وصلشده خود را به سرور ریموت بررسی کنید.
ip addr
احتمالاً چنین نتیجهای را مشاهده خواهید کرد
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 16:cb:05:5b:30:f1 brd ff:ff:ff:ff:ff:ff inet your_server_ip brd your_broadcast_address scope global eth0 valid_lft forever preferred_lft forever ...
برای بررسی توانایی اجرا کد به صورت ریموت، یک فایل پایتون جدید با نام hello.py ایجاد میکنیم. وقتی به سرور ریموت خود متصل هستید، تمام فایلهایی که از طریق ویژوال استودیو کد ساخته میشوند، در سرور ذخیره خواهند شد.
خط زیر را به فایل اضافه کنید.
print(“Hello Sammy!”)
برای اجرای این برنامه بر روی سرور، یک ترمینال در ویژوال استودیو کد باز کنید. برای این منظور میتوانید از نوار ابزار یا کلیدهای میانبر استفاده نمایید. از آنجاییکه این ترمینال به سرور ریموت شما مرتبط است، میتوانید از فرمان زیر برای اجرای برنامه hello.py استفاده نمایید.
python3 hello.py
در نتیجه، خروجی برنامه به نمایش درخواهد آمد.
همچنین امکان اجرای فایل از منوی Debug و با انتخاب گزینه Run without Debugging وجود خواهد داشت.
نکته: اگر هرگونه افزونه توسعهدهنده در ویژوال استودیو کد نصب کرده باشید، از جمله Python، باید این افزونهها را دوباره از طریق Extension Marketplace برای سرورتان نصب کنید. در این حالت، هنگام جستجوی آنها با پیغام “Install on SSH: hostname” روبرو خواهید شد. همیشه به زمینه توسعهای که در آن هستید، توجه داشته باشید. چون این همان موقعیتی است که ویژوال استودیو کد پلاگینهای شما را نصب میکند و فایلهای شما را میسازد. اگر میخواهید کد خود را بدون نصب این پلاگینها اجرا کنید، با پیغام هشدار مبنی بر نصب آنها در پایین صفحه روبرو خواهید شد. بعد از نصب اینها احتمالاً از شما خواسته میشود که دوباره ویژوال استودیو را بارگذاری کنید. وقتی دوباره آن را راهاندازی کردید، بدون آن که نیاز به اتصال دستی دوباره باشد، بر روی سرور ریموت کار خواهد کرد.
جمعبندی
اکنون ویژوال استودیو کد را برای توسعه بر روی یک سرور ریموت با استفاده از SSH تنظیم کردهاید. اجرای ریموت با استفاده از یک IDE میتواند فواید زیادی را به همراه داشته باشد. از جمله قابلیت تست سریع اجرای کدها در سیستمعاملها و سختافزارهای مختلف. تا زمانی که اینترنت داشته باشید، میتوانید به سرورتان متصل باشید و از هر کامپیوتری بر روی کدتان کار کنید. حتی اگر از ویندوز به عنوان سیستمعامل اصلی استفاده میکنید، میتوانید با محیط لینوکس به توسعه خود ادامه دهید.