dock-editor:DSH 生態的默認文本編輯器

前言

在 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 的體驗。

插件目錄 | GitHub 倉庫

羽毛球分组比赛记分
小程序二维码

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

小夜