帮助 / DiffPatch.webtool.es 功能
界面
- 并排的两个编辑器:代码(左)和补丁/差异(右)。
- 快捷按钮:复制、粘贴、粘贴到代码、手动快照。
- “应用补丁”按钮,带有 hunk 计数和处理时间。
- 补丁编辑器下方始终可见且可折叠的“输出/错误”面板。
- 根据结果着色编辑器背景:绿色(OK)、黄色(部分)、红色(错误)。
- 在补丁编辑器中按 hunk 显示“斑马纹”,便于阅读。
- 状态徽章(OK/部分/错误)与 hunk 数;点击跳转到下一个失败。
- 带可编辑名称(双击/双击触控)和未保存变更指示的标签栏。
应用补丁
- 支持标准统一 diff 和无头补丁;识别隐式“@@” hunk。
- 对空白友好:边缘裁剪、精确匹配、忽略缩进、忽略所有空白,以及忽略引号/转义/注释的宽松模式。
- 遵守并规范化行结尾(LF/CRLF),若存在则保留末尾换行。
- 当没有删除时按上下文插入;当混合 ctx/del/add 时进行本地扫描。
- 若内容已应用则避免重复插入(幂等)。
- 识别并保留“No newline at end of file”和常见 Git 头,在应用时忽略它们。
- 在合适情况下根据 ---/+++ diff 头自动命名标签页。
错误可视化
- 高亮代码中的问题行,并在行号处打点标记。
- 在补丁编辑器中标记相应行以便交叉参考。
- 详细尝试日志(使用的模式、候选、失败原因、期望 vs 实际)。
- 使用 Alt+↑ 和 Alt+↓ 在失败之间导航。
历史与版本
- 按标签页维护历史:打补丁后自动快照,也可按需手动快照。
- 将内容粘贴或拖入代码编辑器时自动快照。
- “原始”选项可恢复到标签页初始状态。
- 每条记录显示日期/时间、已应用的 hunk 数以及大小(行/字节)。
文件与项目
- 多个文件标签页,带“未保存”指示。
- 在浏览器中保存项目(IndexedDB),名称和 ID 稳定。
- 加载并管理已保存项目(列表与删除)。
- 从页眉芯片重命名项目(双击/双击触控)。
- 根据 diff 检测到的文件名自动命名标签页。
导入与导出
- 将活动文件按标签名下载为 .txt。
- 将整个项目下载为 ZIP(每个标签页一个文件)。
- 将文件或文本拖放到任一编辑器中。
- 若将文件拖入代码编辑器,则使用其内容,并可能以其名称重命名标签页。
- 若将 diff 粘贴/拖入补丁编辑器,则会检测文件并可自动命名标签页。
剪贴板
- 快速复制代码编辑器的内容。
- 将剪贴板内容粘贴到两个编辑器。
- 当补丁 100% 应用时自动将结果复制到剪贴板(状态:“已应用,已复制到剪贴板”)。
语言与本地化
- 界面提供 13 种语言(es, en, fr, de, it, pt, ru, zh, ja, ko, ar, hi, tr)。
- 带“自动”模式的语言选择器;在浏览器中持久化。
- URL 包含 ?lang=XX 以共享语言。
- 支持阿拉伯语从右到左书写。
主题与外观
- 主题选择:浅色、深色或自动(跟随系统)。
- 同步 CodeMirror 主题以提升阅读体验。
- 根据主题自动调整 hunk 斑马纹和对比度。
编辑与语言检测
- 自动检测文件语言,并可按标签页手动选择。
- 动态加载 CodeMirror 模式以高亮语法。
- 根据检测到的文件扩展名设置模式。
无障碍与易用性
- 使用键盘快捷键在失败间导航并执行常用操作。
- 按钮带有无障碍标签(aria‑label)与工具提示。
- 在关闭/刷新且有未保存更改时发出警告。
- 移动手势:双击以重命名标签页和项目。
安全与数据
- 项目与历史保存在本地浏览器中(IndexedDB)。
- 剪贴板在本地使用;浏览器可能请求权限。
- 语言包从“/i18n/<code>.json”加载,无需上传你的文件。
选项
- 选择界面语言(或“自动”)。
- 选择界面主题(浅色、深色或自动)。
- 按标签页手动设置文件语言(或保持自动)。
- 保存/加载项目并管理已保存项。
- 下载活动文件或整个项目(ZIP)。