中文
Viff 0.4.4 让 diff 更聚焦:未更改的大段代码默认折叠成一行,并排视图的两栏可以拖动调整宽度。
下载
- 项目主页
- macOS Apple Silicon · DMG
- macOS Intel · DMG
- Windows x64 · 安装 EXE
- Windows x64 · 便携 ZIP
- Linux x64 · DEB
- Linux x64 · 便携包
- SHA-256 校验值
- 全部下载文件
重点更新
这一版改进了代码对比的阅读方式:只看改动,不再被大段相同的代码占满屏幕,并排视图也能按需分配左右宽度。
✨ 新功能
- 并排与统一视图默认折叠未更改的片段,每个改动保留三行上下文;折叠行显示隐藏的行数,点击该行或聚焦后按 Enter / Space 即可展开。
- diff 工具栏新增「折叠未更改的片段」开关,关闭后显示完整文件,重新开启时回到全折叠。
- 并排视图的分隔条可拖动调整左右宽度,聚焦分隔条后也可用左右方向键调整,双击恢复默认比例;比例保留在当前页签。
⚡ 改进
- 搜索命中位于折叠片段时自动展开并滚动到该行,改动标记、同步滚动与文本选择仍与折叠后的可见行对齐。
升级说明
- 从 v0.4.3 升级:设置文件格式未变,旧配置继续可用;新增的折叠开关在旧配置下默认开启,可在 diff 工具栏关闭。
- macOS:按机型选择 Apple Silicon 或 Intel 的 DMG,退出旧版后打开 DMG,将 Viff.app 拖入“应用程序”并替换旧版。
- Windows:退出旧版后运行 x64 安装器。
- Windows 便携包:解压后进入新目录执行
viff.exe,不写入安装信息。 - Debian/Ubuntu:执行
sudo apt install ./viff-v0.4.4-linux-amd64.deb。 - Linux 便携包:解压后进入新目录执行
./viff,并自行安装所需系统库。 - Git 需单独安装并加入
PATH,Linux 系统库要求见发布指南。
兼容性与已知问题
- macOS 要求 13 或更高版本;Linux 需要可用的图形会话、渲染后端和发布指南中列出的系统库。
- macOS 应用使用 ad-hoc 签名,未经 Developer ID 签名或公证;Windows 安装器未经 Authenticode 签名,系统可能显示安全提示。
- 远程仓库是只读观察模式:只支持 key/agent 认证,服务器需为 Linux/macOS 并安装 Git;fetch/pull/push、暂存与提交、应用内编辑、冲突接受、终端与外部打开都不可用,文件变化依赖每 5 秒轮询
git status。 - 应用内编辑只支持工作树中的 UTF-8 文本文件,原始文件和保存后的内容都不超过 1 MiB;历史版本、diff 与冲突仍只读,也不提供补全、多光标或自动保存。
- Windows 和 Linux 上外部工作区文件变化可能需要最多约 30 秒才会刷新;WSL 仓库使用独立的轮询间隔。
- Subversion 属性编辑和锁操作尚未实现;WSL 仓库的内置终端与内容搜索仍在 Windows 侧运行。
仅安装来自项目发布页且已核对校验值的文件;如遇系统拦截,请先确认来源。
English
Viff 0.4.4 makes diffs easier to read: long unchanged stretches fold into a single row by default, and the side-by-side panes can be resized.
Downloads
- Project homepage
- macOS Apple Silicon · DMG
- macOS Intel · DMG
- Windows x64 · Setup EXE
- Windows x64 · Portable ZIP
- Linux x64 · DEB
- Linux x64 · Portable archive
- SHA-256 checksums
- All downloads
Highlights
This release improves how diffs are read: you see the changes without whole screens of unchanged code, and the side-by-side pane widths are yours to set.
✨ New features
- Side-by-side and unified views fold unchanged stretches by default, keeping three context lines around each change; a fold row shows how many lines it hides and expands on click or with Enter / Space when focused.
- The diff toolbar has a "Collapse Unchanged Fragments" toggle that shows the whole file when off and returns to fully folded when on.
- The side-by-side divider can be dragged to resize the panes, nudged with the left and right arrow keys when focused, and double-clicked to restore the default ratio; the ratio belongs to the tab.
⚡ Improvements
- Searching inside a folded stretch expands it and scrolls to the hit; change marks, synchronized scrolling, and text selection stay aligned with the folded rows.
Upgrade instructions
- Upgrading from v0.4.3: the settings file format is unchanged, so existing settings keep working; the new fold toggle defaults to on for old settings and can be turned off in the diff toolbar.
- macOS: choose the Apple Silicon or Intel DMG, quit the old version, open the DMG, and replace Viff.app in Applications.
- Windows: quit the old version and run the x64 installer.
- Windows portable: extract the archive, enter its directory, and run
viff.exewithout installing. - Debian/Ubuntu: run
sudo apt install ./viff-v0.4.4-linux-amd64.deb. - Linux portable: extract the archive, enter its directory, and run
./viffafter installing the required system libraries. - Install Git separately on
PATH, and check the release guide for Linux dependencies.
Compatibility and known issues
- macOS requires version 13 or later; Linux needs a working graphical session, rendering backend, and the system libraries listed in the release guide.
- The macOS app is ad-hoc signed without Developer ID signing or notarization; the Windows installer is not Authenticode signed, so the system may show a security prompt.
- Remote repositories are read-only observation: key/agent authentication only, and the server must run Linux/macOS with Git installed; fetch/pull/push, staging and committing, in-app editing, conflict acceptance, the terminal, and external opening are unavailable, and file changes rely on polling
git statusevery 5 seconds. - In-app editing supports only UTF-8 text files in the working tree, up to 1 MiB for both the original file and the saved text; historical revisions, diffs, and conflicts stay read-only, and there is no completion, multi-cursor editing, or autosave.
- On Windows and Linux, external working-tree file changes may take up to about 30 seconds to refresh; WSL repositories use a separate polling interval.
- Subversion property editing and locking are not implemented; the integrated terminal and content search for WSL repositories still run on Windows.
Install only files from the project release page after checking their checksums; verify the source if the operating system blocks them.
🙌 感谢贡献者
感谢 @1lck、@liansishen 与 @erik-chen-me 为本次发布作出的贡献。
🙌 Contributors
Thanks to @1lck, @liansishen, and @erik-chen-me for contributing to this release.