Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Terminal Grid PersonalNew to Visual Studio Code? Get it now.
Terminal Grid Personal

Terminal Grid Personal

neliro

|
2 installs
| (0) | Free
Split terminals into a grid layout in a single editor tab — tmux-like panes powered by xterm.js + node-pty
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Terminal Grid Personal

Personal source fork of Terminal Grid, kept under the upstream MIT license.

This fork exists to make local hotfixes durable at source level instead of editing the installed Marketplace extension directory.

Personal Changes

  • Extension identity is neliro.terminal-grid-personal.
  • Display name is Terminal Grid Personal.
  • Commands use the terminalGridPersonal.* prefix.
  • Settings use the terminalGridPersonal.* namespace.
  • Webview panel type is terminalGridPersonal.
  • Sidebar view id is terminalGridPersonal.sidebarView.
  • MCP config key and server name are terminal-grid-personal.
  • MCP bridge default port is 7891.
  • Shift+Enter sends a Codex CLI-compatible multiline prompt break and consumes the native Enter key path before it can submit.
  • Command+Left and Command+Right jump to the beginning/end of the active Codex CLI input line.
  • Command+Up and Command+Down jump to the top/bottom of multiline Codex CLI input.
  • Shift+Command+Arrow focuses the neighboring terminal grid cell on macOS.
  • Command+Option+T opens the latest matching Codex CLI transcript as a readable Markdown editor snapshot.
  • Shift+Command+Option+T opens the latest matching raw Codex CLI JSONL transcript in the editor.
  • Terminal Grid shortcuts are configurable from VS Code Settings under terminalGridPersonal.shortcuts.*; set a shortcut array to [] to disable it.
  • macOS Command+Enter is left to xterm/VS Code; it is not used for Codex CLI multiline input.
  • macOS Command+Delete clears the whole active terminal input line by sending line-start plus kill-line-end control bytes.
  • macOS Command+A is captured so the browser/xterm layer does not select the whole terminal buffer; terminal apps do not expose editable input selection externally, so this sends line-start to keep the shortcut inside Codex CLI.
  • Modifier-click terminal links are routed through the extension host:
    • macOS: Command-click
    • other platforms: Ctrl-click
    • HTTP/HTTPS links open externally.
    • Local .html/.htm file links open externally through macOS's default browser.
    • Other file links open in the VS Code editor when the target exists.
  • Modifier-click link opening clears terminal selection/focus state before switching editor tabs.
  • Keyboard copy and context-menu plain copy join soft-wrapped terminal rows into paragraphs while preserving real terminal row breaks.

Plain Enter and plain click behavior are intentionally unchanged.

PONS Lexicon Lens

Terminal Grid Personal can look up German and English terms with PONS without leaving the terminal grid:

  1. Store the key with Terminal Grid Personal: Set PONS API Key.
  2. Select a word or place the cursor in a terminal cell.
  3. Press cmd+alt+d (Command+Option+D on macOS), or run Terminal Grid Personal: Look Up with PONS.
  4. If no selection was supplied, type a term and press Enter to search.
  5. Use Up/Down arrows to choose a result and press Enter to insert its translation at the active cursor position. Use Left/Right arrows to move between the Lookup, Recent, and Vocabulary tabs.
  6. Use Command+C to copy a selected translation, Command+O to open PONS for the visible term, or Escape to return focus to the invoking terminal.
  7. Open Recent to rerun a prior term, or Vocabulary to insert a remembered translation without another PONS request.

The shortcut is configured by terminalGridPersonal.shortcuts.openDictionaryLookup; use VS Code Settings to replace the default cmd+alt+d binding or set the shortcut array to [] to disable it. If no terminal grid is active, the command opens a native VS Code Quick Pick: press Enter to search, select a Recent term to rerun it, select a result to copy it, or use the globe action to open the term on PONS.

Typing does not query PONS. Only an explicit selection submission or Enter submission can initiate a provider request and affect PONS quota; a repeated successful lookup may instead reuse the in-memory cache. Successful provider results are cached only in memory and are discarded when the extension host restarts.

When terminalGridPersonal.dictionary.rememberHistory is enabled, explicit lookups add bounded local records to Recent and automatically store the first successful result as the preferred translation in Vocabulary. Inserting another sense updates the preferred translation and its reuse count. Vocabulary's Copy TSV action copies the learning list as tab-separated text. Each Vocabulary row can be removed, and the inline Clear controls can clear Recent or Vocabulary after confirmation; Terminal Grid Personal: Clear Dictionary History and Vocabulary clears both lists.

Recent and Vocabulary contain local learning data in VS Code globalState (up to 24 recent terms and 200 vocabulary entries). The extension writes these records only while history recording is enabled. They are not Settings-Synced. Disabling rememberHistory stops new history, vocabulary capture, and reuse updates but does not delete existing records; use the clear controls to remove them. Results come from PONS, and the API key remains in VS Code SecretStorage rather than settings, history, the webview, or logs. See docs/pons-api-credentials.md for setup, privacy, clearing, and key-rotation guidance.

Build

npm install
npm test
npm run compile
npm run package

npm run compile only builds local bundles. It does not install, extract, remove, or reload any VS Code extension.

npm run package writes a local development VSIX named like:

terminal-grid-personal-0.5.0.vsix

Local VSIX files are build artifacts and should not be committed once Marketplace publishing is the release path.

Marketplace Installation

After the Marketplace listing is available through VS Code's extension gallery, install this fork by extension ID:

code --install-extension neliro.terminal-grid-personal

Future updates then come through VS Code's normal extension update flow.

If this command reports that the extension cannot be found immediately after a fresh publish, wait for Marketplace validation/indexing and retry. npx --yes @vscode/vsce show neliro.terminal-grid-personal may see a newly published extension before VS Code's installer can.

If you previously installed this fork from a local VSIX, switch over once:

code --uninstall-extension neliro.terminal-grid-personal
code --install-extension neliro.terminal-grid-personal

Manual VSIX Installation

Manual VSIX installation remains useful for development testing before a Marketplace publish:

code --install-extension terminal-grid-personal-0.5.0.vsix

If upstream koenma.terminal-grid is installed at the same time, disable whichever extension you do not want active in that VS Code profile. This fork uses distinct commands, settings, views, MCP names, and default API port so it can coexist more safely, but both extensions still provide similar user-facing functionality.

Marketplace Release

Future releases are published by .github/workflows/publish-marketplace.yml.

The first Marketplace publish for neliro.terminal-grid-personal has been completed. Durable updates should go through the Marketplace workflow, not committed VSIX files.

Setup that must remain in place:

  • Marketplace publisher neliro.
  • Repository Actions secret VSCE_PAT.
  • Stable package identity neliro.terminal-grid-personal.

Normal updates:

git tag -a v0.5.0 -m "Release Terminal Grid Personal 0.5.0"
git push origin v0.5.0

Create an annotated tag whose version matches package.json exactly. See docs/marketplace-release.md for the full operator checklist.

Agent API

const info = await vscode.commands.executeCommand("terminalGridPersonal.getGridInfo");
await vscode.commands.executeCommand("terminalGridPersonal.sendToCell", 0, "echo hello\r");
const output = await vscode.commands.executeCommand("terminalGridPersonal.readCell", 0, 10);

MCP

The bridge listens on 127.0.0.1 only. The default port is 7891 and can be changed with terminalGridPersonal.apiPort.

The manual Claude Desktop MCP entry key is terminal-grid-personal and points to the packaged mcp-server.js.

Upstream License

Terminal Grid is licensed under MIT. Keep upstream license notices intact when redistributing or modifying this fork.

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