dsh-vscode-mode 0.14.11 → 0.14.12

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 CHANGED
@@ -464,13 +464,13 @@ profile 请替换为实际目标,不要把示例目录当成当前运行 profi
464
464
 
465
465
  ```bash
466
466
  # ① Git 安装(clone + prepare 构建;推荐打固定 tag)
467
- dsh plugin --profile web add github:Lenonss/DSH_VsCodeMode#v0.14.11
467
+ dsh plugin --profile web add github:Lenonss/DSH_VsCodeMode#v0.14.12
468
468
 
469
469
  # ② npm 注册表(发布到 npm 后)
470
- dsh plugin --profile web add dsh-vscode-mode@0.14.11
470
+ dsh plugin --profile web add dsh-vscode-mode@0.14.12
471
471
 
472
472
  # ③ GitHub Release tgz 直装(Release asset 可用后)
473
- dsh plugin --profile web add https://github.com/Lenonss/DSH_VsCodeMode/releases/download/v0.14.11/dsh-vscode-mode-0.14.11.tgz
473
+ dsh plugin --profile web add https://github.com/Lenonss/DSH_VsCodeMode/releases/download/v0.14.12/dsh-vscode-mode-0.14.12.tgz
474
474
  ```
475
475
 
476
476
  > **DSH 版本政策(0.14.10 起)**:六项 DSH peer 统一声明为 `*`,不再维护逐版
@@ -808,6 +808,8 @@ Keep All / Undo All 却是亮的。修复:单文件 Keep / Undo 覆盖冲突
808
808
  完整变更见 [GitHub Releases](https://github.com/Lenonss/DSH_VsCodeMode/releases)。
809
809
  近期关键版本:
810
810
 
811
+ - **v0.14.12**:**搜索框全选与模糊文件搜索**——工作区搜索打开/再次聚焦时在输入更新后全选旧词或编辑器选区种子,便于直接改写;Ctrl+P 支持大小写不敏感的文件名有序非连续匹配(如 `bn` → `BaseNavigationManager.cs`、`ISTSD` → `ISTaskSystemData.lua`),保留带目录的连续路径查询与 DAP 文件定位规则。更新后需重启 DSH Host;真实 GUI 行为、主题/滚动和 Console 尚未验收,发布不代表现场验收完成。
812
+
811
813
  - **v0.14.11**:**编辑快捷键文案与动作验证**——注释菜单不再写死默认键位,避免自定义绑定后显示误导;明确编辑器本地 Ctrl+D 向下复制、不使用剪贴板;加强原生动作转发与幂等清理断言。默认键位与编辑算法不变,详见 [0.14.11 发布说明](docs/release-0.14.11.md)。
812
814
  - **v0.14.10**:**简化 DSH 版本政策**——六项 DSH peer 统一为 `*`,取消逐版白名单、上界和仅因版本较新的告警,保留实际能力与冲突诊断;开发依赖固定原版本,避免自动解析漂移。npm 默认预发布语义和验收边界见 [0.14.10 发布说明](docs/release-0.14.10.md)。
813
815
  - **v0.14.9**:**编辑快捷键与桌面安全刷新**——`Ctrl+/` 保留官方快捷键入口,行注释改为 `Ctrl+Alt+/`(Web Linux 默认不绑定);编辑器本地 `Ctrl+D` 调用 Monaco 原生向下复制行,块注释不变。桌面 `Ctrl+Shift+R` 刷新当前界面、不重启 Host;未保存代码/PDF、待保存、保存中或外部冲突时拒绝刷新,界面状态镜像失败/超时也不刷新。真实 GUI 按键和状态恢复尚未验收,详见 [0.14.9 发布说明](docs/release-0.14.9.md)。
package/lib/client.js CHANGED
@@ -30987,6 +30987,7 @@ window.__ModuleLoader__.load({
30987
30987
  const seqRef = react.default.useRef(0);
30988
30988
  const timerRef = react.default.useRef(null);
30989
30989
  const inputRef = react.default.useRef(null);
30990
+ const [focusTick, setFocusTick] = react.default.useState(0);
30990
30991
  const queryRef = react.default.useRef("");
30991
30992
  queryRef.current = query;
30992
30993
  const activePathRef = react.default.useRef(activePath);
@@ -31175,7 +31176,6 @@ window.__ModuleLoader__.load({
31175
31176
  queryRef.current = seed;
31176
31177
  setQuery(seed);
31177
31178
  runSearch(seed);
31178
- inputRef.current?.select?.();
31179
31179
  return true;
31180
31180
  };
31181
31181
  /**
@@ -31200,16 +31200,23 @@ window.__ModuleLoader__.load({
31200
31200
  react.default.useEffect(() => {
31201
31201
  applyScopeSeed();
31202
31202
  applySeed();
31203
+ setFocusTick((tick) => tick + 1);
31203
31204
  }, []);
31204
31205
  react.default.useEffect(() => {
31206
+ /** @private @author ddj 2026年10月14号 @description 消费种子并请求提交后聚焦全选;不额外发起搜索。 */
31205
31207
  const onFocus = () => {
31206
31208
  applyScopeSeed();
31207
31209
  applySeed();
31208
- inputRef.current?.focus?.();
31210
+ setFocusTick((tick) => tick + 1);
31209
31211
  };
31210
31212
  window.addEventListener("edrv:search-focus", onFocus);
31211
31213
  return () => window.removeEventListener("edrv:search-focus", onFocus);
31212
31214
  }, []);
31215
+ react.default.useLayoutEffect(() => {
31216
+ if (!focusTick) return;
31217
+ inputRef.current?.focus?.();
31218
+ inputRef.current?.select?.();
31219
+ }, [focusTick]);
31213
31220
  const groups = react.default.useMemo(() => {
31214
31221
  if (!Array.isArray(matches)) return [];
31215
31222
  const map = /* @__PURE__ */ new Map();