رفتن به محتوا

استفاده از Claude Code در VS Code

ویرایشگر VS Code با پنل افزونه‌ی Claude Code که در سمت راست باز است و گفت‌وگویی با Claude را نشان می‌دهد

افزونه‌ی VS Code یک رابطِ گرافیکیِ بومی برای Claude Code فراهم می‌کند که مستقیماً در IDE تو یکپارچه شده است. این روشِ پیشنهادی برای استفاده از Claude Code در VS Code است.

با این افزونه می‌توانی پیش از پذیرشِ برنامه‌های Claude آن‌ها را بازبینی و ویرایش کنی، ویرایش‌ها را همان‌طور که انجام می‌شوند به‌صورت خودکار بپذیری، فایل‌ها را همراه با بازه‌ی خطوطِ مشخص از انتخابِ خودت با @ منشن کنی، به تاریخچه‌ی گفت‌وگوها دسترسی داشته باشی، و چند گفت‌وگو را در تب‌ها یا پنجره‌های جداگانه باز کنی.

پیش از نصب، مطمئن شو این‌ها را داری:

  • VS Code نسخه‌ی 1.98.0 یا بالاتر
  • یک حساب Anthropic: هر اشتراکِ پولیِ Claude (Pro, Max, Team یا Enterprise) یا یک حساب Claude Console کار می‌کند و هیچ API key لازم نیست. هنگامِ اولین باز کردنِ افزونه با همین حساب وارد می‌شوی. اگر از طریقِ یک ارائه‌دهنده‌ی شخصِ ثالث مثل Amazon Bedrock یا Google Vertex AI به Claude دسترسی داری، برای دستورالعملِ راه‌اندازی به استفاده از ارائه‌دهنده‌های شخصِ ثالث نگاه کن.

برای نصبِ مستقیم، روی لینکِ IDE خودت کلیک کن:

یا در VS Code، Cmd+Shift+X (مک) یا Ctrl+Shift+X (ویندوز/لینوکس) را بزن تا نمای Extensions باز شود، عبارتِ “Claude Code” را جست‌وجو کن و روی Install کلیک کن.

این افزونه روی دیگر فورک‌های VS Code مثل Devin Desktop یا Kiro هم نصب می‌شود. در نمای Extensions ویرایشگر عبارتِ “Claude Code” را جست‌وجو کن، یا از رجیستریِ Open VSX نصبش کن. اگر ویرایشگرت نمی‌تواند افزونه را نصب کند، CLI را نصب کن و به‌جایش claude را در ترمینالِ یکپارچه‌ی آن اجرا کن. CLI در هر ترمینالی کار می‌کند.

پس از نصب، می‌توانی استفاده از Claude Code را از طریقِ رابطِ VS Code شروع کنی:

پنلِ Claude Code را باز کن

در سراسرِ VS Code، آیکنِ Spark نشان‌دهنده‌ی Claude Code است: آیکن Spark

سریع‌ترین راه برای باز کردنِ Claude کلیک روی آیکنِ Spark در نوارابزارِ ویرایشگر (گوشه‌ی بالا-راستِ ویرایشگر) است. این آیکن فقط وقتی پیدا می‌شود که فایلی باز داشته باشی.

ویرایشگر VS Code که آیکن Spark را در نوارابزار ویرایشگر نشان می‌دهد

راه‌های دیگر برای باز کردنِ Claude Code:

  • Activity Bar: روی آیکنِ Spark در نوارِ کناریِ چپ کلیک کن تا فهرستِ نشست‌ها باز شود. روی هر نشست کلیک کن تا به‌عنوانِ یک تبِ کاملِ ویرایشگر باز شود، یا یک نشستِ تازه شروع کن. این آیکن همیشه در Activity Bar پیداست.
  • Command Palette: Cmd+Shift+P (مک) یا Ctrl+Shift+P (ویندوز/لینوکس)، عبارتِ “Claude Code” را تایپ کن و گزینه‌ای مثل “Open in New Tab” را انتخاب کن.
  • Status Bar: روی ✱ Claude Code در گوشه‌ی پایین-راستِ پنجره کلیک کن. این حتی وقتی هیچ فایلی باز نیست هم کار می‌کند.

می‌توانی پنلِ Claude را بکشی و هر جای VS Code جابه‌جایش کنی. برای جزئیات به ورک‌فلوی خودت را سفارشی کن نگاه کن.

وارد شو

اولین باری که پنل را باز می‌کنی، صفحه‌ی ورود ظاهر می‌شود. روی Sign in کلیک کن و فرآیندِ مجوزدهی را در مرورگرت کامل کن.

اگر بعداً پیامِ Not logged in · Please run /login را دیدی، افزونه به‌صورت خودکار صفحه‌ی ورود را دوباره باز می‌کند. اگر باز نشد، با Developer: Reload Window از Command Palette پنجره را دوباره بارگذاری کن.

اگر ANTHROPIC_API_KEY را در شل خود تنظیم کرده‌ای ولی همچنان پیامِ ورود را می‌بینی، شاید VS Code محیطِ شلِ تو را به ارث نبرده باشد. VS Code را از یک ترمینال با code . اجرا کن تا متغیرهای محیطی‌ات را به ارث ببرد، یا به‌جایش با حساب Claude خود وارد شو.

پس از ورود، یک چک‌لیستِ Learn Claude Code ظاهر می‌شود. هر مورد را با کلیک روی Show me پیش ببر، یا با X رهایش کن. برای باز کردنِ دوباره‌ی آن، تیکِ Hide Onboarding را در تنظیماتِ VS Code زیرِ Extensions → Claude Code بردار.

یک پرامپت بفرست

از Claude بخواه با کد یا فایل‌هایت کمک کند، چه توضیحِ کارکردِ چیزی باشد، چه عیب‌یابیِ یک مشکل، چه اعمالِ تغییرات.

این یک نمونه از پرسیدن درباره‌ی یک خطِ خاص در یک فایل است:

