Heaticy OMP Terminal
用于 VS Code 和 VSCodium 桌面版的 SSH/Linux TUI 终端扩展。提供有界输出缓冲、独立渲染视图和远端文件链接,适用于 OMP 以及其他终端程序。
Open VSX 当前通过 Release 通道提供 0.3.6。不需要修改 OMP 二进制文件,不会强行迁移已经运行的终端。已验证范围和待验证事项见 VERIFICATION.md。
路径末尾的英文句号在原路径不存在时作为句末标点处理;工作区之外的目录通过远端文件选择器浏览,不替换当前工作区。
使用
- 安装
heaticy.omp-terminal,打开一个受信任的 Linux SSH 工作区。
- 在命令面板运行 Heaticy OMP: Open Fast TUI Terminal,输入
omp 或其他命令。
- 按住 Ctrl 点击文件链接,在当前 SSH 工作区打开;支持相对路径、
file:、旧 Code 文件链接和行列定位。
- 用 Heaticy OMP: Reconnect Fast TUI Session 重连本扩展保存的会话。
远端需要已有的 Python 3 和 tmux,本机需要可用的 OpenSSH 客户端。扩展不会自动安装远端包。SSH 认证使用本机配置和 agent;后台连接使用 BatchMode,不会弹出密码输入框。
长会话处理
- 优先 WebGL,图形上下文丢失时回退,保留终端内容。
- 默认最多每秒刷新 60 次;合并输出批次,出现积压时短暂降低刷新频率。
- xterm 解析完成后才确认输出。最多 128 KiB 未确认数据,积压时对 PTY 施加背压,不丢弃输出或裁断转义序列。
- 默认保留 2,000 行显示历史,可设为 0–20,000 行;不删除 OMP 的磁盘会话历史。
- 面板隐藏时暂停前端刷新。
- 在独立的
tmux -L omp-terminal 服务中创建会话;断开后可重连,退出 shell 才结束对应会话。
这些机制针对显示与传输积压。OMP 自身的历史加载、计算、磁盘阻塞及操作系统鼠标卡顿仍需分别诊断。
现有终端链接
普通路径识别会自动加到现有集成终端。显式 OSC 8 链接可能被编辑器优先处理,普通链接提供器无法可靠拦截。可先使用 Heaticy OMP: Open Remote File or Link 粘贴路径。
Windows 上可选的 Heaticy OMP: Enable Existing Terminal Remote Links 会:
- 经确认后,备份并包装当前用户的
vscode: 处理入口。
- 仅把登记 SSH 目录下的 Linux 文件路径交给对应编辑器。
- 将普通 Windows 文件和其他 VS Code 链接转交原处理程序。
- 为以后创建的集成终端设置 OMP 已支持的
PI_LINK_SCHEME、PI_LINK_HOST,使用专用 omp-terminal: 链接。
登记同时覆盖工作区路径、远端主目录和远端真实路径,以处理软链接。 默认也覆盖 /tmp 和 /var/tmp;多台主机无法确定归属时会拒绝打开,Windows 驱动器路径保持原处理。临时文件已被清理时,应重新导出或保存到持久目录,插件不会从终端文字重建图像。工作区之外的审稿目录等可通过 heaticyOmpTerminal.legacyExtraPaths 登记,建议设置到对应 SSH 工作区。路由跟随编辑器应用进程,而不是扩展宿主;重新聚焦窗口时检查入口是否被原安装器覆盖。只修复已知的原命令,不覆盖未知处理程序。
兼容入口只处理经过 Windows 协议入口的旧链接。编辑器在内部截获的链接仍可能绕过它;推荐新会话使用专用协议或独立终端视图。该可选功能要求现有标准 Microsoft Code URL 处理程序。
可恢复的优化设置
Heaticy OMP: Apply TUI Optimizations 保存并关闭终端平滑滚动,保留当前集成终端 GPU 选择。
默认保留无障碍支持。仅当显式开启 heaticyOmpTerminal.disableAccessibility 后,才关闭编辑器读屏模式,并在 Windows VSCodium 的常用启动入口加入原生无障碍关闭参数。它会影响辅助工具读取 Codium 内容,需要下次完整启动才生效;不重载现有窗口。
新终端可通过 heaticyOmpTerminal.screenReaderMode 开启读屏输出,编辑器已明确启用读屏模式时也会开启。Heaticy OMP: Restore Previous TUI Settings 恢复备份,并保留之后手动改过的值。
平台与验证范围
| 功能 |
VS Code |
VSCodium |
| 独立 SSH TUI 终端、输出背压 |
支持 |
支持 |
| 独立视图中的远端文件链接 |
支持 |
支持 |
| 普通集成终端路径提供器 |
支持 |
支持 |
| Windows 可选协议兼容入口 |
支持,需桌面验收 |
已在本地原型验收 |
| Windows 原生无障碍启动参数保护 |
暂不提供 |
可选 |
要求编辑器版本 1.95 或更高。兼容 API 已按 1.95 类型定义检查;完整 VS Code 桌面、跨平台和长期使用验收仍在进行,详见 VERIFICATION.md。
恢复与卸载
卸载前运行 Heaticy OMP: Restore Original Code Link Handler,还原可选的 Windows 协议包装,并停止向新终端注入专用链接变量。已运行 OMP 的环境变量不会被外部修改。
如果扩展已经卸载,独立恢复脚本和原始入口备份保存在 %LOCALAPPDATA%\OMP-Terminal\links,可用 PowerShell 对其中的 restore-link-handler.ps1 指定同一 -StateDirectory 并加 -Restore 执行恢复。恢复过程不会覆盖之后被其他程序或用户修改的处理入口。
没有遥测;诊断不记录终端正文、键盘输入、认证信息或会话文件。不会关闭整个 Windows 的无障碍接口,也不会重建 GPU 进程。
开发
npm ci
npm run check
npm test
npm run release:check
npm run package
Linux 测试真实 PTY 与 tmux;Windows 的只读路由测试使用一个临时模拟进程,不改系统协议。两个市场的发布流程见 PUBLISHING.md。