IDE 模式
IDE 模式让你直接在 OxideTerm 中编辑远程文件——无需下载、本地编辑再重新上传。所有操作通过现有 SSH 连接完成。
CodeMirror 6 编辑器
Section titled “CodeMirror 6 编辑器”编辑器由 CodeMirror 6 驱动,支持:
- 30+ 语言的语法高亮(16 种原生 CodeMirror + 通过
@codemirror/legacy-modes提供的 legacy 模式) - 行号和代码折叠
- 支持正则表达式的查找和替换
- 括号匹配和自动闭合
- 缩进参考线
- 多光标和多选区编辑
- 文件概览 Minimap
原生 CodeMirror 6 模式包括:JavaScript、TypeScript、Python、Rust、Go、C/C++、Java、HTML、CSS、JSON、Markdown、SQL、XML、YAML、TOML、Shell/Bash。更多语言通过 legacy 模式支持。
侧边栏文件树提供远程文件系统导航:
- 懒加载目录 — 仅在展开时加载目录内容,适合大型远程文件系统
- Git 状态指示器 — 文件显示已修改 (M)、未跟踪 (?)、已添加 (A) 状态和颜色标记
- 事件驱动刷新 — 文件树在保存、创建、删除、重命名和终端
Enter按键时自动刷新 - 点击打开文件到编辑器
- 通过右键菜单创建、重命名和删除文件及目录
- 基于扩展名的文件类型图标,便于快速识别
- 文件通过 SFTP 保存回远程服务器
- 乐观 mtime 锁定 — 覆盖前,OxideTerm 检查远程文件的修改时间是否在加载后发生变化。如果发生变化,冲突对话框会出现,让你选择覆盖、重新加载远程版本或查看差异。
- 未保存的更改在标签上以圆点标识
Ctrl+S/⌘+S保存
在标签页中打开多个文件,支持 LRU(最近最少使用)标签管理:
- 切换标签时不会丢失编辑器状态(光标位置、滚动位置、撤销历史)
- 达到最大标签数时,最近最少使用的标签会自动关闭
- 未保存的文件永远不会被自动关闭——它们受 LRU 逐出保护
远程 Agent(可选)
Section titled “远程 Agent(可选)”为增强 IDE 功能,OxideTerm 可将约 1 MB 的 Rust 二进制文件部署到远程服务器。Agent 通过 SSH 通道上的 JSON-RPC 通信。
Agent 提供的功能
Section titled “Agent 提供的功能”- 更快的文件树操作 — 目录列表、文件搜索和符号解析在远程主机上原生运行
- 实时文件监控 — 外部变更(来自其他编辑器或进程)立即反映
- 符号搜索 — 跨项目查找定义和引用
- 43 个 JSON-RPC 方法 — 全面的文件、目录和项目操作
- 在 x86_64 和 aarch64 Linux 上启用 Agent 时自动部署
- 10+ 架构可手动上传:ARMv7 (musleabihf)、i686、LoongArch64、PowerPC64LE、RISC-V64、s390x、x86_64-FreeBSD、aarch64-Android 等
- Agent 二进制文件存储在远程服务器上,重连后仍然保留
- 可从 IDE 面板一键删除
无 Agent 模式
Section titled “无 Agent 模式”IDE 模式无需远程 Agent 即可完整工作。没有 Agent 时,文件树操作通过 SFTP 完成(稍慢),文件监控不可用。在大多数场景下,无 Agent 模式已足够使用。
IDE 模式与终端并行运行——在终端和编辑器标签之间无缝切换。通过连接池共享同一个 SSH 连接,无额外连接开销或认证提示。
IDE 模式参与重连协调器流水线:
- 断连时,协调器快照打开的文件标签和项目路径
- SSH 重连后,IDE 文件自动重新打开
- 文件内容从远程服务器重新获取(而非过期缓存)
- 用户意图检测:如果你在断连期间手动关闭了 IDE 或切换了项目,协调器尊重你的决定,不会强制重开
连接状态非 active 时,所有 IDE I/O 操作被阻断。重连期间编辑器变为只读,连接恢复后自动重新启用。