ویرایشگر VS Code با خطوط ۲ تا ۳ که در یک فایل Python انتخاب شده‌اند، و پنل Claude Code که پرسشی درباره‌ی همان خطوط همراه با یک ارجاع @-منشن را نشان می‌دهد

تغییرات را بازبینی کن

وقتی Claude بخواهد فایلی را ویرایش کند، مقایسه‌ای کنارِهم از نسخه‌ی اصلی و تغییراتِ پیشنهادی نشان می‌دهد و سپس برای مجوز می‌پرسد. می‌توانی بپذیری، رد کنی، یا به Claude بگویی به‌جایش چه کند. اگر پیش از پذیرش، محتوای پیشنهادی را مستقیماً در نمای diff ویرایش کنی، به Claude گفته می‌شود که تو آن را تغییر داده‌ای، تا فرض نکند فایل با پیشنهادِ اولیه‌اش یکی است.

VS Code که یک diff از تغییرات پیشنهادی Claude را همراه با یک درخواست مجوز نشان می‌دهد که می‌پرسد آیا ویرایش انجام شود

برای ایده‌های بیشتر درباره‌ی کارهایی که با Claude Code می‌توانی بکنی، به ورک‌فلوهای رایج نگاه کن.

استفاده از جعبه‌ی پرامپت

Section titled “استفاده از جعبه‌ی پرامپت”

جعبه‌ی پرامپت چند قابلیت را پشتیبانی می‌کند:

  • حالت‌های دسترسی: روی نشانگرِ حالت در پایینِ جعبه‌ی پرامپت کلیک کن تا بین حالت‌ها جابه‌جا شوی. در حالتِ عادی، Claude پیش از هر اقدام مجوز می‌گیرد. در حالتِ Plan، Claude آنچه را که قرار است انجام دهد توصیف می‌کند و پیش از هر تغییر منتظرِ تأیید می‌ماند. VS Code به‌صورت خودکار برنامه را به‌شکلِ یک سندِ کاملِ markdown باز می‌کند که می‌توانی پیش از شروعِ Claude در آن نظرهای درون‌خطی بگذاری. در حالتِ auto-accept، Claude بدون پرسیدن ویرایش می‌کند. حالتِ پیش‌فرض را در تنظیماتِ VS Code زیرِ claudeCode.initialPermissionMode تنظیم کن.
  • منوی فرمان: روی / کلیک کن یا / را تایپ کن تا منوی فرمان باز شود. گزینه‌ها شاملِ پیوست کردنِ فایل‌ها، تعویضِ مدل‌ها، روشن/خاموش کردنِ extended thinking، مشاهده‌ی مصرفِ پلن (/usage) و شروعِ یک نشستِ Remote Control (/remote-control) است. بخشِ Customize دسترسی به سرورهای MCP، hooks، حافظه، دسترسی‌ها و plugins را فراهم می‌کند. مواردی که آیکنِ ترمینال دارند در ترمینالِ یکپارچه باز می‌شوند.
  • نشانگرِ کانتکست: جعبه‌ی پرامپت نشان می‌دهد چه مقدار از پنجره‌ی کانتکستِ Claude را استفاده می‌کنی. Claude در صورتِ نیاز به‌صورت خودکار فشرده‌سازی می‌کند، یا می‌توانی دستیِ /compact را اجرا کنی.
  • Extended thinking: به Claude اجازه می‌دهد زمانِ بیشتری صرفِ استدلال روی مسائلِ پیچیده کند. آن را از منوی فرمان (/) روشن کن. استدلالِ Claude به‌شکلِ بلاک‌های جمع‌شده در گفت‌وگو نمایان می‌شود: روی یک بلاک کلیک کن تا بخوانی، یا Ctrl+O را بزن تا همه‌ی بلاک‌های thinking در نشست باز یا بسته شوند. برای جزئیات به Extended thinking نگاه کن.
  • ورودیِ چندخطی: Shift+Enter را بزن تا بدونِ ارسال یک خطِ تازه اضافه کنی. این در ورودیِ متن‌آزادِ “Other” در دیالوگ‌های پرسش هم کار می‌کند.

ارجاع به فایل‌ها و پوشه‌ها

Section titled “ارجاع به فایل‌ها و پوشه‌ها”

از @-منشن‌ها استفاده کن تا به Claude درباره‌ی فایل‌ها یا پوشه‌های مشخص کانتکست بدهی. وقتی @ و بعدش نامِ یک فایل یا پوشه را تایپ می‌کنی، Claude آن محتوا را می‌خواند و می‌تواند درباره‌اش پاسخ بدهد یا تغییرش بدهد. Claude Code از تطبیقِ فازی پشتیبانی می‌کند، پس می‌توانی نام‌های ناقص را تایپ کنی تا چیزی را که می‌خواهی پیدا کنی:

> Explain the logic in @auth (fuzzy matches auth.js, AuthService.ts, etc.)
> What's in @src/components/ (include a trailing slash for folders)

برای PDFهای بزرگ، می‌توانی از Claude بخواهی به‌جای کلِ فایل صفحه‌های مشخصی را بخواند: یک صفحه‌ی واحد، بازه‌ای مثل صفحه‌های ۱ تا ۱۰، یا بازه‌ای باز مثل از صفحه‌ی ۳ به بعد.

