dsh-plugin-workbench 0.0.8 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,45 @@
4
4
  格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),
5
5
  版本号遵循 [Semantic Versioning](https://semver.org/lang/zh-CN/)。
6
6
 
7
+ ## [0.0.10] - 2026-08-21
8
+
9
+ ### Fixed
10
+
11
+ - **「在资源管理器打开」不生效(窗口打开但不可见)**:Windows 下 `spawn` 传
12
+ `windowsHide: true` 会让新开的资源管理器文件夹窗口以**隐藏状态**创建
13
+ (CREATE_NO_WINDOW 沿请求一路传导,窗口存在但 `visible=False`,用户什么都
14
+ 看不到)。`explorer.exe` 是 GUI 子系统程序,不带 `windowsHide` 也不会闪
15
+ 控制台;`reveal` 端点现在对 explorer.exe 全部不传该标志(含 WSL 转译分支),
16
+ 资源管理器窗口正常弹出并选中目标文件
17
+
18
+ ### Added
19
+
20
+ - **整列右键菜单**:不只文件行——在左栏任何空白处、头部、剪贴板条上右键
21
+ 都弹出当前工作区目录菜单(新建文件 / 新建文件夹 / 粘贴 / 全选 / 撤销 /
22
+ 复制路径 / 在资源管理器打开 / 在系统中打开 / 刷新);右键菜单自身不再触发
23
+ 浏览器原生菜单
24
+ - **@ 在消息中引用(Claude Code 式文件引用)**:文件右键菜单新增
25
+ 「@ 在消息中引用」,把 `@相对工作区路径`(自动带尾随空格)插入聊天输入框
26
+ 光标处;发送后消息里的 `@相对路径` 渲染为超链接(点击在工作台预览中打开
27
+ 该文件),语法为 `@` + 相对工作区路径——`@src/a.ts`、`@README.md` 匹配,
28
+ 绝对路径 / 邮箱 / 无路径形状的普通 `@文本` 一律按原样显示、无特殊含义;
29
+ 中文句子标点跟尾视为普通文本
30
+ - **拖文件进会话**:把左栏文件(含多选)拖到聊天区任意位置(不在左栏内)
31
+ 即把路径文本插入聊天输入框光标处;拖到左栏目录行仍是原有的移动操作
32
+ - **任意位置点击取消选中**:选中文件/文件夹后,点击树外任何地方(会话、
33
+ 其他栏、左栏头部)都会清除选中;树内空白/提示行点击同样取消
34
+
35
+ ## [0.0.9] - 2026-08-21
36
+
37
+ ### Added
38
+
39
+ - **布局补丁自动修复(自愈)**:插件 host 端在启动时自动检测
40
+ `dsh-client-ui-layout` 客户端 bundle 是否还带 explorer 列补丁;若已被
41
+ DSH 升级 / `pnpm install` 覆盖还原(这正是 workbench 列无声消失的根因),
42
+ 会自动重跑 `scripts/patch-layout.mjs` 重打。幂等(已打则跳过)、非阻塞
43
+ (spawn 后台执行,不影响启动)、安全(锚点不匹配时脚本 abort 不写文件,
44
+ 仅记录警告,插件照常启动)。
45
+
7
46
  ## [0.0.8] - 2026-08-20
8
47
 
9
48
  ### Fixed
package/README.md CHANGED
@@ -11,7 +11,8 @@
11
11
  粘贴 / 在系统中打开 / 在资源管理器打开)+ 图片内联预览,每个工作区独立保存状态。
12
12
  装上之后,DSH 网页就是一个轻量代码编辑器。
13
13
 
14
- > ⚠️ 安装后需打一个布局补丁(见下方安装节)。
14
+ > ⚠️ 安装后需打一个布局补丁(见下方安装节);0.0.9 起插件启动时会自动检测并重打,
15
+ > DSH 升级覆盖 bundle 后无需再手动跑。
15
16
 
16
17
  ## 功能
17
18
 
@@ -24,11 +25,17 @@
24
25
  干净标签页自动重读,带未保存编辑的标签页显示「⟳」徽标(点击重新加载)
25
26
  - **行号栏**:编辑器左侧逻辑行号,与文本滚动锁定对齐(纯文本/高亮模式均生效)
26
27
  - **图片预览**:png/jpg/gif/webp/avif/svg 等直接内联渲染(同源字节路由,20MB 上限)
