dsh-vscode-bridge:在 DSH 中内嵌固定版本 code-server

DSH 采用“一切皆插件”的理念。此插件在 DSH 中心区视图内嵌入固定版本 code-server(VS Code Web),支持安装扩展、浏览/编辑文件等全部 code-server 能力;提供 pinned / 自定义二进制两种服务器来源、端口与目录配置、安装进度与热切换。

核心功能

实例池与热切换

插件采用实例池机制管理 code-server 实例:按 workspace 缓存实例,同空间会话互切命中同一实例,实现零重载。当实例池满(默认上限 2)时,会弹出窗口让用户选择要腾位的实例,被踢出的实例会整体销毁。

服务器来源与配置

支持两种服务器来源:
- pinned:使用插件内置的固定版本。
- custom:使用用户指定的二进制路径。

用户可配置端口、工作区目录、打开目录跟随当前空间的开关以及实例池上限。

UI 交互与布局

  • 主题跟随:自动跟随 DSH 深色主题或 VS Code 浅色主题。
  • 专注布局:默认开启。新打开的 VS Code 默认以“副边栏(右侧 Codex 面板)最大化”进入,隐藏状态栏与欢迎页,活动栏保留。
  • 信任打开的目录:默认开启,禁用 Restricted Mode,确保 Codex 等扩展在目录下可用。

版本迭代修复

  • 0.1.8:内置扩展资源自动补齐,解决 code-server 4.135.0 缺少浏览器端 bundle 导致黑屏的问题。
  • 0.1.19 - 0.1.23:持续修复实例池、布局初始化、主题跟随收敛、信任目录、副边栏默认定位等功能。

安装与启用

安装插件需要 Node.js >= 20 环境。安装流程如下:

  1. 进入 DSH 仓库目录。
  2. 安装插件包(将插件行追加进 profile 层栈)。
cd <dsh 仓库>
pnpm dsh plugin --profile web add <本插件目录>/dsh-vscode-bridge-0.1.20.tgz
  1. 重启 dsh web(建议脱离终端重启以落盘日志)。
bash <本插件目录>/scripts/restart-dsh-web.sh <dsh 仓库> <工作区>

典型用法

安装完成后,插件会在 DSH 原生右栏(better-sidebar 0.19+ / DSH 0.1.5 宿主)或中心区视图出现页签。

  1. 配置服务器:在侧栏齿轮 → “VS Code Server”设置页,选择服务器模式(pinned 或 custom),配置端口与目录。
  2. 会话切换:在同一个 DSH 空间内切换会话,VS Code 页面会保持当前状态或零重载,不会重新冷启动。
  3. 使用专注模式:在设置页关闭“专注布局”开关,或手动在 VS Code 中调整布局后,后续打开该目录将保留用户自定义布局。

适用场景与注意

  • 环境依赖:需要安装目录下的特定文件(如 cordis.patch.yml, dsh.plugin.json 等),且需 code-server 4.135.0 官方 tarball(插件会自动补齐内置扩展资源)。
  • 调试隔离:若需独立调试,可通过 DSH_VSCODE_BRIDGE_WORKSPACE 环境变量覆盖插件的工作区根,实现独立 profile/端口。
  • 版本管理:升级版本时需重新打包 tgz 并按上述步骤重装 + 重启。

资源

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

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

小夜