افزونهٔ ویرایشگر

وصل کردن یک نشست AiraCode به VS Code و ویرایشگرهای سازگار.

افزونهٔ ویرایشگر یک نشست AiraCode روی همین ماشین رو به پنجرهٔ ویرایشگرت وصل می‌کنه. بعدش CLI می‌تونه فایلی که داره درباره‌ش حرف می‌زنه رو باز کنه، همون خطاها و هشدارهایی که خودت می‌بینی رو بخونه، و — مهم‌تر از همه — هر ویرایشی که می‌خواد انجام بده رو به‌شکل یک diff نشونت بده که خودت قبول یا ردش می‌کنی، به‌جای اینکه فایل‌ها رو بنویسه و بعد بگه git diff بزن.

پیش‌نیازها

  • VS Code نسخهٔ ۱٫۸۵ یا بالاتر — یا یک ویرایشگر سازگار مثل Cursor یا Windsurf.
  • AiraCode نصب‌شده روی همین ماشین.

نصب

افزونه همراه خود AiraCode می‌آد، پس بذار CLI نصبش کنه. VS Code، Cursor و Windsurf رو روی PATH پیدا می‌کنه و توی هرکدوم که باشه نصب می‌کنه:

aira extensions install ide

# چی نصبه و کجا:
aira extensions status

وقتی AiraCode رو داخل ترمینالِ ویرایشگر اجرا کنی هم خودش پیشنهاد نصب می‌ده؛ این دستور همون کار رو صریح انجام می‌ده و منتظر پیشنهاد نمی‌مونه.

یا دستی، با دانلود مستقیم فایل افزونه:

curl -fsSLO https://airacode.ir/download/airacode-vscode.vsix
code --install-extension airacode-vscode.vsix

اگه از Cursor یا Windsurf استفاده می‌کنی، به‌جای code از cursor یا windsurf استفاده کن. توی خود ویرایشگر هم می‌تونی از پنل Extensions، منوی ... ‌، گزینهٔ Install from VSIX… رو بزنی.

بعد از نصب، پنجرهٔ ویرایشگر رو یک‌بار ببند و باز کن. توی نوار وضعیت پایین باید AiraCode رو ببینی.

چه‌کار می‌کنه

ویرایش‌های قابل بازبینی

هر تغییری که AiraCode پیشنهاد می‌ده به‌شکل diff باز می‌شه. سمت راست قابل ویرایشه: می‌تونی قبل از قبول کردن، کار مدل رو خودت اصلاح کنی و همون نسخهٔ تو اعمال می‌شه، نه نسخهٔ مدل.

  • ⌘S (یا دکمهٔ Accept) — قبول.
  • بستن تب یا دکمهٔ Reject — رد.

خطاهای زبان

CLI همون خطاها و هشدارهایی رو می‌خونه که خودت توی ویرایشگر می‌بینی، قبل و بعد از هر ویرایش — پس می‌تونه بفهمه واقعاً مشکل رو حل کرده یا نه.

انتخاب و ارجاع

انتخاب فعلی‌ت همراه پرامپت بعدی می‌ره. با ⌥⌘K (روی ویندوز و لینوکس Alt+Ctrl+K) می‌تونی خط‌های انتخاب‌شده رو صراحتاً بفرستی.

فرمان‌ها و تنظیمات

  • AiraCode: Show Bridge Status — پورت، نشست‌های وصل‌شده و مسیر lockfile.
  • AiraCode: Send Selection to AiraCode
  • AiraCode: Restart Bridge
  • airacode.bridge.enabled — بدون حذف افزونه، این پنجره رو از دسترس نشست‌ها خارج می‌کنه.
  • airacode.statusBar.enabled — مخفی کردن نشانگر نوار وضعیت.

چطور وصل می‌شه

افزونه روی یک پورت آزاد فقط روی 127.0.0.1 گوش می‌ده و یک فایل <port>.lock توی ~/.aira/ide/ می‌نویسه. CLI همون پوشه رو نگاه می‌کنه، پنجره‌ای رو انتخاب می‌کنه که پوشهٔ کاری‌ش شامل مسیر فعلی ترمینال باشه، و با توکن داخل همون فایل وصل می‌شه.

سوکت فقط loopback ـه و lockfile با دسترسی 0600 نوشته می‌شه: پلی که می‌تونه فایل بنویسه، کاری از بیرون این ماشین نداره. هیچ درخواست شبکه‌ای از خود افزونه بیرون نمی‌ره.

هر پنجره پل خودش رو داره. اگه چند پنجره هم‌زمان بخورن، CLI اونی رو ترجیح می‌ده که lockfile ـش تازه‌تره — معمولاً همونی که واقعاً توش کار می‌کنی.

رفع اشکال

  1. نوار وضعیت چیزی نشون نمی‌ده؟ افزونه نصب نشده یا فعال نشده. با AiraCode: Show Bridge Status لاگ رو ببین.
  2. CLI وصل نمی‌شه؟ مطمئن شو ترمینالت داخل همون پوشه‌ایه که ویرایشگر باز کرده — CLI فقط به پنجره‌ای وصل می‌شه که مسیر فعلی داخل پوشه‌های کاری‌ش باشه. بعد ls ~/.aira/ide/ رو چک کن؛ باید یک فایل .lock ببینی.
  3. اگه AIRA_CONFIG_DIR رو ست کرده باشی، lockfile زیر همون مسیره نه ~/.aira. هر دو طرف باید یک مقدار رو ببینن.
  4. diff باز می‌شه ولی چیزی اعمال نمی‌شه؟ بستن تب یعنی «رد». برای قبول⌘S بزن یا دکمهٔ Accept بالای همون تب.