前言¶
在使用 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 許可證。