alex-dsh-plugin/open-in-vscode

open-in-vscode

DeepSeek Harness (dsh) Web 插件:工作区一键打开 VSCode,对话内文件路径点击跳转 VSCode(支持 文件:行:列)

Uncategorizedai-codingcordis-plugindeepseek-harness

dsh-open-in-vscode

中文 | English

A DeepSeek Harness (dsh) Web plugin that bridges the browser GUI and VSCode.

Features

One-click workspace opening

The sidebar workspace row's ... menu gains an Open in VSCode entry:

  • If VSCode already has the project open, its window is focused;
  • Otherwise a new window opens the project.

Chat file navigation

File paths the agent prints open in VSCode on click:

  • Works with inline file mentions in closing responses, produced-file chips, and tool-row open buttons;
  • When the owning project isn't open yet, its window opens first, then the file is revealed;
  • Supports file:line:column precision jumps;
  • Falls back to the system default opener whenever VSCode is missing or the open fails — a click never dead-ends.

Install

dsh plugin --profile web add @alex-dsh-plugin/open-in-vscode

Restart dsh web to load the plugin. The package ships its own bundle layer, so installing is enough — no manual profile editing.

To override defaults (e.g. pin the editor path), append to ~/.dsh/profiles/web/cordis.patch.yml:

- id: vscode
  config:
    command: /Applications/Visual Studio Code.app/Contents/Resources/app/bin/code

Editor resolution order

  1. config.command (explicit override);
  2. macOS: /Applications/Visual Studio Code.app/.../bin/code (including ~/Applications);
  3. code on PATH — shims belonging to other editors (e.g. Cursor) are skipped.

If none is found, every gesture falls back to the system default opener.

Configuration

KeyDefaultDescription
commandauto-detectedAbsolute path of the VSCode code CLI
rerouteOpenPathtrueReroute chat-surface file opens to VSCode

Known limitations

  • The menu injection relies on the current sidebar DOM structure; an upstream redesign silently disables the menu entry (everything else keeps working).
  • Clickable file references follow the stock vocabulary: files produced in the current turn (exact path or unique basename), plus tool-row open buttons.
  • Two workspaces with identical titles are ambiguous — no menu entry is injected for them.
  • Local deployments only (browser and host on the same machine).

License

MIT © Alex