27
- - **右键菜单**(VS Code 风格):文件/文件夹/空白区域均可右键——
28
+ - **右键菜单**(VS Code 风格):文件/文件夹/**整列任意空白、头部**均可右键——
28
29
  新建文件、新建文件夹、重命名、删除(递归带确认)、复制路径、复制 / 剪切 / 粘贴、
29
- 刷新、在系统中打开、
30
+ 刷新、在系统中打开、全选、撤销、
30
31
  在资源管理器打开(文件在所在文件夹中被选中,文件夹直接打开;
31
32
  Windows `explorer` / macOS `open`,WSL 自动转译)
33
+ - **@ 在消息中引用**:文件右键「@ 在消息中引用」把 `@相对工作区路径` 插入聊天输入框;
34
+ 发送后消息中的 `@相对路径` 渲染为超链接(点击在工作台预览打开),
35
+ 语法为 `@` + 相对工作区路径,其它 `@文本` 一律按原样显示、无特殊含义
36
+ - **拖文件进会话**:把文件/多选从左栏拖到聊天区任意位置,路径文本插入输入框光标处;
37
+ 拖到左栏目录行仍是移动操作
38
+ - **任意位置点击取消选中**:点击树外的任何地方(会话/其它栏/左栏头部)清除选中
32
39
  - **复制 / 剪切 / 粘贴**:Ctrl/Cmd+C/X/V(或右键菜单),支持跨工作区粘贴;
33
40
  复制到同名已存在的目标时询问「是否覆盖」,与系统文件管理器一致;
34
41
  剪切(移动)成功后自动清空剪贴板
@@ -53,14 +60,17 @@
53
60
 
54
61
  无需环境变量或配置文件,安装后打一次布局补丁即可:
55
62
 
56
- - **布局补丁**:`node node_modules/dsh-plugin-workbench/scripts/patch-layout.mjs`
57
- (针对 `dsh-client-ui-layout@0.1.0-rc.6` 编写,DSH 升级覆盖 bundle 后需重跑);
63
+ - **布局补丁**:插件 host 端启动时自动检测并重跑 `scripts/patch-layout.mjs`
64
+ (幂等、非阻塞;针对 `dsh-client-ui-layout@0.1.0-rc.6` 编写)。DSH 升级覆盖
65
+ bundle 后插件会自动补回;若自动重打失败(锚点失效),可手动运行
66
+ `node node_modules/dsh-plugin-workbench/scripts/patch-layout.mjs`;
58
67
  - **行为偏好**(自动换行、亮暗主题、标签布局、文件树展开状态)按工作区持久化,无需手动配置;
59
68
  - **文件操作通道**:经 loopback RPC `/dsh-plugin-files`,写操作显式以 `danger-full-access` 执行,无外部配置项。
60
69
 
61
70
  ## 安装
62
71
 
63
72
  > 布局补丁针对 `dsh-client-ui-layout@0.1.0-rc.6` 编写,其他版本需更新锚点。
73
+ > 0.0.9 起插件启动时自动检测并重打补丁(详见「配置」节)。
64
74
 
65
75
  ```powershell
66
76
  # npm(推荐)
@@ -86,6 +96,9 @@ node node_modules/dsh-plugin-workbench/scripts/patch-layout.mjs
86
96
  # 重启 dsh web
87
97
  ```
88
98
 
99
+ > 0.0.9 起插件启动时会自动检测并重打布局补丁,DSH 升级后无需再手动跑;
100
+ > 仅当自动重打失败(锚点失效)时才需手动执行上面的命令。
101
+
89
102
  ## 开发
90
103
 
91
104
  ```powershell
@@ -107,7 +120,8 @@ dsh plugin --profile web remove dsh-plugin-workbench
107
120
  右键菜单的新建/重命名/删除同样经该通道(loopback 信任,与编辑器保存一致)
108
121
  - 图片预览走同源路由 `/dsh-plugin-files/raw/<path>`:仅响应图片扩展名,
109
122
  先经 `ctx.fs.resolve → stat`(沙箱一致的路径解析)再读取字节,20MB 上限
110
- - DSH 升级会覆盖布局 bundle,需重新运行补丁脚本;锚点失效时更新 `scripts/patch-layout.mjs`
123
+ - DSH 升级会覆盖布局 bundle;0.0.9 起插件启动时自动检测并重打补丁,
124
+ 无需手动重跑;锚点失效时需更新 `scripts/patch-layout.mjs`
111
125
  - 本仓库不包含 DSH 编译产物
112
126
 
113
127
  ## 参与贡献