前言¶
在 DSH 生態中,處理代碼和配置文件通常需要獨立的查看器或編輯器。dock-editor 作爲一款客戶端插件,解決了查看器只能讀、通用編輯器難以集成的問題。它註冊爲默認查看器,通過 CodeMirror 6 提供統一的編輯體驗。
是什麼¶
dock-editor 是一款基於 MIT 許可證的文本編輯插件,由開發者 AKS1st 維護。它旨在爲 DSH 用戶提供一個功能完備的編輯環境,支持代碼高亮、撤銷重做、文件保存及未保存確認等核心功能。
核心功能¶
該插件通過 CodeMirror 6 實現了以下核心能力:
- 代碼與配置高亮:支持 ts/js/json/yaml/toml/ini/css/html/xml/py/sh 等多種擴展名的代碼/配置文件高亮。具備行號、括號匹配、實時代碼高亮及增量解析能力。
- VSCode 風格搜索:搜索浮窗位於編輯器右上角(獨立於 CodeMirror 面板),支持
Ctrl+F查找、Ctrl+H替換、F3/Shift+F3跳轉。支持實時匹配高亮、計數統計及上下移動,滾動時僅滾動編輯區。 - 編輯與快捷鍵:支持
Ctrl+S保存,Ctrl+Z/Ctrl+Y撤銷/重做,Ctrl+C/V/X/A複製粘貼全選。額外支持Alt+↑/↓移動行和Ctrl+/註釋。 - 安全性限制:
- 大小限制:單文件讀取上限爲 256 KiB。超過上限的文件僅顯示前 256 KiB 且禁用保存。
- 路徑限制:讀取路徑不限會話工作區(可查看外部文件);寫入路徑限制在會話工作區內,越界會返回 403。
- 二進制檢測:讀取時探測 NUL 字節,二進制文件會顯示提示而非亂碼。
- 交互細節:關閉帶未保存修改的窗口時會彈出確認;懸浮窗位置與大小會被記住(幾何記憶);默認開啓自動換行。
安裝與啓用¶
使用 DSH 命令行安裝:
dsh plugin --profile web add dock-editor
前置依賴:需要滿足 dock >= 0.1.0 和 dock-files >= 0.1.0。
典型用法¶
- 編輯代碼:在文件列表中點擊文件,直接進入編輯模式,享受代碼高亮與自動補全。
- 搜索替換:在編輯器內按
Ctrl+F打開搜索框,輸入內容後使用↑/↓切換,Enter鎖定,⇄展開/摺疊替換面板。 - 保存文件:修改完成後按
Ctrl+S保存,或通過Ctrl+Z回滾修改。
適用場景與注意¶
- 平臺要求:客戶端平臺爲 Web。
- 可選依賴:
React^18.2.0 爲可選依賴,若未安裝則編輯器 UI 不激活。 - 性能開銷:編輯器打包後大小約 1.12 MB (gzip ~300 KB)。
- 安全說明:
/desk-editor路由只接受受信任來源(迴環地址 / trustedHosts + 同源檢查)的 POST 請求。
總結¶
dock-editor 爲 DSH 提供了統一的文本處理能力,從簡單的配置查看到複雜的代碼編輯,通過 CodeMirror 6 實現了接近原生 IDE 的體驗。