GitHub PR 记住空白显示偏好,分栏审阅体验怎样变化
来源:17golang原创
时间:2026-10-27 11:23:16 264浏览 收藏
GitHub 在 Pull Request 的 Files changed 页面带来了两个很实用的审阅改进:空白显示偏好可以跨 Pull Request 保存;分栏视图中的新增文件和删除文件会横跨两列显示。这样一来,审阅者不必每次重新选择空白过滤方式,查看整文件新增或删除内容时也不容易被窄列和换行打断。
官方地址:https://github.com/
Always show、Always hide和Hide for this diff only分别对应持续显示、持续隐藏和仅当前差异隐藏。- 隐藏空白后,
Hide whitespace过滤器会出现在All commits附近,可暂时恢复显示而不改保存的偏好。 - 新增文件与删除文件在 split view 中使用两列宽度,长行更少折行;这属于展示方式变化,不会修改代码。
空白显示偏好终于可以跨 PR 保存
这项改动位于 Pull Request 的 Files changed 页面。进入页面后打开 Settings,找到 Whitespace changes,即可选择三种显示方式。它保存的是个人的审阅习惯,不是仓库级配置,也不会改变提交内容或团队成员的代码。
如果你经常审阅格式化提交,选择 Always hide 可以先过滤缩进、换行和空格噪声;如果审阅重点是格式规范,Always show 更合适。两者都会成为后续 Pull Request 的个人默认偏好。图 1 用原创界面状态说明图展示了设置区、当前差异控制和提交范围之间的关系。

三种选择分别适合什么审阅场景
| 设置 | 显示效果 | 适合场景 |
|---|---|---|
Always show | 默认保留空白变化 | 需要检查格式、缩进或换行规范 |
Always hide | 默认隐藏空白变化 | 先关注逻辑改动,减少格式噪声 |
Hide for this diff only | 只对当前差异隐藏 | 偶尔遇到格式化提交,不想改变长期习惯 |
这里最容易混淆的是“保存的偏好”和“当前差异的临时选择”。如果只是某一个 PR 的格式化改动干扰阅读,应优先用 Hide for this diff only;如果团队中长期需要先排除空白噪声,再考虑 Always hide。
隐藏空白后怎样临时恢复显示
当空白被隐藏时,页面会在 All commits 附近显示一个活动的 Hide whitespace 过滤器。点击它旁边的 X,可以暂时显示空白变化,而且不会覆盖已经保存的个人偏好。这对审阅同一个 PR 的局部格式改动很方便:先以隐藏空白的状态阅读逻辑,再按需恢复格式细节。
文件计数和 diff 统计会跟随当前显示的差异变化。它们反映的是页面正在展示的 diff,不应被解读成提交数量、代码行数或仓库内容被修改了。审阅记录中最好把“显示过滤”与“代码变化”分开判断。
新增和删除文件在分栏视图里更宽
另一个变化针对 split view。普通修改文件仍然可以左右对照原内容和新内容;新增文件与删除文件没有另一侧内容可比较,现在会横跨分栏视图的两列,就像统一视图那样使用完整宽度。长行因此拥有更大的阅读空间,也能减少无意义的换行。

这个改进不会把新增文件伪装成“左右都有版本”,也不会改变 diff 的语义。它只是让没有对照内容的一侧不再被强行压缩到半宽区域。审阅新文件时可以直接看完整结构;审阅删除文件时也更容易连续阅读上下文。
怎样把这两个改动用在日常审阅中
- 先根据主要任务设置长期偏好:逻辑审阅可选
Always hide,格式审阅可选Always show。 - 只遇到一次格式化提交时,用
Hide for this diff only,避免改变后续 PR 的默认体验。 - 发现隐藏空白导致某个局部判断不完整时,点击
Hide whitespace旁的X临时恢复。 - 在 split view 中审阅新建或删除文件时,直接利用全宽区域阅读,不要把两列空白误认为缺少变更。
总的来说,这次更新解决的是审阅界面的两个摩擦点:偏好不必反复设置,单侧文件不再被无意义地压缩。它不改变 Git 提交、分支或权限规则,适合把它当作个人阅读界面的优化。
常见问题
保存空白偏好会影响其他协作者吗?
官方公告描述的是个人偏好,主要影响当前用户后续 Pull Request 的 Files changed 页面显示,不是仓库级代码审查策略。
隐藏空白会不会改变 diff 统计?
页面的文件计数和 diff 统计会反映当前显示的差异,因此阅读时要记住过滤器状态;它不会修改提交本身。
新增文件为什么要横跨两列?
新增文件没有旧版本,删除文件没有新版本。让它们横跨两列可以使用完整阅读宽度,并减少长行换行。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
128 收藏
-
405 收藏
-
402 收藏
-
192 收藏
-
125 收藏
-
377 收藏
-
467 收藏
-
299 收藏
-
292 收藏
-
103 收藏
-
484 收藏
-
241 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习