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 仓库

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

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

小夜