baobaolaodie/dsh-tui-vscode ↗★ 14

dsh-tui-vscode

在VS Code集成终端中运行dsh-TUI 适合习惯在VS Code内进行多会话终端交互的开发者。

包名
dsh-tui-vscode
兼容性
待验证
版本
0.7.6
许可证
MIT
最近更新
2026年10月6日

安装

此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗

Usage

  • Start / open more: click the editor-title whale button, or run dsh-tui: Start new session / 启动新会话 — every click opens a NEW DeepSeek terminal on the Beside column and runs dsh-tui automatically; click again for another concurrent session. The activity-bar whale icon opens the sidebar session history (its welcome view offers start/resume buttons).
  • Resume the last session: dsh-tui: Resume last session / 恢复上次会话 (--resume, reads ~/.dsh-tui/resume.txt).
  • Resume a specific session: in the sidebar session history, expand a project and click a session — a new terminal boots it with DSH_TUI_RESUME_SESSION= in its environment.
  • Stop: close the terminal tab (ends only that session), or double Ctrl+C inside the TUI; dsh-tui: Terminate session / 终止会话 sends Ctrl+C to the most recent terminal.
  • Reference selected code: with editor focus, press Ctrl+Alt+K (macOS Cmd+Alt+K), or use the Command Palette / editor context menu "Insert @-mention" — it inserts the current file or selection as @relative/path#Lstart-end into the running dsh-tui input box (relativized against the workspace root; single line #L12, multi-line #L12-14, bare relative path when nothing is selected; dsh-TUI natively slices the attachment to the line range at submit time instead of loading the whole file). With no running session it falls back to copying to the clipboard.

    ⚠️ Version gate: the #L line-range syntax requires dsh-TUI ≥ 0.9.1 (upstream PR #537, released in v0.9.1 on 2026-08-25); against an older dsh-TUI, @ mentions report the file as missing — upgrade dsh-TUI first.

    • Keybinding conflicts: the default Ctrl+Alt+K (macOS Cmd+Alt+K) may collide with extensions like opencode (the official terminal mode uses the same default). If it does not work or conflicts, open "Keyboard Shortcuts" (Ctrl+K Ctrl+S), search dsh_tui, and rebind it to your preferred keys; the context-menu / command-palette entries are unaffected.
  • Automatic selection context (on by default): editor selections are pushed in real time to the running dsh-tui over the IDE selection channel (300 ms debounce, coordinates plus the editor's selection text, never touching the input box); asking a question automatically attaches the selected content and shows a "⧉ Selected N lines from …" indicator line; when the channel is unavailable it falls back to typing @relative/path#L…. Requires dsh-TUI ≥ 0.11.0 — the IDE selection channel (upstream PR #562, released in v0.11.0 on 2026-09-24).

Configuration

KeyDefaultDescription
dsh-tui-vscode.commanddsh-tuiLaunch command (resolved to an absolute path against the HOST PATH before being sent)
dsh-tui-vscode.extraArgs[]Extra CLI args, e.g. ["--lang","en"]
dsh-tui-vscode.terminalLocationeditorTerminal placement: editor (new editor-area column) / active (current column) / panel (bottom panel)
dsh-tui-vscode.lang""""/zh/en, exported as DSH_TUI_LANG
dsh-tui-vscode.imageProtocolsixelWhat to export as DSH_TUI_IMAGE_PROTOCOL: sixel (real raster images — needs terminal.integrated.enableImages to be true with the window reloaded and terminal.integrated.gpuAcceleration left at auto/on; degrades to half-block character art otherwise), none (always half-block character art), auto (removes the variable from the session environment and lets dsh-TUI decide). Requires dsh-TUI ≥ 0.10.0. See Terminal images.
dsh-tui-vscode.injectEditortrueExport $VISUAL when unset
dsh-tui-vscode.editorCommandcode -wValue exported as $VISUAL
dsh-tui-vscode.dshHome""$DSH_HOME override (empty = inherit)
dsh-tui-vscode.autoInsertMentiontrueOn selection change, push the selected code to the running dsh-TUI over the IDE selection channel (300 ms debounce; coordinates plus the editor's selection text, no input-box takeover; dsh-TUI attaches the content verbatim at submit and shows an indicator line). Requires dsh-TUI ≥ 0.11.0 (IDE selection channel, upstream PR #562); falls back to typing @relative/path#Lstart-end when the channel is unavailable.