Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Persian TerminalNew to Visual Studio Code? Get it now.
Persian Terminal

Persian Terminal

Amirhossein_Farshbaf_Rashidi

|
67 installs
| (0) | Free
A Persian-friendly output panel with real shell commands and browser-native Arabic shaping and bidi.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Persian Terminal 0.2.1

A Persian-friendly VS Code panel with persistent shell sessions, independent tabs, and native browser shaping/bidi. Install persian-terminal-0.2.1.vsix, run Developer: Reload Window, then Persian Terminal: Open. VS Code 1.95+ and a trusted filesystem workspace are required.

0.2.1 latency and diagnostics

Successful shell probes are shared across tabs for 60 seconds, keyed by executable path, kind, modification time and size. Concurrent probes share one process; failures are not cached. The last verified shell is retained when closing the final tab, avoiding repeated fallback to an unavailable initial preference. A retry that succeeds with the same executable no longer reports that another shell was selected. Fallback messages now describe a failed initial check rather than assuming the executable is missing.

UI render scheduling is reduced from 60 ms to 16 ms. This does not remove cold PowerShell startup. Run duration includes session startup on the first command and shell processing; it is not a pure Python execution benchmark. No Windows performance gain has been measured.

What is included

  • Persistent sessions: cd, variables, functions, exported environment and virtual-environment activation survive subsequent commands in the same tab.
  • Up to eight independent tabs, with separate output, command history and input drafts. Double-click a tab to rename it; closing it terminates its processes.
  • Shell selection probes installed executables by actually running a small command. Windows: PowerShell, PowerShell 7 and host Git Bash. Unix: Bash, sh, zsh and PowerShell 7 when installed. The legacy System32 WSL bash launcher is excluded. Use VS Code Remote WSL to run the extension inside WSL.
  • Search in the current tab’s retained output (Ctrl+F), highlights, previous/next results; at most 500 displayed matches.
  • Copy or save the output of an individual run to a UTF-8 text file. Toolbar Copy includes commands and retained output for the active tab.
  • Live display controls: font size, compact/comfortable spacing, and right/left/automatic Persian alignment. Settings are saved in VS Code. Bundled Vazirmatn works offline.
  • Run Python File in Persian Terminal in the editor Run menu, editor context menu, Explorer and Command Palette. Saves the file and uses the selected Python extension interpreter, a configured executable override, workspace .venv, or Python on PATH. Python runs in the selected tab’s current directory and inherits its environment.
  • cls, clear and Clear-Host clear output without resetting the session. Ctrl+L and the Clear button also work during a running program.

Session behavior and limits

Sessions persist while the extension host is running, including when the panel is hidden. They are not restored after Reload Window/restarting VS Code. Shells start without profiles. Changing a tab’s shell resets its session.

This release uses pipes, not a PTY. Stop / Ctrl+C terminates the process tree and resets the shell session; the next command starts a fresh shell at the last reported directory. EOF closes stdin and eventually the session. Variables and activation state are lost after session termination. No commands are automatically replayed.

The input field sends a command while idle and sends a line to program stdin while busy. Full-screen terminal programs (nano, vim, htop), interactive shell completion and job-control interfaces remain unsupported. Use the built-in VS Code terminal for these programs. Background jobs or commands that replace/close protocol streams may not be associated with a run precisely. Shell exit closes the session normally.

Only filesystems are supported as working directories. Output is bounded (default 2,000 displayed lines, up to 40 runs per visible tab, and a bounded host transcript). Search/copy/export operate on retained output; they do not recover discarded history. Mixed-script tables may not align like a fixed terminal grid. Original text is never reversed or automatically hex-decoded.

Development

npm ci
npm test
npm run package

Press F5 with the included VS Code launch configuration. All runtime components are JavaScript plus bundled fonts; no native addon or user-side build is required for the VSIX.

src/session.ts manages persistent shell framing and lifecycle; src/shells.ts discovers executable shells; src/extension.ts owns tabs and VS Code integration; media/view.js handles output, search and display controls. media/ansi.js keeps logical output text and ANSI styling. src/powershell-text.ts preserves the legacy CLIXML text decoder; persistent PowerShell uses textual stdin command mode.

Validation

See TEST-REPORT.md for evidence and limits. Bash/sh behavior and DOM workflows are covered by automated tests. Windows PowerShell and visual VS Code rendering require verification on Windows; a Windows-specific session regression test is included. This release should be treated as a test release, not a claim of full terminal compatibility.

Licenses

Extension: MIT. Bundled Vazirmatn v33.003: SIL OFL (media/fonts/OFL.txt), https://github.com/rastikerdar/vazirmatn. Vendored sax 1.6.1: Blue Oak (vendor/SAX-LICENSE.md).

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft