dsh-vscode-mode 0.13.0 → 0.14.0
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/README.md +57 -15
- package/lib/client.js +22666 -22351
- package/lib/client.js.map +1 -1
- package/lib/index.js +228 -12
- package/lib/index.js.map +1 -1
- package/package.json +2 -2
- package/src/client/index.ts +83 -13
- package/src/client/navHistory.ts +45 -0
- package/src/client/officialSidebar.ts +59 -1
- package/src/client/paths.ts +6 -0
- package/src/client/shortcutsOfficial.ts +26 -0
- package/src/client/state/mdPreviewCache.ts +74 -0
- package/src/client/state/navStateCache.ts +83 -0
- package/src/client/state/uiStatePersist.ts +562 -0
- package/src/client/styles/mcp.css +1 -19
- package/src/client/ui/EditorView.ts +65 -10
- package/src/client/ui/McpSettings.ts +26 -4
- package/src/paths.ts +59 -3
- package/src/rpc.ts +50 -3
- package/src/shared/rpc.ts +24 -0
- package/src/uiState.ts +165 -0
- package/src/client/shortcutRecorder.ts +0 -161
- package/src/client/ui/ShortcutSettings.ts +0 -274
package/README.md
CHANGED
|
@@ -65,8 +65,9 @@
|
|
|
65
65
|
分类 / 当前键位;需要打开文件的命令在空编辑器时自动隐藏。
|
|
66
66
|
|
|
67
67
|
- **单一数据源**:命令目录(`ui/commandCatalog`)驱动命令栏和官方快捷键目录;
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
键位查看/改绑统一走 DSH 官方快捷键配置(设置 → VSCodeMode → 通用 →
|
|
69
|
+
「打开官方快捷键配置」,或 `Ctrl+/`),插件不再自建录键界面,绑定由官方服务持久化。
|
|
70
|
+
旧版 DSH 没有该服务时继续使用原有窗口按键派发,旧 `keybindings` 设置仍可生效。
|
|
70
71
|
- **开放注册表**:`window.__edrvCommands__` 暴露 `register()` 注册命令;插件
|
|
71
72
|
不再提供独立的运行时键位注册,改用 DSH 官方 shortcuts 配置。
|
|
72
73
|
- **开箱 20 条命令**:保存 / 快速打开 / 在文件浏览器中打开 / 显示所有命令 /
|
|
@@ -423,6 +424,29 @@ TortoiseSVN(`TortoiseProc.exe`)仅作 Windows 过渡增强:自研能力覆
|
|
|
423
424
|
`运行到行` = 临时断点 + 继续(命中/手动继续后自动清理,不污染用户断点表);
|
|
424
425
|
`添加触发的断点...` 当前适配器不支持 → 点击给出明确提示(不做静默失败的假功能)。
|
|
425
426
|
|
|
427
|
+
### 18. 界面状态记忆(v0.14.0,跨重启)
|
|
428
|
+
|
|
429
|
+
DSH 每次启动监听随机端口,`http://127.0.0.1:<port>` 就是浏览器 origin,**只写
|
|
430
|
+
`localStorage` 的界面状态换一次启动就全丢**。本版把界面状态镜像到 DSH home,重启后
|
|
431
|
+
自动恢复。
|
|
432
|
+
|
|
433
|
+
- **记忆项**:打开的页签与活动页签(含固定态)、每个文件的光标与滚动位置(Monaco
|
|
434
|
+
`saveViewState()`)、侧栏开关/宽度/面板、资源管理器展开与工作区折叠、官方编辑 Tab
|
|
435
|
+
激活态、Markdown 预览态(按文件)、导航历史(前进/后退)、规则分页、搜索面板、
|
|
436
|
+
SVN 过滤与折叠、调试面板监视与折叠、DAP 四段分栏高度、断点(按适配器语言)。
|
|
437
|
+
- **存储位置**:`DSH_HOME/dsh-vscode-mode/cache/workspace/<hashOf(cwd)>/ui.v1.json`
|
|
438
|
+
(工作区私有)与 `cache/user/ui-globals.v1.json`(跨工作区共享,如工作区折叠)。
|
|
439
|
+
写前合并,同一文件内多工作区/多键互不覆盖;单键超 64 KB 分片上传。
|
|
440
|
+
- **不镜像**:目录条目缓存(`edrv.cache.entries.v2.*`,体积大且可重建);临时弹窗、
|
|
441
|
+
未落盘的编辑缓冲不恢复。
|
|
442
|
+
- **恢复语义**:启动时取回镜像回填 `localStorage`,**本地已有值一律保留**(不覆盖
|
|
443
|
+
当前 origin 的真实状态);回填完成后广播 `edrv:ui-state-ready`,晚到的界面组件据此
|
|
444
|
+
重跑恢复。取回失败按 8×800ms 有界重试,重试耗尽则退回纯 `localStorage`(行为与
|
|
445
|
+
0.14.0 之前一致),不阻断插件加载、不拖慢启动(slot 注册前最多等 600ms)。
|
|
446
|
+
- **自检**:设置页「兼容性」与 RPC `edrv.compat` 可查看运行时报告;镜像读写的时间线记在
|
|
447
|
+
`DSH_HOME/dsh-vscode-mode/logs/debug.<hashOf(cwd)>.log`(无会话期诊断落在
|
|
448
|
+
`debug.<hashOf('ui-state')>.log`)。
|
|
449
|
+
|
|
426
450
|
## 安装
|
|
427
451
|
|
|
428
452
|
官方 `dsh plugin` 方式,三选一。下面以 `web` profile 为例;Desktop 或其他命名
|
|
@@ -431,13 +455,13 @@ profile 请替换为实际目标,不要把示例目录当成当前运行 profi
|
|
|
431
455
|
|
|
432
456
|
```bash
|
|
433
457
|
# ① Git 安装(clone + prepare 构建;推荐打固定 tag)
|
|
434
|
-
dsh plugin --profile web add github:Lenonss/DSH_VsCodeMode#v0.13.
|
|
458
|
+
dsh plugin --profile web add github:Lenonss/DSH_VsCodeMode#v0.13.1
|
|
435
459
|
|
|
436
460
|
# ② npm 注册表(发布到 npm 后)
|
|
437
461
|
dsh plugin --profile web add dsh-vscode-mode
|
|
438
462
|
|
|
439
463
|
# ③ GitHub Release tgz 直装
|
|
440
|
-
dsh plugin --profile web add https://github.com/Lenonss/DSH_VsCodeMode/releases/download/v0.13.
|
|
464
|
+
dsh plugin --profile web add https://github.com/Lenonss/DSH_VsCodeMode/releases/download/v0.13.1/dsh-vscode-mode-0.13.1.tgz
|
|
441
465
|
```
|
|
442
466
|
|
|
443
467
|
> `dsh plugin ...` 是 pnpm 转发器:git 安装会克隆仓库、执行该包 `prepare` 脚本
|
|
@@ -481,7 +505,9 @@ bundles 层后重启 DSH 即自动把插件行挂进 loader 树。**不要**再
|
|
|
481
505
|
### 快捷键速查
|
|
482
506
|
|
|
483
507
|
以下是桌面端常见默认键位;Web / Linux 的浏览器或系统保留键可能不绑定。
|
|
484
|
-
|
|
508
|
+
实际生效键位以 **DSH 官方快捷键配置**为准:设置 → VSCodeMode → 通用 →「打开官方
|
|
509
|
+
快捷键配置」(或 `Ctrl+/`)。插件命令与官方命令同表展示、由官方统一校验冲突;
|
|
510
|
+
旧版 DSH 无官方 shortcuts 时沿用原有键位。
|
|
485
511
|
|
|
486
512
|
| 快捷键 | 功能 |
|
|
487
513
|
|---|---|
|
|
@@ -526,23 +552,25 @@ bundles 层后重启 DSH 即自动把插件行挂进 loader 树。**不要**再
|
|
|
526
552
|
|
|
527
553
|
## 配置
|
|
528
554
|
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
555
|
+
键位配置统一走 DSH 官方快捷键:设置 → VSCodeMode → 通用 →「打开官方快捷键配置」
|
|
556
|
+
(等价 `Ctrl+/`;官方入口不可用时按钮就地给出手动打开方式)。录键、冲突校验、
|
|
557
|
+
按平台默认值、恢复默认都在官方弹窗内完成,插件不再自建录键页面。键位持久化由官方
|
|
558
|
+
服务负责(Desktop:`userData/keybindings.json`;Web:`localStorage` 的
|
|
559
|
+
`dsh.keybindings.v1`)。旧版插件 `keybindings` 配置的单候选自定义值按当前平台
|
|
560
|
+
一次性尝试迁入官方存储;旧配置始终保留供其他平台及人工恢复,多候选、冲突、
|
|
561
|
+
不支持或未绑定的旧值不会被部分迁入或删除。
|
|
534
562
|
|
|
535
563
|
v0.13.0 在 0.12 官方接管的基础上修正真实 `normalized` 绑定与物理 Control/Meta
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
564
|
+
的转换;首次打开命令面板/QuickOpen 等入口按当前会话 scope 路由,不要求编辑器先挂载。
|
|
565
|
+
Web 工作区搜索使用官方当前平台允许的三修饰符组合,最终显示与冲突判断以官方目录为准。
|
|
566
|
+
v0.13.1 起插件不再自建录键界面(原独立「快捷键」设置页与共享录制模块已移除),
|
|
567
|
+
改由通用页的「打开官方快捷键配置」入口直达官方弹窗。
|
|
540
568
|
|
|
541
569
|
设置 →「VSCodeMode」页:
|
|
542
570
|
|
|
543
571
|
| 分区 | 说明 |
|
|
544
572
|
|---|---|
|
|
545
|
-
| 通用 | 编辑器宽度(180–560)等 / 系统集成卡片 / 文件链接使用工具 / 开发形态开关 |
|
|
573
|
+
| 通用 | 编辑器宽度(180–560)等 / 系统集成卡片 / 文件链接使用工具 / 开发形态开关 / 官方快捷键配置入口 |
|
|
546
574
|
| 我的 MCP / 项目 MCP | MCP 服务器可视化管理(stdio / streamable-http) |
|
|
547
575
|
| 性能优化 | 会话盘点 / 移出归档 / 压缩调优 / 侧车摘要指引 |
|
|
548
576
|
| 兼容性 | 兼容性报告(外部插件探测、路由 / 重复装配护栏)、插件技能组装载状态、旧版形态引导 |
|
|
@@ -763,6 +791,20 @@ Keep All / Undo All 却是亮的。修复:单文件 Keep / Undo 覆盖冲突
|
|
|
763
791
|
完整变更见 [GitHub Releases](https://github.com/Lenonss/DSH_VsCodeMode/releases)。
|
|
764
792
|
近期关键版本:
|
|
765
793
|
|
|
794
|
+
- **v0.14.0**:**界面状态跨 DSH 重启恢复**——DSH 每次启动端口随机,origin 一变
|
|
795
|
+
`localStorage` 就换了一份空的,插件的页签、光标、侧栏、编辑 Tab 等全部界面状态都
|
|
796
|
+
随之丢失。本版把界面状态镜像到 DSH home(`cache/workspace/<hash>/ui.v1.json` 与
|
|
797
|
+
`cache/user/ui-globals.v1.json`,写前合并),新增 RPC `edrv.uiState.get/set`,客户端
|
|
798
|
+
包装 `localStorage` 写口去抖推送、启动回填并广播 `edrv:ui-state-ready`;同时补上
|
|
799
|
+
官方编辑 Tab 激活态、Markdown 预览态与导航历史三项记忆。发布前两轮现场复盘修掉两个
|
|
800
|
+
并存根因:水合冷启动失败即永久放弃(现为 8×800ms 有界重试 + 重试耗尽也广播就绪)、
|
|
801
|
+
界面在回填前写空初值把存档覆盖掉(现为「水合结束前不写存档 + 迟到回填后重跑恢复」)。
|
|
802
|
+
详见 [0.14.0 发布说明](docs/release-0.14.0.md)。
|
|
803
|
+
- **v0.13.1**:**快捷键入口收敛到官方弹窗**——移除插件自建的独立「快捷键」设置页
|
|
804
|
+
(含行内录键编辑器与共享录制模块 `shortcutRecorder.ts`),改在 VSCodeMode → 通用页
|
|
805
|
+
提供「打开官方快捷键配置」一键跳转(`openOfficialShortcuts()`;官方入口不可用时
|
|
806
|
+
就地给出手动打开方式)。键位查看、录键、冲突校验与恢复默认全部由 DSH 官方弹窗承担,
|
|
807
|
+
避免同一套录键逻辑两处维护;0.13.0 的绑定转换修复与 Web 三修饰符默认值不变。
|
|
766
808
|
- **v0.13.0**:**Host 鉴权与 Desktop 适配、项目 MCP 三面隔离、外部打开回执**——
|
|
767
809
|
`/edrv` 路由接入官方认证与有界请求体读取,URL 保留应用子路径并支持 `dsh-app:`;
|
|
768
810
|
项目 MCP 改为每 agent 挂载,隔离工具/资源/指令,新增配置态、未验证状态与实例数;
|