前言¶
在使用 DSH 进行开发时,在侧边栏(DSH-better-sidebar)中打开代码文件后,通常需要手动保存文件并切换到终端执行。这个过程增加了操作步骤。dsh-code-runner 旨在解决这一痛点,通过在编辑器头部自动注入运行按钮,实现代码的一键执行。
功能概览¶
- 自动注入按钮:在编辑器头部末尾自动追加运行按钮。
- 智能过滤:仅对可运行的代码文件显示按钮,避免图片或 PDF 等文件产生干扰。
- 自动保存:点击按钮前自动保存当前文件。
- 终端管理:优先在底部终端运行,窄屏或无底部面板时自动回退到右侧终端。
- 稳定连接:通过 WebSocket 发送命令,保持连接稳定,防止长时间任务被误杀。
- 依赖处理:安装脚本自动检测并安装 dsh-better-sidebar,无需手动处理基座依赖。
- 无污染:不修改 DSH 源码,不注册工具,不污染会话上下文。
安装与启用¶
前置条件¶
- 已安装并启动 DSH。
- 环境要求 Node.js >= 20。
- 已初始化目标 profile(默认为
web)。
安装步骤¶
- 克隆或获取源码。
- 执行安装脚本。以
webprofile 为例:
# macOS / Linux / Windows Git Bash
bash scripts/install.sh --profile web
# Windows PowerShell
powershell -ExecutionPolicy Bypass -File scripts/install.ps1 -Profile web
脚本会自动检测 dsh-better-sidebar。若未安装,脚本将自动执行安装命令。
- 安装完成后,重启 DSH 并硬刷新页面(
Ctrl+Shift+R/Cmd+Shift+R)。
使用说明¶
- 打开 DSH-better-sidebar。
- 在文件树中打开一个可运行的代码文件(支持
.py、.js、.ts、.go等多种扩展名)。 - 点击编辑器头部右侧的
▶按钮。 - 插件会自动保存文件、打开或聚焦底部终端,并执行当前文件。
技术细节与支持范围¶
- 实现原理:使用
MutationObserver监听编辑器头部变化,通过复用 better-sidebar 的/sidebar/ws/terminalWebSocket 协议发送命令。 - 支持语言:支持 JavaScript/TypeScript、Python、Ruby、PHP、Perl、C/C++、Java、Kotlin、Swift、Go、Rust、Zig、Shell、PowerShell、Lua、R、Julia、Dart、Elixir、Scala、F#、Haskell、OCaml、Clojure、Groovy、Nim、V 等。
注意事项¶
- 本插件依赖
dsh-better-sidebar,安装时会自动处理该依赖。 - 请确保环境中的 Node.js 版本满足要求(>= 20)。
- 插件遵循 MIT 许可证。