وقتی در ویرایشگر متنی را انتخاب می‌کنی، Claude می‌تواند به‌صورت خودکار کدِ هایلایت‌شده‌ات را ببیند. پاورقیِ جعبه‌ی پرامپت نشان می‌دهد چند خط انتخاب شده است. Option+K (مک) / Alt+K (ویندوز/لینوکس) را بزن تا یک @-منشن همراه با مسیرِ فایل و شماره‌ی خطوط درج شود (مثلاً @app.ts#5-10). روی نشانگرِ انتخاب کلیک کن تا روشن/خاموش کنی که آیا Claude می‌تواند متنِ هایلایت‌شده‌ات را ببیند — آیکنِ چشمِ خط‌خورده یعنی انتخاب از دیدِ Claude پنهان است.

همچنین می‌توانی هنگامِ کشیدنِ فایل‌ها به داخلِ جعبه‌ی پرامپت Shift را نگه داری تا آن‌ها را به‌عنوانِ پیوست اضافه کنی. روی X هر پیوست کلیک کن تا از کانتکست حذفش کنی.

ازسرگیریِ گفت‌وگوهای گذشته

Section titled “ازسرگیریِ گفت‌وگوهای گذشته”

روی دکمه‌ی Session history در بالای پنلِ Claude Code کلیک کن تا به تاریخچه‌ی گفت‌وگوهایت دسترسی پیدا کنی. می‌توانی با کلیدواژه جست‌وجو کنی یا بر اساسِ زمان مرور کنی (Today, Yesterday, Last 7 days و غیره). روی هر گفت‌وگو کلیک کن تا با تاریخچه‌ی کاملِ پیام‌ها از سر گرفته شود. نشست‌های تازه عنوان‌هایی می‌گیرند که هوشِ مصنوعی بر اساسِ اولین پیامت می‌سازد. روی یک نشست هاور کن تا کنش‌های rename و remove نمایان شود: rename تا عنوانی توصیفی بدهی، یا remove تا از فهرست حذفش کنی. برای اطلاعاتِ بیشتر درباره‌ی ازسرگیریِ نشست‌ها به مدیریتِ نشست‌ها نگاه کن.

ازسرگیریِ نشست‌های ابری از Claude.ai

Section titled “ازسرگیریِ نشست‌های ابری از Claude.ai”

اگر از Claude Code on the web استفاده می‌کنی، می‌توانی آن نشست‌های ابری را مستقیماً در VS Code از سر بگیری. این کار به ورود با Claude.ai Subscription نیاز دارد، نه Anthropic Console.

تاریخچه‌ی نشست‌ها را باز کن

روی دکمه‌ی Session history در بالای پنلِ Claude Code کلیک کن.

تبِ Remote را انتخاب کن

دیالوگ دو تب نشان می‌دهد: Local و Remote. روی Remote کلیک کن تا نشست‌های claude.ai را ببینی.

یک نشست برای ازسرگیری انتخاب کن

نشست‌های ابری‌ات را مرور یا جست‌وجو کن. روی هر نشست کلیک کن تا دانلود شود و گفت‌وگو را به‌صورتِ محلی ادامه بدهی.

/usage را از منوی فرمان اجرا کن تا دیالوگِ Account & usage باز شود. این دیالوگ حسابِ واردشده، پلن، و نوارهای مصرفِ نشستِ جاری و هفته را همراه با مدتِ باقی‌مانده تا بازنشانیِ هر سقف نشان می‌دهد.

این دیالوگ همچنین تجزیه می‌کند که چه چیزهایی به سقف‌های پلنت کمک می‌کنند. رفتارهایی که ۱۰٪ یا بیشترِ مصرفِ اخیر را تشکیل می‌دهند — مثل cache missها، کانتکستِ طولانی، و نشست‌های ساب‌ایجنت‌محور یا به‌شدت موازی — را به‌همراه یک نکته برای کاهشش علامت می‌زند. جدول‌های انتساب نشان می‌دهند چه مقدار مصرف از هر skill، ساب‌ایجنت، plugin و سرورِ MCP آمده است. به Claude Code نسخه‌ی v2.1.174 یا بالاتر نیاز دارد.

از ضامنِ Day و Week استفاده کن تا بین ۲۴ ساعتِ گذشته و ۷ روزِ گذشته جابه‌جا شوی. ارقام تقریبی‌اند و از نشست‌های محلیِ همین دستگاه محاسبه می‌شوند، پس مصرفِ دستگاه‌های دیگر یا claude.ai در آن نیست. برای اطلاعاتِ بیشتر درباره‌ی ردگیری و کاهشِ مصرف، به هزینه‌هایت را ردگیری کن نگاه کن.

ورک‌فلوی خودت را سفارشی کن

Section titled “ورک‌فلوی خودت را سفارشی کن”

وقتی راه افتادی، می‌توانی پنلِ Claude را جابه‌جا کنی، چند نشست را اجرا کنی، یا به حالتِ ترمینال سوییچ کنی.

می‌توانی پنلِ Claude را بکشی و هر جای VS Code جابه‌جایش کنی. تبِ پنل یا نوارِ عنوانش را بگیر و بکش به:

  • نوارِ کناریِ ثانویه: سمتِ راستِ پنجره. Claude را همان‌طور که کد می‌زنی پیدا نگه می‌دارد.
  • نوارِ کناریِ اصلی: نوارِ کناریِ چپ با آیکن‌های Explorer، Search و غیره.
  • ناحیه‌ی ویرایشگر: Claude را به‌شکلِ یک تب کنارِ فایل‌هایت باز می‌کند. برای کارهای جانبی مفید است.

از Open in New Tab یا Open in New Window در Command Palette استفاده کن تا گفت‌وگوهای اضافی شروع کنی. هر گفت‌وگو تاریخچه و کانتکستِ خودش را نگه می‌دارد و می‌گذارد روی کارهای متفاوت به‌موازات کار کنی.

هنگامِ استفاده از تب‌ها، یک نقطه‌ی رنگیِ کوچک روی آیکنِ spark وضعیت را نشان می‌دهد: آبی یعنی یک درخواستِ مجوز در انتظار است، نارنجی یعنی Claude در حالی که تب پنهان بود کارش را تمام کرد.

به‌صورتِ پیش‌فرض، افزونه یک پنلِ چتِ گرافیکی باز می‌کند. اگر رابطِ سبکِ-CLI را ترجیح می‌دهی، تنظیمِ Use Terminal را باز کن و تیکش را بزن.

همچنین می‌توانی تنظیماتِ VS Code را باز کنی (Cmd+, در مک یا Ctrl+, در ویندوز/لینوکس)، به Extensions → Claude Code برو و Use Terminal را تیک بزن.

افزونه‌ی VS Code یک رابطِ گرافیکی برای نصب و مدیریتِ plugins دارد. در جعبه‌ی پرامپت /plugins را تایپ کن تا رابطِ Manage plugins باز شود.

دیالوگِ plugin دو تب نشان می‌دهد: Plugins و Marketplaces.

در تبِ Plugins:

  • plugins نصب‌شده در بالا با کلیدهای ضامن برای فعال یا غیرفعال کردنشان پیدا می‌شوند
  • plugins در دسترس از marketplaceهای پیکربندی‌شده‌ات در پایین پیدا می‌شوند
  • جست‌وجو کن تا plugins را بر اساسِ نام یا توضیح فیلتر کنی
  • روی Install هر pluginِ در دسترس کلیک کن

وقتی یک plugin نصب می‌کنی، دامنه‌ی نصب را انتخاب کن:

  • Install for you: در همه‌ی پروژه‌هایت در دسترس (دامنه‌ی کاربر)
  • Install for this project: با همکارانِ پروژه به اشتراک گذاشته می‌شود (دامنه‌ی پروژه)
  • Install locally: فقط برای تو، فقط در این مخزن (دامنه‌ی محلی)

به تبِ Marketplaces سوییچ کن تا منابعِ plugin را اضافه یا حذف کنی:

  • یک مخزنِ GitHub، یک URL یا یک مسیرِ محلی وارد کن تا یک marketplace تازه اضافه شود
  • روی آیکنِ refresh کلیک کن تا فهرستِ pluginهای یک marketplace به‌روز شود
  • روی آیکنِ سطلِ زباله کلیک کن تا یک marketplace حذف شود

پس از اعمالِ تغییرات، یک بنر از تو می‌خواهد Claude Code را دوباره راه‌اندازی کنی تا به‌روزرسانی‌ها اعمال شوند.

برای اطلاعاتِ بیشتر درباره‌ی سیستمِ plugin، به Plugins و Plugin marketplaces نگاه کن.

خودکارسازیِ کارهای مرورگر با Chrome

Section titled “خودکارسازیِ کارهای مرورگر با Chrome”

Claude را به مرورگرِ Chrome خود وصل کن تا web appها را تست کنی، با console logها عیب‌یابی کنی و ورک‌فلوهای مرورگری را بدونِ ترکِ VS Code خودکار کنی. این کار به افزونه‌ی Claude in Chrome نسخه‌ی 1.0.36 یا بالاتر نیاز دارد.

در جعبه‌ی پرامپت @browser را و بعدش کاری را که می‌خواهی Claude بکند تایپ کن:

@browser go to localhost:3000 and check the console for errors

همچنین می‌توانی منوی پیوست را باز کنی تا ابزارهای مرورگریِ مشخصی مثل باز کردنِ یک تبِ تازه یا خواندنِ محتوای صفحه را انتخاب کنی.

Claude برای کارهای مرورگری تب‌های تازه باز می‌کند و وضعیتِ ورودِ مرورگرت را به اشتراک می‌گذارد، پس می‌تواند به هر سایتی که از پیش در آن واردی دسترسی پیدا کند.

برای دستورالعملِ راه‌اندازی، فهرستِ کاملِ قابلیت‌ها و عیب‌یابی، به استفاده از Claude Code با Chrome نگاه کن.

دستورها و میان‌برهای VS Code

Section titled “دستورها و میان‌برهای VS Code”

Command Palette را باز کن (Cmd+Shift+P در مک یا Ctrl+Shift+P در ویندوز/لینوکس) و “Claude Code” را تایپ کن تا همه‌ی دستورهای VS Codeِ در دسترس برای افزونه‌ی Claude Code را ببینی.

برخی میان‌برها به این بستگی دارند که کدام پنل “فوکوس” است (ورودیِ کیبورد را دریافت می‌کند). وقتی مکان‌نمای تو در یک فایلِ کد است، ویرایشگر فوکوس است. وقتی مکان‌نما در جعبه‌ی پرامپتِ Claude است، Claude فوکوس است. از Cmd+Esc / Ctrl+Esc استفاده کن تا بینشان جابه‌جا شوی.

دستورمیان‌برتوضیح
Focus InputCmd+Esc (مک) / Ctrl+Esc (ویندوز/لینوکس)جابه‌جاییِ فوکوس بین ویرایشگر و Claude
Open in Side Bar-باز کردنِ Claude در نوارِ کناریِ چپ
Open in Terminal-باز کردنِ Claude در حالتِ ترمینال
Open in New TabCmd+Shift+Esc (مک) / Ctrl+Shift+Esc (ویندوز/لینوکس)باز کردنِ یک گفت‌وگوی تازه به‌شکلِ یک تبِ ویرایشگر
Open in New Window-باز کردنِ یک گفت‌وگوی تازه در یک پنجره‌ی جداگانه
New ConversationCmd+N (مک) / Ctrl+N (ویندوز/لینوکس)شروعِ یک گفت‌وگوی تازه. نیاز دارد Claude فوکوس باشد و enableNewConversationShortcut روی true تنظیم شده باشد
Reopen Closed SessionCmd+Shift+T (مک) / Ctrl+Shift+T (ویندوز/لینوکس)باز کردنِ دوباره‌ی آخرین تبِ نشستِ Claude که بسته شده. وقتی آخرین تبِ بسته‌شده یک نشستِ Claude نباشد، به رفتارِ عادیِ VS Code برای بازگشاییِ آخرین ویرایشگرِ بسته‌شده برمی‌گردد. با enableReopenClosedSessionShortcut غیرفعالش کن
Insert @-Mention ReferenceOption+K (مک) / Alt+K (ویندوز/لینوکس)درجِ ارجاعی به فایلِ جاری و انتخاب (نیاز دارد ویرایشگر فوکوس باشد)
Show Logs-مشاهده‌ی لاگ‌های دیباگِ افزونه
Logout-خروج از حساب Anthropic خود

راه‌اندازیِ یک تبِ VS Code از ابزارهای دیگر

Section titled “راه‌اندازیِ یک تبِ VS Code از ابزارهای دیگر”

افزونه یک URI handler در vscode://anthropic.claude-code/open ثبت می‌کند. از آن استفاده کن تا یک تبِ تازه‌ی Claude Code را از ابزارِ خودت باز کنی: یک شل‌اَلیاس، یک bookmarklet مرورگر، یا هر اسکریپتی که بتواند یک URL باز کند. اگر VS Code از پیش در حالِ اجرا نباشد، باز کردنِ این URL ابتدا آن را راه می‌اندازد. اگر VS Code از پیش در حالِ اجرا باشد، URL در هر پنجره‌ای که در آن لحظه فوکوس است باز می‌شود.

این handler را با URL-openerِ سیستم‌عاملت فراخوانی کن.

Terminal window
open "vscode://anthropic.claude-code/open"

این handler دو پارامترِ پرس‌وجوی اختیاری می‌پذیرد:

پارامترتوضیح
promptمتنی که از پیش در جعبه‌ی پرامپت پر شود. باید URL-encode شده باشد. پرامپت از پیش پر می‌شود ولی به‌صورتِ خودکار ارسال نمی‌شود.
sessionیک session ID که به‌جای شروعِ یک گفت‌وگوی تازه از سر گرفته شود. نشست باید متعلق به ورک‌اسپیسی باشد که در آن لحظه در VS Code باز است. اگر نشست پیدا نشود، به‌جایش یک گفت‌وگوی تازه شروع می‌شود. اگر نشست از پیش در یک تب باز باشد، همان تب فوکوس می‌شود. برای ثبتِ برنامه‌نویسانه‌ی یک session ID، به ادامه‌ی گفت‌وگوها نگاه کن.

برای مثال، برای باز کردنِ تبی که از پیش با “review my changes” پر شده:

vscode://anthropic.claude-code/open?prompt=review%20my%20changes

برای راه‌اندازیِ یک نشستِ ترمینال به‌جای یک تبِ VS Code، از handlerِ claude-cli:// در CLI استفاده کن. به راه‌اندازیِ نشست‌ها از لینک‌ها نگاه کن.

افزونه دو نوع تنظیمات دارد:

  • تنظیماتِ افزونه در VS Code: رفتارِ افزونه را در داخلِ VS Code کنترل می‌کند. با Cmd+, (مک) یا Ctrl+, (ویندوز/لینوکس) باز کن، سپس به Extensions → Claude Code برو. همچنین می‌توانی / را تایپ کنی و General Config را انتخاب کنی تا تنظیمات باز شود.
  • تنظیماتِ Claude Code در ~/.claude/settings.json: بین افزونه و CLI مشترک است. برای دستورهای مجاز، متغیرهای محیطی، hooks و سرورهای MCP از آن استفاده کن. برای جزئیات به تنظیمات نگاه کن.
تنظیمپیش‌فرضتوضیح
useTerminalfalseراه‌اندازیِ Claude در حالتِ ترمینال به‌جای پنلِ گرافیکی
initialPermissionModedefaultپرامپت‌های تأیید را برای گفت‌وگوهای تازه کنترل می‌کند: default، plan، acceptEdits یا bypassPermissions. به حالت‌های دسترسی نگاه کن.
preferredLocationpanelجایی که Claude باز می‌شود: sidebar (راست) یا panel (تبِ تازه)
autosavetrueذخیره‌ی خودکارِ فایل‌ها پیش از این‌که Claude آن‌ها را بخواند یا بنویسد
useCtrlEnterToSendfalseاستفاده از Ctrl/Cmd+Enter به‌جای Enter برای ارسالِ پرامپت‌ها
enableNewConversationShortcutfalseفعال‌سازیِ Cmd/Ctrl+N برای شروعِ یک گفت‌وگوی تازه
enableReopenClosedSessionShortcuttrueاستفاده از Cmd/Ctrl+Shift+T برای باز کردنِ دوباره‌ی آخرین تبِ نشستِ Claude که بسته شده. وقتی آخرین تبِ بسته‌شده یک نشستِ Claude نباشد، میان‌بر به‌جایش دستورِ عادیِ VS Code برای بازگشاییِ آخرین ویرایشگرِ بسته‌شده را اجرا می‌کند.
hideOnboardingfalseپنهان کردنِ چک‌لیستِ onboarding (آیکنِ کلاهِ فارغ‌التحصیلی)
respectGitIgnoretrueحذفِ الگوهای .gitignore از جست‌وجوهای فایل
usePythonEnvironmenttrueفعال‌سازیِ محیطِ Python ورک‌اسپیس هنگامِ اجرای Claude. به افزونه‌ی Python نیاز دارد.
environmentVariables[]تنظیمِ متغیرهای محیطی برای فرآیندِ Claude. برای پیکربندیِ مشترک به‌جایش از تنظیماتِ Claude Code استفاده کن.
disableLoginPromptfalseرد شدن از پرامپت‌های احراز هویت (برای راه‌اندازیِ ارائه‌دهنده‌های شخصِ ثالث)
allowDangerouslySkipPermissionsfalseBypass permissions را به انتخاب‌گرِ حالت اضافه می‌کند. فقط در sandboxهای بدونِ دسترسی به اینترنت از آن استفاده کن.
claudeProcessWrapper-فایلِ اجرایی که برای راه‌اندازیِ فرآیندِ Claude استفاده می‌شود. مسیرِ باینریِ همراهِ افزونه در صورتِ وجود به‌عنوانِ یک آرگومان پاس داده می‌شود. اگر بیلدِ افزونه برای پلتفرمِ تو باینری ندارد، این را روی یک باینریِ claude که جداگانه نصب شده تنظیم کن.

افزونه‌ی VS Code در برابر CLIِ Claude Code

Section titled “افزونه‌ی VS Code در برابر CLIِ Claude Code”

Claude Code هم به‌شکلِ یک افزونه‌ی VS Code (پنلِ گرافیکی) و هم به‌شکلِ یک CLI (رابطِ خط‌فرمان در ترمینال) در دسترس است. برخی قابلیت‌ها فقط در CLI هستند. اگر به یک قابلیتِ مختصِ CLI نیاز داری، claude را در ترمینالِ یکپارچه‌ی VS Code اجرا کن. این کار به نصبِ مستقلِ CLI نیاز دارد: افزونه claude را به PATH تو اضافه نمی‌کند. به اجرای CLI در VS Code نگاه کن.

قابلیتCLIافزونه‌ی VS Code
دستورها و skillهاهمهزیرمجموعه (/ را تایپ کن تا موارد در دسترس را ببینی)
پیکربندیِ سرورِ MCPبلهجزئی (سرورها را با CLI اضافه کن؛ سرورهای موجود را با /mcp در پنلِ چت مدیریت کن)
Checkpointsبلهبله
میان‌برِ bash با !بلهخیر
تکمیلِ Tabبلهخیر

افزونه‌ی VS Code از checkpoints پشتیبانی می‌کند، که ویرایش‌های فایلِ Claude را ردگیری می‌کنند و می‌گذارند به وضعیتی پیشین برگردی. روی هر پیام هاور کن تا دکمه‌ی بازگشت نمایان شود، سپس از میانِ سه گزینه انتخاب کن:

  • Fork conversation from here: از این پیام یک شاخه‌ی گفت‌وگوی تازه شروع کن در حالی که همه‌ی تغییراتِ کد دست‌نخورده می‌مانند
  • Rewind code to here: تغییراتِ فایل را به این نقطه از گفت‌وگو برگردان در حالی که تاریخچه‌ی کاملِ گفت‌وگو حفظ می‌شود
  • Fork conversation and rewind code: یک شاخه‌ی گفت‌وگوی تازه شروع کن و تغییراتِ فایل را به این نقطه برگردان

برای جزئیاتِ کاملِ نحوه‌ی کارِ checkpoints و محدودیت‌هایشان، به Checkpointing نگاه کن.

برای استفاده از CLI در حالی که در VS Code می‌مانی، ترمینالِ یکپارچه را باز کن (Ctrl+` در ویندوز/لینوکس یا Cmd+` در مک) و claude را اجرا کن. CLI به‌صورتِ خودکار با IDE تو برای قابلیت‌هایی مثل مشاهده‌ی diff و اشتراکِ تشخیص‌ها (diagnostics) یکپارچه می‌شود.

نصبِ افزونه claude را روی PATH شلِ تو نمی‌گذارد. افزونه یک نسخه‌ی خصوصیِ CLI را برای پنلِ چتش همراه دارد، ولی تایپِ claude در یک ترمینال به نصبِ مستقلِ CLI نیاز دارد. نصب را یک‌بار اجرا کن تا دستورهای این صفحه، از جمله claude mcp add و claude --resume، در هر ترمینالی کار کنند. اگر claude پس از نصب همچنان پیدا نشد، PATH خود را بررسی کن.

اگر از یک ترمینالِ بیرونی استفاده می‌کنی، /ide را داخلِ Claude Code اجرا کن تا به VS Code وصلش کنی.

جابه‌جایی بین افزونه و CLI

Section titled “جابه‌جایی بین افزونه و CLI”

افزونه و CLI همان تاریخچه‌ی گفت‌وگو را به اشتراک می‌گذارند. برای ادامه‌ی یک گفت‌وگوی افزونه در CLI، claude --resume را در ترمینال اجرا کن. این یک انتخاب‌گرِ تعاملی باز می‌کند که می‌توانی گفت‌وگویت را در آن جست‌وجو و انتخاب کنی.

گنجاندنِ خروجیِ ترمینال در پرامپت‌ها

Section titled “گنجاندنِ خروجیِ ترمینال در پرامپت‌ها”

با @terminal:name که در آن name عنوانِ ترمینال است، در پرامپت‌هایت به خروجیِ ترمینال ارجاع بده. این می‌گذارد Claude خروجیِ دستور، پیام‌های خطا یا لاگ‌ها را بدونِ copy-paste ببیند.

پایشِ فرآیندهای پس‌زمینه

Section titled “پایشِ فرآیندهای پس‌زمینه”

وقتی Claude دستورهای طولانی اجرا می‌کند، افزونه پیشرفت را در نوارِ وضعیت نشان می‌دهد. با این حال، دیدِ کارهای پس‌زمینه در مقایسه با CLI محدود است. برای دیدِ بهتر، از Claude بخواه دستور را خروجی بدهد تا بتوانی آن را در ترمینالِ یکپارچه‌ی VS Code اجرا کنی.

اتصال به ابزارهای بیرونی با MCP

Section titled “اتصال به ابزارهای بیرونی با MCP”

سرورهای MCP (Model Context Protocol) به Claude دسترسی به ابزارها، پایگاه‌های داده و APIهای بیرونی می‌دهند.

برای افزودنِ یک سرورِ MCP، ترمینالِ یکپارچه را باز کن (Ctrl+` یا Cmd+`) و claude mcp add را اجرا کن. مثالِ زیر سرورِ MCP راه‌دورِ GitHub را اضافه می‌کند، که با یک personal access token که به‌عنوانِ یک header پاس داده می‌شود احراز هویت می‌کند:

Terminal window
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
--header "Authorization: Bearer YOUR_GITHUB_PAT"

پس از پیکربندی، از Claude بخواه از ابزارها استفاده کند (مثلاً “Review PR #456”).

برای مدیریتِ سرورهای MCP بدونِ ترکِ VS Code، در پنلِ چت /mcp را تایپ کن. دیالوگِ مدیریتِ MCP می‌گذارد سرورها را فعال یا غیرفعال کنی، به یک سرور دوباره وصل شوی و احراز هویتِ OAuth را مدیریت کنی. برای سرورهای در دسترس به مستنداتِ MCP نگاه کن.

Claude Code با git یکپارچه می‌شود تا مستقیماً در VS Code با ورک‌فلوهای کنترلِ نسخه کمک کند. از Claude بخواه تغییرات را کامیت کند، pull requestها بسازد، یا بین شاخه‌ها کار کند.

ساختِ کامیت‌ها و pull requestها

Section titled “ساختِ کامیت‌ها و pull requestها”

Claude می‌تواند بر اساسِ کارِ تو تغییرات را stage کند، پیام‌های کامیت بنویسد و pull requestها بسازد:

> commit my changes with a descriptive message
> create a pr for this feature
> summarize the changes I've made to the auth module

هنگامِ ساختِ pull requestها، Claude توصیف‌ها را بر اساسِ تغییراتِ واقعیِ کد می‌سازد و می‌تواند کانتکستی درباره‌ی تست یا تصمیم‌های پیاده‌سازی اضافه کند.

استفاده از git worktrees برای کارهای موازی

Section titled “استفاده از git worktrees برای کارهای موازی”

از پرچمِ --worktree (-w) استفاده کن تا Claude را در یک worktree منزوی با فایل‌ها و شاخه‌ی خودش شروع کنی:

Terminal window
claude --worktree feature-auth

هر worktree وضعیتِ فایلِ مستقلی نگه می‌دارد در حالی که تاریخچه‌ی git را به اشتراک می‌گذارد. این جلوی تداخلِ نمونه‌های Claude با یکدیگر هنگامِ کار روی کارهای متفاوت را می‌گیرد. برای جزئیاتِ بیشتر، به اجرای نشست‌های موازی با Git worktrees نگاه کن.

استفاده از ارائه‌دهنده‌های شخصِ ثالث

Section titled “استفاده از ارائه‌دهنده‌های شخصِ ثالث”

به‌صورتِ پیش‌فرض، Claude Code مستقیماً به APIِ Anthropic وصل می‌شود. اگر سازمانت از Amazon Bedrock، Google Vertex AI یا Microsoft Foundry برای دسترسی به Claude استفاده می‌کند، افزونه را طوری پیکربندی کن که به‌جایش از ارائه‌دهنده‌ی تو استفاده کند:

پرامپتِ ورود را غیرفعال کن

تنظیمِ Disable Login Prompt را باز کن و تیکش را بزن.

همچنین می‌توانی تنظیماتِ VS Code را باز کنی (Cmd+, در مک یا Ctrl+, در ویندوز/لینوکس)، عبارتِ “Claude Code login” را جست‌وجو کنی و Disable Login Prompt را تیک بزنی.

ارائه‌دهنده‌ات را پیکربندی کن

راهنمای راه‌اندازیِ ارائه‌دهنده‌ات را دنبال کن:

این راهنماها پیکربندیِ ارائه‌دهنده در ~/.claude/settings.json را پوشش می‌دهند، که تضمین می‌کند تنظیماتت بین افزونه‌ی VS Code و CLI مشترک باشد.

کدِ تو خصوصی می‌ماند. Claude Code کدت را برای ارائه‌ی کمک پردازش می‌کند ولی از آن برای آموزشِ مدل‌ها استفاده نمی‌کند. برای جزئیاتِ نحوه‌ی مدیریتِ داده و چگونگیِ خروج از لاگ‌گیری، به داده و حریمِ خصوصی نگاه کن.

با فعال بودنِ دسترسیِ ویرایشِ خودکار، Claude Code می‌تواند فایل‌های پیکربندیِ VS Code (مثل settings.json یا tasks.json) را که VS Code ممکن است به‌صورتِ خودکار اجرا کند تغییر دهد. برای کاهشِ ریسک هنگامِ کار با کدِ نامطمئن:

  • حالتِ Restricted Mode در VS Code را برای ورک‌اسپیس‌های نامطمئن فعال کن
  • به‌جای auto-accept برای ویرایش‌ها از حالتِ تأییدِ دستی استفاده کن
  • تغییرات را پیش از پذیرش با دقت بازبینی کن

وقتی افزونه فعال است، یک سرورِ MCP محلی اجرا می‌کند که CLI به‌صورتِ خودکار به آن وصل می‌شود. این همان روشی است که CLI با آن diffها را در نمای بومیِ diff در VS Code باز می‌کند، انتخابِ جاری‌ات را برای @-منشن‌ها می‌خواند، و — وقتی در یک نوت‌بوکِ Jupyter کار می‌کنی — از VS Code می‌خواهد سلول‌ها را اجرا کند.

نامِ این سرور ide است و از /mcp پنهان است چون چیزی برای پیکربندی ندارد. با این حال اگر سازمانت از یک hookِ PreToolUse برای allowlist کردنِ ابزارهای MCP استفاده می‌کند، باید بدانی که وجود دارد.

کانتکستِ انتخاب و فایلِ باز. تا وقتی وصل است، CLI انتخابِ جاریِ ویرایشگر و مسیرِ فایلِ فعال را به‌عنوانِ کانتکست در هر پرامپتی که می‌فرستی می‌گنجاند. وقتی این اتفاق می‌افتد، در رونوشت یک خطِ ⧉ Selected N lines from <file> نمایان می‌شود. برای کنار گذاشتنِ یک فایلِ حساس مثل .env، یک قانونِ deny برای Read برای مسیرش اضافه کن. یک قانونِ deny منطبق جلوی رسیدنِ هم متنِ انتخاب‌شده و هم اعلانِ فایلِ باز برای آن فایل به Claude را می‌گیرد.

انتقال و احراز هویت. سرور روی 127.0.0.1 و یک پورتِ بالای تصادفی متصل می‌شود و از دستگاه‌های دیگر قابلِ دسترس نیست. هر بار که افزونه فعال می‌شود یک توکنِ احراز هویتِ تصادفیِ تازه تولید می‌شود که CLI برای اتصال باید آن را ارائه کند. این توکن در یک فایلِ قفل زیرِ ~/.claude/ide/ با دسترسیِ 0600 در یک دایرکتوریِ 0700 نوشته می‌شود، پس فقط کاربری که VS Code را اجرا می‌کند می‌تواند آن را بخواند.

ابزارهایی که در معرضِ مدل قرار می‌گیرند. سرور دوازده ابزار میزبانی می‌کند، ولی فقط دوتایشان برای مدل قابلِ مشاهده‌اند. بقیه RPCِ داخلی‌اند که CLI برای رابطِ کاربریِ خودش به کار می‌برد — باز کردنِ diffها، خواندنِ انتخاب‌ها، ذخیره‌ی فایل‌ها — و پیش از این‌که فهرستِ ابزارها به Claude برسد فیلتر می‌شوند.

نامِ ابزار (آن‌طور که hookها می‌بینند)چه می‌کندمی‌نویسد؟
mcp__ide__getDiagnosticsتشخیص‌های زبان-سرور را برمی‌گرداند — خطاها و هشدارهای پنلِ Problems در VS Code. به‌صورتِ اختیاری محدود به یک فایل.خیر
mcp__ide__executeCodeکدِ Python را در کرنلِ نوت‌بوکِ فعالِ Jupyter اجرا می‌کند. به فرآیندِ تأییدِ زیر نگاه کن.بله

اجرای Jupyter همیشه اول می‌پرسد. mcp__ide__executeCode نمی‌تواند چیزی را بی‌صدا اجرا کند. در هر فراخوانی، کد به‌عنوانِ یک سلولِ تازه در انتهای نوت‌بوکِ فعال درج می‌شود، VS Code آن را به دید می‌آورد، و یک Quick Pick بومی از تو می‌پرسد Execute یا Cancel. لغو کردن — یا بستنِ انتخاب‌گر با Esc — یک خطا به Claude برمی‌گرداند و هیچ چیزی اجرا نمی‌شود. این ابزار همچنین وقتی نوت‌بوکِ فعالی نباشد، وقتی افزونه‌ی Jupyter (ms-toolsai.jupyter) نصب نباشد، یا وقتی کرنل Python نباشد، یکسره امتناع می‌کند.

  • مطمئن شو نسخه‌ی سازگاری از VS Code داری (1.98.0 یا بالاتر)
  • بررسی کن که VS Code مجوزِ نصبِ افزونه‌ها را دارد
  • نصبِ مستقیم از VS Code Marketplace را امتحان کن

آیکنِ Spark وقتی فایلی باز داشته باشی در نوارابزارِ ویرایشگر (بالا-راستِ ویرایشگر) پیدا می‌شود. اگر آن را نمی‌بینی:

  1. یک فایل باز کن: آیکن نیاز دارد که فایلی باز باشد. صرفِ باز بودنِ یک پوشه کافی نیست.
  2. نسخه‌ی VS Code را بررسی کن: به 1.98.0 یا بالاتر نیاز دارد (Help → About)
  3. VS Code را دوباره راه‌اندازی کن: “Developer: Reload Window” را از Command Palette اجرا کن
  4. افزونه‌های متعارض را غیرفعال کن: دیگر افزونه‌های هوشِ مصنوعی (Cline، Continue و غیره) را موقتاً غیرفعال کن
  5. اعتماد به ورک‌اسپیس را بررسی کن: افزونه در Restricted Mode کار نمی‌کند

به‌جایش روی ”✱ Claude Code” در Status Bar (گوشه‌ی پایین-راست) کلیک کن. این حتی بدونِ فایلِ باز هم کار می‌کند. همچنین می‌توانی از Command Palette (Cmd+Shift+P / Ctrl+Shift+P) استفاده کنی و “Claude Code” را تایپ کنی.

Cmd+Esc روی macOS هیچ کاری نمی‌کند

Section titled “Cmd+Esc روی macOS هیچ کاری نمی‌کند”

روی macOS Tahoe و بالاتر، میان‌برِ Game Overlay سیستم به‌صورتِ پیش‌فرض به Cmd+Esc بسته شده و کلید را پیش از این‌که به VS Code برسد ربایش می‌کند. برای آزاد کردنِ میان‌بر:

  1. System Settings را باز کن
  2. به Keyboard، سپس Keyboard Shortcuts، سپس Game Controllers برو
  3. تیکِ Game Overlay را بردار

به‌جایش می‌توانی افزونه را به یک کلیدِ دیگر بازبندی کنی: ویرایشگرِ Keyboard Shortcuts در VS Code را باز کن (Cmd+K Cmd+S)، عبارتِ Claude Code: Focus input را جست‌وجو کن و یک بایندِ تازه اختصاص بده.

Claude Code هیچ‌وقت پاسخ نمی‌دهد

Section titled “Claude Code هیچ‌وقت پاسخ نمی‌دهد”

اگر Claude Code به پرامپت‌هایت پاسخ نمی‌دهد:

  1. اتصالِ اینترنتت را بررسی کن: مطمئن شو یک اتصالِ اینترنتِ پایدار داری
  2. یک گفت‌وگوی تازه شروع کن: یک گفت‌وگوی تازه را امتحان کن تا ببینی مشکل ادامه دارد یا نه
  3. CLI را امتحان کن: claude را از ترمینال اجرا کن تا ببینی پیام‌های خطای دقیق‌تری می‌گیری یا نه

اگر مشکلات ادامه یافت، یک issue روی GitHub ثبت کن و جزئیاتِ خطا را بنویس.

برای حذفِ نصبِ افزونه‌ی Claude Code:

  1. نمای Extensions را باز کن (Cmd+Shift+X در مک یا Ctrl+Shift+X در ویندوز/لینوکس)
  2. عبارتِ “Claude Code” را جست‌وجو کن
  3. روی Uninstall کلیک کن

برای حذفِ داده‌ی افزونه و بازنشانیِ همه‌ی تنظیمات هم، دایرکتوریِ ذخیره‌سازیِ افزونه را برای پلتفرمت پاک کن.

روی macOS:

Terminal window
rm -rf ~/Library/"Application Support"/Code/User/globalStorage/anthropic.claude-code

روی Linux:

Terminal window
rm -rf ~/.config/Code/User/globalStorage/anthropic.claude-code

روی Windows، در PowerShell:

Terminal window
Remove-Item -Recurse -Force "$env:APPDATA\Code\User\globalStorage\anthropic.claude-code"

برای کمکِ بیشتر، به راهنمای عیب‌یابی نگاه کن.

حالا که Claude Code را در VS Code راه‌اندازی کرده‌ای: