Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Claude Code — Persian / RTL (Vazirmatn)New to Visual Studio Code? Get it now.
Claude Code — Persian / RTL (Vazirmatn)

Claude Code — Persian / RTL (Vazirmatn)

bakhtarimohammad

|
11 installs
| (1) | Free
Right-to-left layout, automatic Persian/English bidi detection, and the Vazirmatn font for the Claude Code chat panel — including the message input box. Works on VS Code, Cursor, Windsurf and Antigravity.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Claude Code — Persian / RTL (Vazirmatn)

راست‌به‌چپ کردنِ پنل چت Claude Code با تشخیص خودکار فارسی/انگلیسی، فونت وزیرمتن، و — برخلاف افزونه‌های قبلی — درست‌شدنِ کادر نوشتن (input) نه فقط حباب‌های چت.

Make the Claude Code chat panel right-to-left, with automatic Persian/English bidi detection, the bundled Vazirmatn font, and — unlike earlier add-ons — a properly RTL message input box, not just the chat bubbles.


چه می‌کند؟ / What it does

  • RTL با تشخیص خودکار: هر پاراگراف بر اساس محتوای خودش جهت می‌گیرد (dir="auto"). متن فارسی راست‌چین، متن انگلیسی چپ‌چین. به متن انگلیسی احترام گذاشته می‌شود.
  • کادر ورودی هم درست می‌شود: کامپوزر Claude یک contenteditable شفاف روی یک لایه‌ی نمایش (mentionMirror) است؛ این افزونه هر دو لایه را با هم RTL می‌کند تا مکان‌نما و متن هم‌تراز بمانند. این همان چیزی است که افزونه‌های قبلی جا انداخته بودند.
  • فونت وزیرمتن (bundled): نیازی به نصب فونت روی سیستم نیست. کد و ترمینال monospace باقی می‌مانند.
  • بدون تغییر امنیتی: فونت از همان مبدأ webview لود می‌شود (سیاست font-src فعلی اجازه می‌دهد)؛ هیچ تغییری در CSP، هیچ شبکه‌ای، هیچ evalی.
  • چندادیتوری و چندسیستمی: VS Code، Cursor، Windsurf، Antigravity روی Windows / macOS / Linux.
  • خودترمیم: بعد از هر آپدیت Claude Code خودش دوباره اعمال می‌شود.

چطور کار می‌کند؟ / How it works

پنل چت Claude Code یک webview است که HTMLش در زمان اجرا ساخته می‌شود، پس تنها راهِ استایل‌دهی، تزریق به دو فایل ثابتِ بارگذاری‌شده است: webview/index.css و webview/index.js. این افزونه یک بلوک نشانه‌گذاری‌شده به انتهای هر کدام اضافه می‌کند و فایل اصلی را در *.ccp.bak نگه می‌دارد.

Claude Code's chat panel is a webview whose HTML is generated at runtime, so the only way to restyle it is to inject into the two static assets it loads. We append a marked block to webview/index.css and webview/index.js, keeping a pristine *.ccp.bak backup. The font is copied into webview/persian-rtl-assets/.

نصب / Install

از Marketplace (بعد از انتشار) / from Marketplace (once published):

code --install-extension bakhtarimohammad.claude-code-persian

یا در ادیتور Ctrl+Shift+X → جستجوی «Claude Persian».

از روی سورس (بدون Marketplace) / from source:

cd tooling/claude-code-persian
npm install
npm run package            # -> claude-code-persian-1.0.0.vsix
code --install-extension claude-code-persian-1.0.0.vsix
# سپس پنجره را Reload کنید (Developer: Reload Window)

اعمال فوری بدون نصب افزونه (CLI):

node bin/apply.js status   # لیست نصب‌ها و وضعیت
node bin/apply.js apply    # اعمال RTL + وزیرمتن
node bin/apply.js remove   # بازگرداندن به حالت اصلی

دستورها / Commands (Ctrl+Shift+P)

دستور کار
Claude Persian: Enable اعمال RTL + فونت روی همه‌ی نصب‌ها
Claude Persian: Disable بازگرداندن فایل‌های اصلی
Claude Persian: Re-apply now اعمال دوباره (مثلاً بعد از تغییر فونت)
Claude Persian: Show Log لاگ

تنظیمات / Settings

کلید پیش‌فرض توضیح
claudePersian.enabled true فعال نگه‌داشتن و ری‌اپلای خودکار بعد از آپدیت
claudePersian.fontFamily Vazirmatn فونت اصلی پنل (هر فونت دیگری باید روی سیستم نصب باشد)
claudePersian.lineHeight 1.85 فاصله‌ی خطوط متن فارسی

برگرداندن کامل / Full revert

قبل از حذف افزونه، یک‌بار Claude Persian: Disable را اجرا کنید تا فایل‌های اصلی Claude Code بازگردانده شوند. (حذف افزونه به‌تنهایی وصله را برنمی‌دارد چون deactivate در هر بستنِ پنجره اجرا می‌شود و نباید هر بار فایل‌ها را دستکاری کند.)

محدودیت‌ها / Limitations

  • وصله روی فایل‌های افزونه‌ی Claude Code اعمال می‌شود؛ بعد از آپدیت، افزونه خودش دوباره اعمال می‌کند (یک‌بار Reload لازم است).
  • یک پنل فرعیِ کوچکِ Claude با CSP سخت‌گیرانه (که index.css/js را اصلاً لود نمی‌کند) تحت تأثیر قرار نمی‌گیرد — پنل اصلی چت کامل پوشش داده می‌شود.
  • با adiryad.claude-rtl-code تداخل دارد (هر دو همان فایل‌ها را تغییر می‌دهند). این افزونه نشانه‌های آن را پاک می‌کند، ولی بهتر است آن افزونه حذف شود.

لایسنس / License

کد: MIT. فونت Vazirmatn تحت SIL Open Font License 1.1 (متن کامل در fonts/OFL.txt) — ساخته‌ی صابر راستی‌کردار.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft