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

|
446 installs
| (2) | Free
Right-to-left layout, automatic Persian/English bidi detection, and the Vazirmatn font for the Claude Code and Codex (openai.chatgpt) chat panels. 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
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft