Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Terminal Manager by SachilaNew to Visual Studio Code? Get it now.
Terminal Manager by Sachila

Terminal Manager by Sachila

Sachila ranawaka

|
1 install
| (0) | Free
See workspace terminals together in a live gallery and pin the terminal you are working with.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Terminal Manager

See the terminals in your VS Code window together in a meeting-style gallery. Pin one to enlarge it while every other terminal keeps updating.

Use

  1. Install terminal-manager.vsix with Extensions: Install from VSIX. The package is built for the machine's operating system and CPU architecture.
  2. Choose Terminal Manager in the Activity Bar and Open Terminal Gallery, or run Terminal Manager: Open.
  3. Click New Terminal and choose a workspace folder. Click inside its tile and type directly into the real shell: Enter, arrow keys, Tab completion, Ctrl+C, and interactive prompts work there. There is no separate command field.
  4. Type independently in any Terminal Manager tile, whether pinned or unpinned. Pinning changes the layout only. Input is never broadcast to other terminals.
  5. Use Open native terminal for the same managed shell in VS Code's terminal panel. Close stops that managed shell and its processes.

Creating and interacting with shells requires a trusted workspace. With no workspace folders open, New Terminal asks you to choose a directory. Managed terminals start using VS Code's default shell (vscode.env.shell), with login-shell behavior on macOS/Linux. Custom profile arguments and extension-provided terminal profiles are not imported.

Existing VS Code terminals

Existing terminals appear automatically as read-only previews. Stable VS Code APIs cannot turn their existing screens into full interactive mirrors. Use Open native terminal to interact with them, or start a new managed terminal in the same repository.

Previews use shell integration to capture output from newly observed commands. Earlier screen contents, prompt output, and commands already running when observation begins are unavailable. Unsupported shells, task terminals, and extension terminals show an explanation. Status and working directory are shown only when reported by VS Code.

Output and lifecycle

  • Requires VS Code 1.93 or newer. Uses stable APIs only, with no special launch flags.
  • Managed terminals use Microsoft's node-pty backend and xterm.js for full shell input/output. They show shell activity and the initial directory; they do not parse shell input to infer command status or the current directory.
  • Each terminal retains the latest 128 Ki UTF-16 characters in memory. Updates are batched at 75 ms and each tile has up to 1,500 scrollback lines. Older output is marked as trimmed.
  • Observation continues while the gallery is hidden or closed. Reopening reconstructs each preview from its retained tail. Very long output can lose earlier formatting state if its retained tail begins mid-line or mid-escape sequence.
  • Managed PTYs resize with their gallery tiles. Opening a native view lets that view control the PTY size until the gallery is focused/resized again. The two views may have different dimensions; full-screen applications can need a redraw after switching.
  • Closing the gallery leaves shells running. Closing a terminal stops its shell and removes its card. Closing/reloading the VS Code window stops managed shells; output and pins do not persist across extension sessions.
  • Terminal output stays in memory. The extension does not save it, transmit it, or write it to logs.

Develop and validate

npm ci
npm test
npm run test:host
npm run package

Press F5 to open an Extension Development Host. The official real-host test runner uses installed VS Code on macOS; set VSCODE_EXECUTABLE_PATH for another executable, or it downloads VS Code on other platforms. Real-host fixtures use POSIX shells on macOS/Linux and PowerShell 7 on Windows. They run in disposable workspace folders with a test-only trusted profile.

The test suite covers discovery, terminal closure, isolated input, pinning, trust checks, unsupported shell integration, output streaming, bounded buffers, and protocol validation. Real-host checks cover ANSI command output, progress while the gallery is closed, reopening, and interactive managed input including Ctrl+C. They also click the padded tile container and dispatch keyboard events in the real webview, checking that commands reach only their intended pinned or unpinned PTY. This regression check runs in CI under Xvfb.

For visual QA, check multiple tiles, pin/unpin, window resizing, light/dark themes, interactive applications, and native/gallery switching. Click focus and command execution in pinned and unpinned tiles have also been verified manually in the VS Code desktop preview. Full theme and responsive-layout QA remains a manual check.

npm run package produces terminal-manager.vsix targeted to the current platform, bundling its native PTY runtime. CI tests and packages macOS ARM64/Intel, Linux x64, and Windows x64. Main-branch pushes also queue automatic patch releases, archive all packages in versions/<version>/, and publish them using Microsoft Entra ID after the identity has been configured. See release setup and recovery.

The packaging tool's transitive @azure/msal-node dependency is pinned to a patched release. Marketplace authentication/publication is not tested.

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