UI Enhancements
open-in-vscode
alex-dsh-plugin/open-in-vscode · ★ 0
DeepSeek Harness (dsh) Web plugin: open workspaces in VSCode from the sidebar, and jump chat-referenced files straight into VSCode with line/column support
Manifest details
安装
dsh plugin --profile web add '@alex-dsh-plugin/open-in-vscode@0.1.5'从 npm 安装预构建包
For install and environment setup, plus plugin development tutorials, see DSH community docs ↗
README
Table of contents
中文 | 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:columnprecision 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
config.command(explicit override);- macOS:
/Applications/Visual Studio Code.app/.../bin/code(including~/Applications); codeon 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
| Key | Default | Description |
|---|---|---|
command |
auto-detected | Absolute path of the VSCode code CLI |
rerouteOpenPath |
true |
Reroute 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