Releases: SubtleSpark/ChangeLines
Release list
ChangeLines 0.3.5
0.3.5:精简审阅工具栏
Changes 文件列表顶部移除两个低频导航按钮:审阅并下一个、下一个未审阅。
- 主工具栏现在只保留审阅进度、标记/取消已审阅和“审阅”菜单,减少视觉噪音。
- 文件夹批量审阅、文件夹汇总开关、单文件行数、审阅状态和窄栏固定显示均不受影响。
- 两个导航 Action 的底层能力继续保留,可通过 Keymap、支持的右键菜单以及现有 Diff 集成使用;本次只降低它们在主界面的视觉优先级。
- 增加工具栏结构回归测试,避免后续再次把这两个动作放回主工具栏。
最低 IDEA 2026.1(261)。发布后下载 ChangeLines-0.3.5.zip,通过 Install Plugin from Disk… 安装,不要解压,安装后重启。
ChangeLines 0.3.4
0.3.4:文件夹汇总可按需开启
在 Changes 文件列表的 审阅 菜单新增 显示文件夹汇总 开关,默认关闭。
- 开启后恢复文件夹/模块/包分组的增删合计、子文件审阅进度及需重审/跳过提示。
- 关闭后仅隐藏这些汇总文字,保留 IDEA 原生文件夹名称、图标和文件数。
- 单个文件的行数、红绿配色、审阅状态以及顶部总进度不变。
- 文件夹批量审阅、取消审阅和“审阅并下一个”不依赖该开关,关闭时仍可使用。
- 按项目记住选择,同一项目的比较窗口共用,重启后保留;切换后更新显示,无需重开窗口。
- 不改变行数算法、内容指纹、审阅记录或侧边栏溢出定位规则。
增加默认关闭、原生菜单切换、比较窗口之间共享、重开比较、关闭后的失效动作及文件夹批量审阅回归测试;继续保留原有侧边栏绘制和 IDEA 2026.1 / 2026.2.0.1 兼容性检查。
最低 IDEA 2026.1(261)。发布后下载 ChangeLines-0.3.4.zip,通过 Install Plugin from Disk… 安装,不要解压,安装后重启。
自动化平台测试不等同于 macOS 实机人工验收。
ChangeLines 0.3.3
0.3.3:侧边栏过窄时固定显示变更统计
继续增强原来的 Changes Between / Local Changes 文件树,不改行数算法、审阅记录或红绿配色。
显示规则
- 空间足够:
+新增 / -删除和审阅信息继续紧跟原生文件名/路径,不统一强制右对齐。 - 超出右侧可见范围:统计区域固定到侧边栏右侧,前面的长路径/文件名显示省略号,不与统计文字重叠。
- 文件、文件夹合计、展开/折叠的分组使用同一规则。
- 拖宽侧边栏后自动恢复正常行内显示;水平滚动时基于当前 viewport 定位,而不是整棵树的内容宽度。
- 保留原生复选框、图标、选中背景、文件背景以及原有红绿配色,不加设置项。
- 特别窄时先省略尾部审阅说明;完整行文本仍可从 tooltip/无障碍名称读取。如果窄到复选框、图标和数字本身都放不下,仍需要适当拓宽,不将数值改为缩写或伪造零行。
实现与验证
仅在绘制时调整文字和统计位置,不替换 tree model,不修改审阅数据,不在绘制中读取文件/revision,也不在 renderer 里递归查询 row bounds。绘制后恢复原生文本片段、属性和链接标记,保留原始行宽供原生水平滚动和展开提示使用。
增加 CellRendererPane 像素测试和真实 ChangesTree 文件/文件夹集成测试,覆盖短行、长路径、选中背景、缩放宽度、深层缩进、水平滚动、窄栏审阅说明、Unicode 截断、完整文本恢复及 viewport listener 清理。测试生成的图片随 CI verification-reports 上传。
最低 IDEA 2026.1(261);保留 IDEA 2026.1 / 2026.2.0.1 兼容性检查与安装包检查。自动化测试不等同于 macOS 实机人工验收。
安装
发布后下载 ChangeLines-0.3.3.zip,不解压:Settings → Plugins → 齿轮 → Install Plugin from Disk… → 重启。
ChangeLines 0.3.2
0.3.2:文件夹行数合计与批量审阅
继续使用原来的 Changes Between… 文件树,不迁移到 Project View,也不改变红绿配色。
新功能
- 文件夹、模块及目录分组显示所有下级变更文件的
+新增 / -删除合计,包括折叠子目录、删除文本文件和压缩显示的包路径。 - 文件夹显示子文件审阅进度;全部可审阅文件完成后显示“已审阅”,内容变化时显示剩余进度和“需重审”。
- 选中文件夹,点击原生工具栏“标记已审阅”,批量标记其中全部可审阅变更文件;再次点击“取消已审阅”可整体取消。
- 支持多个文件夹、多层父子目录与文件混合选择,重叠选择自动去重。只处理当前比较树中的文件,不扫描磁盘上其他文件。
- “审阅并下一个”支持文件夹和多选,完成后从所选范围的末尾继续查找。
安全边界
- 目录批量标记跳过已知二进制、读取失败及内容超限文件,显示“跳过 N”;尚在核对的子文件不会被当作已完成,也不会被静默跳过,需等待内容指纹就绪。
- 部分文件不能统计时显示“部分统计”,没有有效统计时不伪装成
+0 -0。 - 文件夹没有独立的永久“已审阅”标记:状态由当前子文件推导。新增或改变的子文件不会继承文件夹的完成状态。
- Diff 工具栏仍只标记它实际显示的那个文件,不受文件树选中文件夹的影响。直接多选文件仍保留完整校验、全部成功后才写入的行为。
- 合计从已有后台统计缓存生成;renderer 不遍历磁盘、不读取 revision。加总使用 long,避免目录合计 int 溢出。
安装
下载 ChangeLines-0.3.2.zip,不解压:Settings → Plugins → 齿轮 → Install Plugin from Disk… → 重启。
最低 IDEA 2026.1(261)。构建包含新增的原生文件夹树、批量操作、混合不可审阅项、等待中、内容变更、导航和 Diff 隔离测试,并保留已有回归测试及 2026.1 / 2026.2.0.1 兼容性检查。发布附件来自通过全部检查的同次构建,附 SHA256SUMS。
这版通过现有原生工具栏操作文件夹,不新增行尾独立按钮。自动化平台测试不等同于 macOS 实机人工外观验收。
ChangeLines 0.3.1
0.3.1:修复 Changes Between 中完全不生效的问题
0.3.0 把功能误迁移到了 Project View / Local Changes,删除了真正目标 Changes Between 的集成。这是插件回退,不需要调整用户设置。
修复
- 恢复原生 Changes Between 比较树的逐文件
+新增 / -删除和审阅状态;工作区干净时同样生效。 - 使用当前比较的左右 revision,而不是当前工作区的改动。删除、重命名文件保留在比较中。
- 文件列表的原生工具栏可直接标记、取消、审阅并下一个;无需手写直角右键弹层。
- 原生 Diff 的动作绑定实际显示的文件,切到别的文件或模型失效后不会误标。
- 不可审阅文件从进度分母排除,并在连续导航中跳过。待核对文件不算已审阅。
- 恢复本机、比较级完整内容指纹校验;本地修改后不允许确认过期指纹。
- 增加真实 VcsChanges 窗口 + Native ChangesBrowser + 无本地修改的回归测试,防止再次只测插件加载而漏掉目标入口。
安装
下载 ChangeLines-0.3.1.zip,无需解压:Settings → Plugins → 齿轮 → Install Plugin from Disk… → 重启。
最低 IDEA 2026.1(261)。CI 验证 2026.1 / 2026.2.0.1,附件来自同次通过验证的构建,附 SHA256SUMS。
边界
没有实现原生树行尾独立可点击图标。0.3.1 撤回 0.3.0 的 Project View-only 工作流;0.2.x 已保存的相同比较记录可继续读取,0.3.0 的本地工作区标记不混入历史比较。
原生 toolbar / popup 外观由 IDEA 和主题决定。自动化平台验收不等同于 macOS 实机人工外观验收。未跟踪文件专用节点、staging 专用视图和 Remote Development 前端尚不支持。
ChangeLines 0.3.0
0.3.0:Project View Review 重构
这版按照调研结果重写 Review 主链路,删除 0.2.x 中对 Changes Tree renderer、AWT hierarchy 和 Diff UI 的注入。
新入口
- Project View 直接显示本地变更的
+新增/-删除。 - 四态审阅:
○ 未审阅 / ✓ 已审阅 / ! 需重审 / ⊘ 不可审阅。 - Local Changes 与 Unversioned Files 合并为 Review Scope。
- 已审阅文件再次变化会立即进入“需重审”,后台 fingerprint 会再次核实。
- Project View 右键提供 Mark / Unmark / Mark & Next / Next / Reset。
- Project View 顶部显示审阅进度,并提供 Next / Reset。
- 普通 Local Change 使用 IDEA 原生 Diff,Unversioned 直接打开编辑器。
状态保存
审阅记录保存在项目 workspace state。记录的是 VCS root、路径、before revision 与左右内容共同生成的 SHA-256 fingerprint,不是简单的 path 布尔值。
切分支、baseline 或内容发生变化时,旧 Reviewed 不会错误沿用。
边界
- Binary、读取失败和超出保护大小的文件作为 skipped。
- Deleted file 因没有 Project View 节点也作为 skipped。
- 不实现原生 Project View 行尾独立 clickable button;该能力没有稳定公开扩展点。
- 0.3.0 主攻 Local Changes Review;任意历史 revision 的 Changes Between 仍可使用 0.2.x。
最低 IntelliJ IDEA 2026.1(261)。
ChangeLines 0.2.0
0.2.0:记录文件审阅进度
在原生 Changes 文件树中记录哪些文件已经 review,不改变 0.1.2 的红绿行数配色。
- 文件右键 → ChangeLines 审阅 → 标记 / 取消已审阅,支持多选文件。
- 列表顶部显示 已审阅 N / M,也可通过顶部 审阅 菜单操作。
- 标记并打开下一个未审阅文件:复用原生 Diff 打开行为,并跳过已审阅项;折叠目录中的文件也会被找到。
- 对于能关联到当前比较树的原生 Diff,工具栏提供审阅按钮。标记绑定该 Diff 的实际文件,不会误标其他窗口选中的文件。
- 不会因打开文件自动标记。记录的是审阅进度,不是审批通过。
保存与失效
记录保存在 IDEA 配置目录的 options/ChangeLinesReviews.xml,不在项目仓库中,不通过 Settings Sync 同步,只保存哈希、不保存源代码内容。
主目标 Changes Between… 根据项目和完整对比标题区分记录。同一对比重开/重启后恢复进度;相同分支对比更新后,左右内容均未改变的文件保留标记,任一侧内容改变显示 需重审。未核对完的记录不会计入已审阅进度。
普通 Git Log 使用实际 revision 区分记录。无法确定稳定比较身份的第三方视图只提供临时记录;提示见进度文字。对比标题或 IDE 界面语言变化可能产生新的记录。首版只支持能够安全读取并计算完整内容指纹的文本文件;二进制、读取失败或超过内容大小限制的文件不可标记,仍列入总文件数。
安装 / 更新
下载 ChangeLines-0.2.0.zip(不要解压,不是 Source code)。
IDEA → Settings → Plugins → 齿轮 → Install Plugin from Disk… → 选择 ZIP → 重启。最低 IDEA 2026.1(261),无需另装 Java / Gradle。
可在 Settings → Keymap 搜索 ChangeLines 为树上的四个审阅操作绑定快捷键;默认不抢占已有快捷键。
验证
发布由统计测试、原生 IDEA 平台/颜色/审阅测试、2026.1 / 2026.2.0.1 二进制兼容性检查及 ZIP 结构检查共同把关;附件来自同一次通过验证的构建,附 SHA256SUMS。
自动化平台测试不等同于 macOS 实机人工界面验收。未覆盖未跟踪文件节点、Git staging 专用视图和远程开发前端的独立树。
ChangeLines 0.1.2
0.1.2:恢复原来的红绿配色
恢复 0.1.0 的行数配色:新增为绿色,删除为红色,保留原来的明暗主题适配。不增加设置项或配色模式。
仅恢复行数渲染配色;文件名、字体、图标、选中样式和统计算法均保持不变。
安装 / 更新
下载本页 Assets 中的 ChangeLines-0.1.2.zip,不要解压,也不要下载 Source code。
IntelliJ IDEA → Settings → Plugins → 齿轮 → Install Plugin from Disk… → 选择 ZIP → 重启 IDEA。已安装旧版时直接安装此包更新。
最低版本:IntelliJ IDEA 2026.1(build 261)。无需另外安装 Java 或 Gradle。
验证与限制
发布流程要求统计测试、IDEA 2026.1 平台和颜色回归测试、2026.1 / 2026.2.0.1 二进制兼容性检查及安装包结构检查全部通过。附件是同一次构建中被验证的 ZIP,附 SHA256SUMS。
平台集成测试不等同于所有第三方主题和各操作系统上的人工桌面验收。未覆盖未跟踪文件节点、Git staging 专用视图或远程开发前端的独立树实现。
ChangeLines 0.1.1
0.1.1:跟随 IDEA 内置配色
移除行数统计自定义的明暗两套 RGB 和 ChangeLines.added / ChangeLines.removed 主题键。
- 文件名、字体、图标、背景继续由 IDEA 原生 renderer 绘制,不做修改。
+新增使用 IDEA 内置FileStatus.ADDED颜色,-删除使用FileStatus.DELETED颜色。颜色由当前 VCS 配色设置决定,不强制绿色或红色;部分主题的删除色可能为灰色。- 每次渲染重新读取配色,支持切换主题/配色方案以及修改 VCS 颜色,不缓存旧的 RGB。
- 选中行的颜色和对比度继续遵循原生树组件规则。未指定状态颜色时继承原生文字色。
统计算法和支持的 Changes 页面与 0.1.0 相同。新增原生配色、动态配色修改和选中行配色回归测试。
安装 / 更新
下载本页 Assets 中的 ChangeLines-0.1.1.zip,不要解压,也不要下载 Source code。
IntelliJ IDEA → Settings → Plugins → 齿轮 → Install Plugin from Disk… → 选择 ZIP → 重启 IDEA。已安装 0.1.0 时直接安装此包更新。
最低版本:IntelliJ IDEA 2026.1(build 261)。无需另外安装 Java 或 Gradle。
验证与限制
Release 工作流只在编译、统计测试、IDEA 2026.1 平台集成测试、2026.1 / 2026.2.0.1 二进制兼容性检查和安装包结构检查全部通过后发布;附件是同一次构建中被验证的 ZIP,附 SHA256SUMS。
平台集成测试不等同于所有第三方主题和各操作系统上的人工桌面验收。未覆盖未跟踪文件节点、Git staging 专用视图或远程开发前端的独立树实现。
ChangeLines 0.1.0
安装
下载本页 Assets 中的 ChangeLines-0.1.0.zip,不要解压,也不要下载 Source code。
IntelliJ IDEA → Settings → Plugins → 齿轮 → Install Plugin from Disk… → 选择 ZIP → 重启 IDEA。
最低版本:IntelliJ IDEA 2026.1(build 261)。无需另外安装 Java 或 Gradle。
功能
在原生 Changes Between … and … 的每个文件后追加 +新增行数 -删除行数。使用同类原生 ChangesTree 的本地变更和 Git Log 文件列表也会显示统计。不创建新的工具窗口,不修改 Git 仓库。
比较的是各文件节点自身的两个 revision,不会用当前工作区内容替代历史分支对比。统计在后台完成,包含缓存、并发和大文件保护;保留原有图标、勾选框和 Diff 操作。
验证与限制
Release 工作流只在编译、统计测试、IDEA 2026.1 平台集成测试、2026.1 / 2026.2.0.1 二进制兼容性检查和安装包结构检查全部通过后发布;附件是同一次构建中被验证的 ZIP,附 SHA256SUMS。
集成测试使用真实 IDEA 平台和原生树组件,但不等同于各操作系统上的人工桌面验收。未覆盖未跟踪文件节点、Git staging 专用视图或远程开发前端的独立树实现。二进制或无法读取的文件显示状态,而不是错误地显示零行。