dsh-vscode-mode 0.14.7 → 0.14.9

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/lib/index.js CHANGED
@@ -1304,6 +1304,9 @@ async function refreshMcp(ctx, id) {
1304
1304
  /** 命令 id → 默认键位(可为多候选)。命令目录以此为准,新增命令只需加一项。 */
1305
1305
  const KEYBINDING_DEFAULTS = {
1306
1306
  "edrv.save": "Ctrl+S",
1307
+ "edrv.toggleComment": "Ctrl+Alt+/",
1308
+ "edrv.duplicateLine": "",
1309
+ "edrv.reloadWindow": "",
1307
1310
  "edrv.quickOpen": "Ctrl+P",
1308
1311
  "edrv.toggleSidebar": "Ctrl+B",
1309
1312
  "edrv.searchInFiles": "Ctrl+Shift+F",
@@ -9306,6 +9309,18 @@ async function ensureOpenBridge(ctx, baseUrl) {
9306
9309
  await writeOpenConfig(ctx, dir, baseUrl, inbox);
9307
9310
  return join(dir, "dsh-open.ini");
9308
9311
  }
9312
+ /** @public @author ddj 2026年10月12号
9313
+ * Provision the active profile's independent bridge at startup (desktop or web).
9314
+ * Mirrors unityInstall's per-profile bridge without requiring a registered project,
9315
+ * so Unity can select either target. Unknown profile returns null instead of failing.
9316
+ * @param ctx Active host context.
9317
+ * @param baseUrl Selected public Web URL (unused for desktop wake).
9318
+ * @returns Absolute profile bridge INI path, or null when no owned profile is active.
9319
+ */
9320
+ async function ensureActiveBridge(ctx, baseUrl) {
9321
+ if (!findProfileDir(ctx)) return null;
9322
+ return ensureOpenBridge(ctx, baseUrl);
9323
+ }
9309
9324
  /** @private @author ddj 2026年09月28号
9310
9325
  * Replace a bridge file atomically without following a preexisting file link.
9311
9326
  * @param path Destination in the validated bridge directory.
@@ -23172,6 +23187,16 @@ async function apply(ctx, config) {
23172
23187
  await installPlanTool(ctx, submitPlan);
23173
23188
  ctx.effect(mountInbox, "vscode-mode:open-inbox");
23174
23189
  ctx.effect(() => shellMenuLifecycle(ctx), "vscode-mode:integration");
23190
+ /** @author ddj 2026年10月12号 @returns Active-profile bridge disposer; failures never block boot. */
23191
+ async function provisionBridge() {
23192
+ try {
23193
+ await ensureActiveBridge(ctx, await integrationBaseUrlOf(ctx));
23194
+ } catch (error) {
23195
+ noteWarning("外部打开桥接未就绪:" + String(error));
23196
+ }
23197
+ return () => {};
23198
+ }
23199
+ ctx.effect(provisionBridge, "vscode-mode:bridge");
23175
23200
  sweepTreeCache();
23176
23201
  await logCompatSummary(ctx, warnings);
23177
23202
  log.info("编辑差异审查已装配(认证路由、项目 MCP 作用域、SVN 方案工具与外部打开通道)");