فاز 0 · درس 8

آموزش تنظیم ادیتور VS Code برای مهندسی هوش مصنوعی

نوع
ساختنی
زمان
حدود 20 دقیقه
زبان‌ها
--
میز کار مینیمال برنامه‌نویسی با یک لپ‌تاپ روشن که محیط ادیتور کد و پنجره ترمینال را در کنار یک سرور شبکه نمایش می‌دهد
فهرست مطالب
  1. اهداف یادگیری
  2. صورت مسئله
  3. مفهوم اصلی
  4. پیاده‌سازی گام‌به‌گام
  5. گام 1: نصب VS Code
  6. گام 2: نصب افزونه‌های ضروری
  7. گام 3: پیکربندی تنظیمات
  8. گام 4: یکپارچه‌سازی با ترمینال
  9. گام 5: توسعه روی سرور راه‌دور (اتصال SSH به سیستم‌های GPU)
  10. گزینه‌های جایگزین
  11. ادیتور Cursor
  12. ادیتور Windsurf
  13. ادیتورهای Vim و Neovim
  14. استفاده‌ی عملی
  15. تمرین‌ها
  16. راهنمایی‌ها
  17. اصطلاحات کلیدی

بخش بزرگی از زمان توسعه‌دهندگان هوش مصنوعی داخل ادیتور می‌گذرد؛ جایی که کدهای پایتون را می‌نویسید، نوت‌بوک‌ها را بررسی می‌کنید و برای اجرای مدل‌ها به سرورهای مختلف متصل می‌شوید. اگر ادیتور شما به‌درستی تنظیم نشده باشد، هر روز دقایق زیادی را صرف خطایابی دستی، فرمت کردن کد و حل مشکلات اتصال خواهید کرد.

این درس به شما کمک می‌کند ادیتور خود را طوری پیکربندی کنید که تمام امکانات حیاتی مثل تکمیل خودکار، اعتبارسنجی انواع داده‌ها و فرمت خودکار هنگام ذخیره در اختیارتان باشد. همچنین یاد می‌گیرید چگونه با استفاده از افزونه‌ی Remote SSH به‌سادگی به سرورهای راه‌دور مجهز به GPU وصل شوید و بدون احساس تفاوت با سیستم محلی، پروژه‌های خود را پیش ببرید.

ادیتور شما حکم کمک‌خلبانتان را دارد. فقط یک بار آن را درست تنظیم کنید تا دیگر جلوی دست‌وپایتان را نگیرد و واقعاً باری از دوشتان بردارد.

اهداف یادگیری

  • نصب VS Code به‌همراه افزونه‌های ضروری برای Python، Jupyter، تحلیل کد (linting) و مخزن راه‌دور (Remote SSH)
  • تنظیم فرمت خودکار هنگام ذخیره (format-on-save)، بررسی نوع‌ها (type checking) و اسکرول خروجی نوت‌بوک برای جریان‌های کاری هوش مصنوعی
  • راه‌اندازی Remote SSH برای ویرایش و دیباگ کد روی ماشین‌های GPU راه‌دور، درست مثل یک محیط محلی
  • ارزیابی گزینه‌های جایگزین ادیتور (Cursor، Windsurf، Neovim) و مقایسه‌ی مزایا و معایب هرکدام برای پروژه‌های هوش مصنوعی

صورت مسئله

شما هزاران ساعت از وقت خود را داخل ادیتور می‌گذرانید: کد پایتون می‌نویسید، نوت‌بوک اجرا می‌کنید، حلقه‌های آموزش مدل را دیباگ می‌کنید و از طریق SSH به سرورهای مجهز به GPU وصل می‌شوید. ادیتوری که درست پیکربندی نشده باشد، تک‌تک این جلسات کاری را به اصطکاک و عذاب تبدیل می‌کند: خبری از تکمیل خودکار نیست، راهنمای نوع داده (type hints) وجود ندارد، خطاهای درون‌خطی دیده نمی‌شوند، فرمت‌بندی را باید دستی انجام دهید و کار با ترمینال هم کند و خسته‌کننده پیش می‌رود.

راه‌اندازی اصولی ادیتور کلاً 20 دقیقه زمان می‌برد. پشت گوش انداختن آن، روزی 20 دقیقه از وقتتان را هدر می‌دهد.

مفهوم اصلی

محیط ادیتور برای مهندسی هوش مصنوعی به پنج بخش اساسی نیاز دارد:

