Skip to content
| Marketplace
Sign in
Visual Studio Code>Formatters>Universal IDE RTL SupportNew to Visual Studio Code? Get it now.
Universal IDE RTL Support

Universal IDE RTL Support

talco

|
6 installs
| (1) | Free
Enables proper Right-to-Left (RTL) text rendering for Hebrew and Arabic in AI Chat across multiple IDEs (Kiro, Antigravity, Cursor, Windsurf).
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Universal IDE RTL Support 🌐

License GitHub Repository

A unified extension that adds Right-to-Left (RTL) text support for Hebrew and Arabic across multiple AI-powered IDEs.

One extension. All IDEs. Zero hassle.


Supported IDEs

IDE Method Status
Kiro CSS Patch (webview) ✅ Tested
Antigravity JS Injection (workbench) ✅ Tested
VS Code (Copilot Chat) JS Injection (workbench) ✅ Tested
Cursor JS Injection (workbench) 🧪 Experimental
Windsurf JS Injection (workbench) 🧪 Experimental

Key Features

  • 🌐 Auto-Detection: Automatically detects which IDE is running and applies the correct patching method.
  • 🧠 Smart Formatting: RTL for Hebrew/Arabic text, LTR preserved for code blocks, buttons, and system UI.
  • ⚡ One-Click Toggle: Enable/disable via Status Bar or Command Palette.
  • 🔌 Extensible: Add new IDEs by simply adding an entry to ide-configs.js.
  • 💾 Safe: Creates backups before patching, clean removal on disable.

Usage

  1. Install the extension in your IDE.
  2. Click RTL: OFF in the Status Bar (bottom right) to enable.
  3. Or use Command Palette: RTL: Toggle Status
  4. Click Restart Now when prompted.

Architecture

universal-rtl-extension/
├── extension.js      # Core engine - unified toggle logic
├── ide-configs.js    # IDE configuration registry (selectors, methods, paths)
├── package.json      # Extension manifest
└── README.md

Adding a New IDE

Edit ide-configs.js and add a new entry:

newIde: {
  name: 'New IDE',
  method: 'js-inject',  // or 'css-patch'
  detect: (appRoot) => appRoot.toLowerCase().includes('newide'),
  marker: 'START-UNIVERSAL-RTL-JS',
  script: `... your JS injection code ...`
}

How It Works

The extension uses two patching strategies depending on the IDE architecture:

  1. CSS Patch (Kiro): The chat runs in a separate webview with its own CSS file. The extension appends RTL rules directly to that CSS file.

  2. JS Injection (Antigravity, Cursor, Windsurf): The chat is part of the main workbench DOM. The extension injects a MutationObserver script into workbench.desktop.main.js that dynamically detects RTL text and applies styles.


Technical Notes

[!WARNING] IDE updates may overwrite patched files. Simply run the toggle command again after an update.

  • Kiro: Patches extensions/kiro.kiro-agent/packages/continuedev/gui/dist/assets/index.css
  • Antigravity/Cursor/Windsurf: Patches out/vs/workbench/workbench.desktop.main.js

License

MIT License - see LICENSE for details.

Developed with ❤️ by talco.

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