dsh-code-runner:一键运行 DSH-better-sidebar 侧边栏代码文件

前言

在使用 DSH 进行开发时,在侧边栏(DSH-better-sidebar)中打开代码文件后,通常需要手动保存文件并切换到终端执行。这个过程增加了操作步骤。dsh-code-runner 旨在解决这一痛点,通过在编辑器头部自动注入运行按钮,实现代码的一键执行。

功能概览

  • 自动注入按钮:在编辑器头部末尾自动追加运行按钮。
  • 智能过滤:仅对可运行的代码文件显示按钮,避免图片或 PDF 等文件产生干扰。
  • 自动保存:点击按钮前自动保存当前文件。
  • 终端管理:优先在底部终端运行,窄屏或无底部面板时自动回退到右侧终端。
  • 稳定连接:通过 WebSocket 发送命令,保持连接稳定,防止长时间任务被误杀。
  • 依赖处理:安装脚本自动检测并安装 dsh-better-sidebar,无需手动处理基座依赖。
  • 无污染:不修改 DSH 源码,不注册工具,不污染会话上下文。

安装与启用

前置条件

  • 已安装并启动 DSH。
  • 环境要求 Node.js >= 20。
  • 已初始化目标 profile(默认为 web)。

安装步骤

  1. 克隆或获取源码。
  2. 执行安装脚本。以 web profile 为例:
# 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。若未安装,脚本将自动执行安装命令。

  1. 安装完成后,重启 DSH 并硬刷新页面(Ctrl+Shift+R / Cmd+Shift+R)。

使用说明

  1. 打开 DSH-better-sidebar。
  2. 在文件树中打开一个可运行的代码文件(支持 .py、.js、.ts、.go 等多种扩展名)。
  3. 点击编辑器头部右侧的 ▶ 按钮。
  4. 插件会自动保存文件、打开或聚焦底部终端,并执行当前文件。

技术细节与支持范围

  • 实现原理:使用 MutationObserver 监听编辑器头部变化,通过复用 better-sidebar 的 /sidebar/ws/terminal WebSocket 协议发送命令。
  • 支持语言:支持 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 许可证。
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