5. توسعه راه‌دوراتصال SSH به سیستم‌های GPU وماشین‌های ابری4. ادغام ترمینالاجرای اسکریپت‌ها، اشکال‌زدایی، پایش GPU3. تنظیمات ویژه هوش مصنوعیقالب‌بندی خودکار، بررسی نوع، خط‌کش‌ها2. افزونه‌هاPython, Jupyter, Pylance, GitLens1. ویرایشگر پایهVS Code — رایگان، توسعه‌پذیر، همگانی
رفت‌وبرگشت در LSPهر خط چین‌دار یک رفت‌وبرگشت درخواست و پاسخ است، نه جادوی ویرایشگر
LSP ROUND TRIPThe editor does not understand Python; the language server does. Each edit ships a didChange notification across the wire, the server re-checks the file, and diagnostics come back to be drawn as squiggles and hovers. Install the Python and Pylance extensions and this loop runs on every keystroke; skip them and the editor is a text box.editormodel.fit(X, ypyrightسرور زبانdidChangediagnostics")" بسته نشد
ویرایشگر زبان Python را نمی‌فهمد؛ سرور زبان است که آن را درک می‌کند. با هر ویرایش یک اعلان didChange روی بستر ارتباطی ارسال می‌شود، سرور فایل را مجدداً بررسی می‌کند، و خطایابی‌ها برای نمایش خطوط چین‌دار و پنجره‌های راهنما بازمی‌گردند. افزونه‌های Python و Pylance را نصب کنید تا این چرخه با هر کلید اجرا شود؛ در غیر این صورت ویرایشگر فقط یک جعبه‌ی متنی ساده است.

پیاده‌سازی گام‌به‌گام

گام 1: نصب VS Code

ادیتور پیشنهادی ما VS Code است. این نرم‌افزار رایگان است، روی همه‌ی سیستم‌عامل‌ها اجرا می‌شود، پشتیبانی درجه‌یکی از نوت‌بوک‌های Jupyter دارد و اکوسیستم افزونه‌های آن تمام نیازهای شما در حوزه‌ی هوش مصنوعی را برطرف می‌کند.

آن را از آدرس code.visualstudio.com دانلود کنید.

برای اطمینان از نصب، ترمینال را باز کنید و این دستور را بزنید:

code --version

اگر روی macOS دستور code پیدا نشد، وارد VS Code شوید، کلیدهای Cmd+Shift+P را بزنید، عبارت «Shell Command» را جستجو کنید و گزینه‌ی «Install 'code' command in PATH» را انتخاب کنید.

گام 2: نصب افزونه‌های ضروری

ترمینال داخلی VS Code را باز کنید (کلید میان‌بر Ctrl+` در همه‌ی سیستم‌عامل‌ها) و افزونه‌های مهم و کاربردی هوش مصنوعی را نصب کنید:

code --install-extension ms-python.python
code --install-extension ms-python.vscode-pylance
code --install-extension ms-toolsai.jupyter
code --install-extension eamodio.gitlens
code --install-extension ms-vscode-remote.remote-ssh
code --install-extension ms-python.debugpy
code --install-extension ms-python.black-formatter
code --install-extension charliermarsh.ruff

کاربرد هر افزونه:

افزونه دلیل استفاده
Python پشتیبانی از زبان، شناسایی محیط‌های مجازی (virtual env)، اجرا و دیباگ
Pylance بررسی سریع نوع‌ها، تکمیل خودکار کد، شناسایی مسیر ماژول‌ها
Jupyter اجرای نوت‌بوک‌ها داخل VS Code و پنل نمایش متغیرها
GitLens نمایش تغییرات و افراد نویسنده‌ی هر خط (inline git blame)
Remote SSH باز کردن پوشه‌های سرور GPU راه‌دور درست مثل یک پروژه‌ی محلی
Debugpy دیباگ گام‌به‌گام کدهای پایتون
Black Formatter فرمت خودکار کد هنگام ذخیره و یکدست‌سازی استایل
Ruff لینتر فوق‌سریع و شناسایی خطاهای رایج کد

فایل code/vscode/extensions.json در این درس، فهرست کامل این پیشنهادها را دارد. کافی است آن را در مسیر .vscode/extensions.json داخل پوشه‌ی پروژه‌تان کپی کنید؛ به‌محض باز کردن پوشه، خود VS Code پیشنهاد نصب آن‌ها را به شما می‌دهد.

گام 3: پیکربندی تنظیمات

تنظیمات فایل code/vscode/settings.json در این درس را کپی کنید یا آن‌ها را به‌صورت دستی از طریق مسیر Settings > Open Settings (JSON) اعمال کنید.

کلیدی‌ترین تنظیمات برای پروژه‌های هوش مصنوعی:

{
    "python.analysis.typeCheckingMode": "basic",
    "editor.formatOnSave": true,
    "editor.rulers": [88, 120],
    "notebook.output.scrolling": true,
    "files.autoSave": "afterDelay"
}

چرا این تنظیمات مهم هستند:

  • تنظیم Type checking روی basic: پیش از اجرای کد، نوع آرگومان‌های اشتباه را تشخیص می‌دهد. با این کار، زمان عیب‌یابی ناهماهنگی ابعاد تنسور (tensor shape mismatches) و پارامترهای نادرست API به حداقل می‌رسد.
  • فرمت خودکار موقع ذخیره (Format on save): دیگر لازم نیست نگران مرتب بودن کد باشید؛ Black همه‌چیز را مدیریت می‌کند.
  • خط‌کش‌های راهنما در ستون 88 و 120: ابزار Black خطوط را در ستون 88 می‌شکند. خط‌کش 120 هم نشان می‌دهد کامنت‌ها و داک‌استرینگ‌ها بیش از حد طولانی شده‌اند.
  • اسکرول خروجی نوت‌بوک: حلقه‌های آموزش مدل هزاران خط خروجی چاپ می‌کنند. اگر اسکرول فعال نباشد، پنل خروجی منفجر می‌شود و کل صفحه را پر می‌کند.
  • ذخیره‌ی خودکار (Auto-save): فراموش کردن ذخیره‌ی فایل دست‌کم یک بار برایتان پیش می‌آید و اسکریپت آموزش مدل با کد قدیمی اجرا خواهد شد. این قابلیت جلوی چنین مشکلی را می‌گیرد.

گام 4: یکپارچه‌سازی با ترمینال

ترمینال داخلی VS Code همان جایی است که اسکریپت‌های آموزش را اجرا می‌کنید، وضعیت پردازنده‌های گرافیکی را زیر نظر می‌گیرید و محیط‌های مجازی را مدیریت می‌کنید.

آن را به‌درستی تنظیم کنید:

{
    "terminal.integrated.defaultProfile.osx": "zsh",
    "terminal.integrated.defaultProfile.linux": "bash",
    "terminal.integrated.fontSize": 13,
    "terminal.integrated.scrollback": 10000
}

کلیدهای میان‌بر کاربردی:

عملکرد macOS لینوکس / ویندوز
باز و بسته کردن ترمینال Ctrl+` Ctrl+`
ساخت ترمینال جدید Ctrl+Shift+` Ctrl+Shift+`
دو نیم کردن ترمینال (Split) Cmd+\ Ctrl+Shift+5

دو نیم کردن ترمینال بسیار کاربردی است: در یک بخش اسکریپت را اجرا می‌کنید و در بخش دیگر با دستور nvidia-smi -l 1 یا watch -n 1 nvidia-smi وضعیت کارت گرافیک را رصد می‌کنید.

گام 5: توسعه روی سرور راه‌دور (اتصال SSH به سیستم‌های GPU)

این مورد، مهم‌ترین افزونه برای کارهای هوش مصنوعی است. شما فرآیند آموزش مدل را روی سرورهای راه‌دور (ماشین‌های ابری، سرورهای آزمایشگاهی، Lambda یا Vast.ai) اجرا خواهید کرد. افزونه‌ی Remote SSH به شما اجازه می‌دهد فایل‌سیستم سرور را باز کنید، فایل‌ها را ویرایش کنید، ترمینال اجرا کنید و کدها را طوری دیباگ کنید که گویی همه‌چیز روی سیستم محلی خودتان است.

مراحل راه‌اندازی:

  1. افزونه‌ی Remote SSH را نصب کنید (در گام 2 انجام شد).
  2. کلیدهای Ctrl+Shift+P (یا Cmd+Shift+P در مک) را فشار دهید و عبارت «Remote-SSH: Connect to Host» را بنویسید.
  3. مقدار user@your-gpu-box-ip را وارد کنید.
  4. نرم‌افزار VS Code مؤلفه‌ی سرور خود را به‌طور خودکار روی ماشین مقصد نصب می‌کند.

برای اتصال بدون رمز عبور، کلیدهای SSH را بسازید:

ssh-keygen -t ed25519 -C "your-email@example.com"
ssh-copy-id user@your-gpu-box-ip

برای راحتی بیشتر، مشخصات سرور را به فایل ~/.ssh/config اضافه کنید:

Host gpu-box
    HostName 203.0.113.50
    User ubuntu
    IdentityFile ~/.ssh/id_ed25519
    ForwardAgent yes

حالا کافی است مسیر Remote-SSH: Connect to Host > gpu-box را انتخاب کنید تا اتصال بلافاصله برقرار شود.

گزینه‌های جایگزین

ادیتور Cursor

سایت cursor.com یک fork از VS Code است که امکانات تولید کد بر پایه‌ی هوش مصنوعی را در دل خود دارد. این ادیتور از همان اکوسیستم افزونه‌ها و قالب تنظیمات استفاده می‌کند. اگر با Cursor کار می‌کنید، تمام نکات این درس برای شما هم صدق می‌کند؛ فقط کافی است همان فایل‌های settings.json و extensions.json را وارد آن کنید.

ادیتور Windsurf

سایت windsurf.com هم یکی دیگر از مشتقات VS Code مبتنی بر هوش مصنوعی است. وضعیت در اینجا هم تفاوتی ندارد: همان افزونه‌ها، همان فرمت تنظیمات و پشتیبانی کامل از Remote SSH.

ادیتورهای Vim و Neovim

اگر همین حالا هم از Vim یا Neovim استفاده می‌کنید و سرعت عمل بالایی در آن دارید، در همان محیط بمانید. حداقل ابزارهای لازم برای کدنویسی پایتون در هوش مصنوعی این‌ها هستند:

  • pyright یا pylsp برای بررسی نوع داده (از طریق Mason یا نصب دستی)
  • nvim-lspconfig برای یکپارچه‌سازی سرور زبان (Language Server)
  • jupyter-vim یا molten-nvim برای اجرای کدهایی شبیه به نوت‌بوک
  • telescope.nvim برای جستجوی فایل و سیمبل
  • none-ls.nvim همراه با black و ruff برای فرمت‌بندی و linting

اگر تا امروز با Vim کار نکرده‌اید، اصلاً الان وقت شروع آن نیست. منحنی یادگیری تند آن، مانع یادگیری مهندسی هوش مصنوعی خواهد شد. از VS Code استفاده کنید.

استفاده‌ی عملی

با پیاده‌سازی این تنظیمات، روند کاری روزانه‌ی شما این‌گونه خواهد بود:

  1. پوشه‌ی پروژه را در VS Code باز می‌کنید (یا از طریق Remote SSH به سرور GPU وصل می‌شوید).
  2. با دسترسی به تکمیل خودکار، راهنمای نوع داده و خطاهای درون‌خطی، کد پایتون می‌نویسید.
  3. نوت‌بوک‌های Jupyter را مستقیماً به‌صورت درون‌خطی با افزونه‌ی Jupyter اجرا می‌کنید.
  4. از ترمینال داخلی برای اجرای اسکریپت‌های آموزش، نصب بسته‌ها با uv pip install و نظارت بر GPU استفاده می‌کنید.
  5. پیش از commit کردن، تغییرات را با GitLens بررسی می‌کنید.

تمرین‌ها

  1. برنامه‌ی VS Code و تمام افزونه‌های ذکرشده در گام 2 را نصب کنید.
  2. فایل settings.json این درس را داخل تنظیمات VS Code خود کپی کنید.
  3. یک فایل پایتون را باز کنید و ببینید که آیا Pylance نوع‌ها را نشان می‌دهد و Black هنگام ذخیره، کد را فرمت می‌کند یا خیر.
  4. اگر به یک ماشین راه‌دور دسترسی دارید، Remote SSH را راه‌اندازی کرده و یک پوشه را روی آن باز کنید.

راهنمایی‌ها

تمرین 1. افزونه‌ها را از جدول گام 2 نصب کنید یا شناسه‌ی هر کدام را از فایل code/vscode/extensions.json بردارید و با دستور code --install-extension <id> نصب کنید. سپس دستور code --list-extensions را اجرا کرده و شناسه‌ها را با فایل مطابقت دهید.

تمرین 2. مسیر Settings > Open Settings (JSON) را باز کنید و محتوای code/vscode/settings.json را در آن قرار دهید. اگر فایل از قبل تنظیماتی دارد، کلیدها را با هم merge کنید طوری که ساختار JSON معتبر بماند؛ VS Code زیر فایل نامعتبر خط قرمز می‌کشد.

تمرین 3. تابعی با یادداشت نوع داده (type annotation) بنویسید، سپس نشانگر را روی فراخوانی آن نگه دارید؛ Pylance باید نوع استخراج‌شده را نشان دهد. در یک خط فاصله‌های اضافی بگذارید و فایل را ذخیره کنید؛ Black باید هنگام ذخیره، آن خط را بازآرایی کند.

تمرین 4. ابتدا مشخصات سرور را در ~/.ssh/config ثبت کنید و مطمئن شوید که دستور ssh <host> در ترمینال بدون مشکل اجرا می‌شود. سپس از دستور Remote SSH برای اتصال استفاده کنید؛ وقتی VS Code روی ماشین راه‌دور اجرا شود، نام هاست روی نوار وضعیت نمایش داده می‌شود.

اصطلاحات کلیدی

اصطلاح در گفت‌وگوهای عامیانه معنای دقیق فنی
LSP «موتور تکمیل خودکار» Language Server Protocol: استانداردی ارتباطی تا ادیتور بتواند اطلاعات نوع داده، تکمیل خودکار و خطایابی را از یک سرور اختصاصیِ آن زبان دریافت کند.
Pylance «پلاگین پایتون» سرور زبان پایتون اختصاصی مایکروسافت که از Pyright برای بررسی نوع داده و IntelliSense استفاده می‌کند.
Remote SSH «کار روی سرور» افزونه‌ی VS Code که یک سرور سبک روی ماشین راه‌دور اجرا می‌کند و رابط کاربری را روی ادیتور محلی شما بازتاب می‌دهد.
Format on save «پریتی‌یر خودکار» ادیتور با هر بار ذخیره‌سازی، یک فرمت‌کننده (مانند Black یا Ruff) را اجرا می‌کند تا استایل کد همیشه یکدست بماند.

خودآزمایی

به سؤال‌ها جواب بدهید تا ببینید چقدر از درس در ذهنتان مانده است.

  1. پیش از درسپروتکل سرور زبان (LSP) چیست؟
  2. پیش از درسچرا قابلیت format-on-save برای پروژه‌های تیمی مفید است؟
  3. پس از درسکدام افزونه‌ی VS Code امکان ویرایش کد روی یک ماشین دارای GPU از راه دور را درست مانند سیستم محلی فراهم می‌کند؟
  4. پس از درسچرا باید گزینه‌ی «notebook.output.scrolling» در تنظیمات VS Code برای کارهای هوش مصنوعی فعال باشد؟
  5. پس از درستنظیم «python.analysis.typeCheckingMode» روی مقدار «basic» در VS Code چه کاری انجام می‌دهد؟

سؤالات متداول

بهترین ادیتور برای مهندسی هوش مصنوعی کدام است؟

ادیتور VS Code به‌دلیل پشتیبانی عالی از نوت‌بوک‌های Jupyter، اکوسیستم غنی افزونه‌ها و قابلیت اتصال بی‌دردسر به سرورهای راه‌دور با Remote SSH بهترین و استانداردترین گزینه است.

چرا فعال‌سازی Type Checking در پروژه‌های یادگیری ماشین مهم است؟

تنظیم بررسی نوع داده روی basic به شما کمک می‌کند خطاهای مربوط به عدم تطابق ابعاد تنسورها و ارسال آرگومان‌های اشتباه به توابع را پیش از اجرای اسکریپت شناسایی کنید.

چگونه با VS Code به سرور GPU خارجی وصل شویم؟

با نصب افزونه‌ی Remote SSH و تعریف کلیدهای احراز هویت در فایل ssh/config~، می‌توانید فایل‌ها و ترمینال سرور را مستقیماً داخل ادیتور محلی خود باز و مدیریت کنید.

ما رو توی گوگل بیشتر ببین

با افزودن نکست ادمین به «منابع ترجیحی» گوگل، درس‌ها و مطالب ما را در بخش اخبار برتر جستجو بیشتر می‌بینید.