DevTools 新功能(Chrome 105)
感谢 Poong Zui Yong 提供的翻译。
有兴趣帮忙改进 DevTools 吗?请注册并参与 Google 用户体验调研。
录制面板中的分步重放
您现在可以录制面板中对用户流程进行分步重放和设置断点。
点击步骤侧边的蓝点以设置断点,然后重放您的用户流程。该重放动作将在执行该步骤前暂停。 从这里,您可以选择继续重放、执行一个步骤或取消重放。
借助此功能,您可以完全控制用户流程的重播,令调试更方便。
参阅录制面板功能参考以获取更多相关信息,。
Chromium 议题: 1257499
支持录制面板中的鼠标悬浮事件
录制面板现在支持在录制中手动加入鼠标悬停步骤。
此演示 显示悬停时的弹出菜单. 在录制用户流程时,单击菜单项。
现在,如果您重播用户流程,它将会失败。因为 录制面板 在录制期间并没有自动捕获鼠标悬停事件。 要解决此问题,请 手动添加步骤 ,在单击菜单项之前,将鼠标悬停在选择器上。
Chromium 议题: 1257499
Performance insights 面板中的最大内容绘制 (LCP)
最大内容绘制 (LCP) 是测量感知加载速度的一个以用户为中心的重要指标。 您现在可以找出 最大内容绘制 (LCP) 的关键路径和根本原因。
在 性能录制 中,单击 时间线 中的 LCP 徽章。 在 细节 边栏中,您可以查看 LCP 分数,了解如何修复降低 LCP 速度的资源并查看 LCP 资源的关键路径。
参阅 Performance insights 文档以了解如何通过此面板获得可行性的建议并提高网站的性能。
Chromium 议题: 1326481
识别闪烁的文本(FOIT、FOUT)为布局偏移的潜在根本原因
Performance insights面板现在可以检测 flash of invisible text (FOIT) 和 flash of unstyled text (FOUT) 作为布局偏移的根本原因。
单击 Layout shifts 轨道中的屏幕截图,以便查看布局偏移的潜在根本原因。
请参阅 优化 WebFont 加载和渲染 以了解防止布局偏移的技术。
Manifest 窗格中的协议处理程序
您现在可以使用 DevTools 测试渐进式网络应用 (PWA) 的 URL 协议处理程序注册。
URL 协议处理程序注册允许已安装的 PWA 处理使用特定协议的链接(例如 magnet
、web+example
)以获得更集成的体验。
通过 Application > Manifest 窗格导航到 Protocol Handlers 部分。 您可以在此处查看和测试所有可用的协议。
例如,安装 this demo PWA。 在 Protocol Handlers 部分,输入“americano”并单击 Test protocol 以打开 PWA 中的咖啡页面。
Chromium 议题: 1300613
元素面板中的顶层徽章
使用【顶层徽章】(/blog/top-layer-devtools/#top-layer-support-design-in-devtools) 了解顶层的概念,可视化顶层内容的变化。
<dialog>
元素 最近在浏览器中变得稳定。 当您打开一个对话框时,它会被放入一个 top layer。 顶层内容呈现在所有其他内容之上。
在此 演示 中,单击 Open dialog。
为了帮助可视化顶层元素,DevTools 将顶层容器(#top-layer
)添加到 DOM 树中。 它位于结束 </html>
标记之后。
要从顶层容器元素跳转到顶层树元素,请单击顶层容器中元素旁边的 reveal 按钮或其背景。
在顶层树元素(例如对话框元素)旁边,单击 top-layer 徽章以跳转到顶层容器。
Chromium 议题: 1313690
在运行时附加 Wasm 调试信息
您现在可以在运行时为 wasm 附加 DWARF 调试信息。 之前,Sources 面板仅支持将源映射附加到 JavaScript 和 Wasm 文件。
在 Sources 面板中打开一个 Wasm 文件。 在编辑器中右键单击并选择 Add DWARF debugging info… 以按需附加调试信息。
Chromium 议题: 1341255
调试时支持实时编辑
您现在可以编辑堆栈上最顶层的函数,而无需重新启动调试器。
在 Chrome 104 中,DevTools 恢复了 restart frame 功能。 但是,您无法编辑当前暂停的函数。开发人员通常会中断一个函数,然后在暂停时编辑该函数。
通过此更新,调试器会自动重新启动该功能,但具有以下限制:
暂停时只能编辑最顶层的函数 在堆栈的更下方对同一函数没有递归调用
Chromium 议题: 1334484
在样式窗格的规则中查看和编辑@scope
您现在可以在 Styles 窗格中查看和编辑 CSS @scope
at-rules。
规则中的 @scope
是 CSS Cascading and Inheritance Level 6 规范 的一部分。 这些规则允许开发人员在 CSS 中定义样式规则。
打开 此演示页面 并检查 <div class=”dark-theme”>
元素中的超链接。 在 Styles 窗格中,查看 @scope
规则。 单击规则声明进行编辑。
CSS @scope
目前正在开发中。 要测试此功能,请通过 chrome://flags/#enable-experimental-web-platform-features
启用 Experimental Web Platform features 标志。
Chromium 议题: 1337777
Source map 改进
以下是对 source maps 的一些修复,以改善整体调试体验:
DevTools 现在可以正确解析带有标点符号的 source maps 标识符。 一些现代缩小器(例如,esbuild) 生成 sourcemaps 时将标识符与后续标点符号(逗号、括号、分号)合并。
DevTools 现在使用 super
调用解析构造函数的 source map 名称。
修复了重复的规范 URL 的 source map URL 索引。 以前,由于重复的规范 URL ,在某些文件中没有激活断点。
其他的更新
以下是此版本中一些值得注意的修复:
- 从 Application > Local Storage 窗格中的表正确删除本地存储键值对。 (1339280)
- 在源代码面板中查看 CSS 文件时,正确显示颜色预览。 此前,它们的位置错位了。 (1340062)
- 在 Layout 边栏中始终显示 CSS flex 和 grid 元素,并在 元素 面板中将它们显示为徽章。 以前,flex 和 grid 元素会在这两个地方都随机丢失。 (1340441, 1273992)
- [广告框架] (https://chromium.googlesource.com/chromium/src/+/master/docs/ad_tagging.md#adtracker)里新增 Creator Ad Script 链接。 当 DevTools 搜索到了导致框架被标记为广告的脚本时,您可以通过 Application > Frames 打开框架。 (1217041)
下载 Chrome 预览版本
您可以考虑把 Chrome Canary 版, 开发者版(Dev) 或测试版(Beta) 设置为默认开发浏览器。这些预览版本能让你抢先体验处于 DevTools 开发阶段的新功能、测试最新的网络平台 API ,让您抢先在用户之前发现您网站上的问题!
联系 Chrome DevTools 团队
您可以透过一下渠道讨论这篇文章的新功能和改进,或一切关于 DevTools 的一切。
- 提交建议或意见回馈:crbug.com.
- 报告 DevTools 问题:打开 DevTools,按 更多选项图标 > 帮助 > 报告 DevTools 问题。
- 在推特上,发推文: @ChromeDevTools.
- 在我们的 What's new in DevTools YouTube 视频底下留言。
更多 DevTools 的功能
欲查询完整的 DevTools 已发布的功能,请参考 What's New In DevTools 英文系列。以下是部分已翻译成中文的内容。
Chrome 111
Chrome 110
- [重载时清除性能面板] (/zh/blog/new-in-devtools-110/#perf)
- 记录器更新
- 在记录器中查看并突出显示用户流的代码
- 自定义录音的选择器类型
- 录音时编辑用户流程
- 自动的代码美化器
- 为 Vue、SCSS 等提供更好的语法高亮和内联预览
- 控制台中符合人体工程学且一致的自动完成功能
- 其他的更新
Chrome 109
- Recorder: 为步骤提供新的复制选项,支持页面内重放,步骤支持鼠标右键弹出菜单
- Performance 面板里面的记录显示实际的函数名称
- Console & Sources 面板新增快捷键
- 改善 JavaScript 调试体验
- 其他的更新
- 【实验阶段】优化断点管理界面的 UX
- 【实验阶段】自动格式化
Chrome 108
Chrome 107
- 客制化开发者工具(DevTools)的键盘快捷键
- 使用键盘快捷键对光亮与深色主题进行快速切换
- 高亮记忆检查器里的 C/C++ 对象
- 支持 HAR 导入的完整启动器的资讯
- 点击回车键 (Enter) 后开始 DOM 搜索
- 在
align-content
的 CSS flexbox 属性中显示start
和end
图标 - 其他的更新
Chrome 106
- 在 Sources 面板中按照 Authored / Deployed 对文件进行分组
- 异步操作的链接堆栈痕迹
- 自动忽略已知的第三方脚本
- 在调试过程中改进调用堆栈
- 在来源面板中隐藏被忽略的来源
- 在命令菜单中隐藏被忽略的文件
- 性能面板中的新互动轨道
- 性能洞察面板中的 LCP 时序分解
- 在 Recorder 面板中自动生成录音的默认名称
- 其他的更新
Chrome 105
- 录制面板中的分步重放
- 支持录制面板中的鼠标悬浮事件
- 性能洞察面板中的最大内容绘制(LCP)
- 将闪烁的文本(FOIT、FOUT)识别为布局变化的潜在根本原因
- Manifest 窗格中的协议处理程序
- 元素面板中的顶层徽章
- 在运行时附加 Wasm 调试信息
- 调试时支持实时编辑
- 在样式窗格的规则中查看和编辑@scope
- Source map 改进
- 其他的更新
Chrome 104
- 在调试时进行帧重启
- 录制面板中的慢速重播选项
- 为录制面板创建扩展
- 使用面板中的编写/部署来进行分组
- 性能洞察面板中的新功能 - 用户计时追踪
- 显示元素的分配槽
- 模拟性能录制所需的硬件并发功能
- 在自动填充层叠样式表(CSS)时预览非颜色数值的值
- 识别退后/前进缓存面板中的阻塞帧
- 优化 JavaScript 对象的自动填充建议功能
- 优化 Source maps 功能
- 其他的更新
Chrome 103
- Recorder 面板捕获双击和右击事件
- Lighthouse 面板支持 timespan 和 snapshot 新模式
- 改进 Performance Insights 面板的缩放控制问题
- 对删除性能记录的操作进行确认
- 重新排列 Elements 面板中的窗格
- 支持在浏览器外面选择颜色
- 改进调试期间的 inline 值预览问题
- Virtual authenticators 支持大型 blob
- Sources 面板支持新的键盘快捷键
- Source maps 改进
Chrome 102
- 预览功能:新的 Performance insights 面板
- 新的模拟浅色和深色主题的快捷方式
- 提升网络预览标签页的安全性
- 提升在断点处的重新加载
- 控制台更新
- 在用户流程录制开始时取消
- 在样式边栏中展示继承的高亮伪元素
- 其它亮点
- [实验阶段] 复制 CSS 更改
- [实验阶段] 在浏览器外选择颜色
Chrome 101
Chrome 100
Chrome 99
- WebSocket 请求限速
- 应用面板里面的 报告 API(Reportng API)新边栏
- 支持 Recorder 面板一直处于等待状态,直到元素可见或可点击
- 更好的控制台样式,格式化和过滤
- 使用 source map 文件来调试 Chrome 扩展
- 优化 Sources 面板里面源文件夹树的显示问题
- Sources 面板里面显示 Worker 源文件
- Chrome 自动深色模式的更新
- 颜色选择器和分割面板支持触摸
- 其他的更新
Chrome 98
- 预览功能:整页无障碍功能树
- 在变更标签页中显示更精确的更改
- 为用户操作流的录制设置更长的超时时间
- 使用“往返缓存”选项卡确保您的页面可缓存
- 新的属性边栏过滤器
- 模拟 CSS forced-colors 媒体功能
- 在鼠标指针悬停时显示标尺
- 在 Flexbox 编辑器中支持
row-reverse
和column-reverse
- 新增“重放 XHR“和“扩展所有搜索结果”的键盘快捷键
- Lighthouse 面板中的 Lighthouse 9
- 源代码面板的改善
- 其他的更新
- [实验阶段] 在 Reporting API 窗格中显示端点
Chrome 97
Chrome 96
- 预览特性:新的 CSS 概览面板
- 修复以及改善 CSS 长度编辑与复制的体验
- 模拟 CSS prefers-contrast 媒体特性
- Emulate the Chrome’s Auto Dark Theme feature 模拟 Chrome 的自动深色主题特性
- 将样式窗格里面的 CSS 规则复制为 JavaScript 属性
- 网络面板新增载荷(Payload)边栏
- 优化属性窗格里面的属性展示
- 新增选项,用于隐藏控制台里面的 CORS 错误
- 控制台正确预览以及执行
Intl
对象 - 统一的异步堆栈信息
- 保留控制台侧边栏
- 弃用应用程序面板里面的应用程序缓存窗格
- [实验阶段] 应用程序面板里面新增 Reporting API 窗格
Chrome 95
- 新的 CSS 长度编辑工具
- 在“问题”标签页隐藏问题
- 改善属性展示
- Lighthouse 面板中的 Lighthouse 8.4
- 在“来源”面板中排序代码段
- 阅读 DevTools 新功能的翻译文章和举报翻译错误
- DevTools 命令菜单的用户交互优化
Chrome 94
- 设定您的 DevTools 用户界面语言
- 设备列表新增 Nest Hub 设备
- 帧(Frame)详情页获取 origin trials 信息
- 新的 CSS 容器查询(Container queries)徽章
- 利用新的复选框反转过滤网络请求的条件
- 控制台的边栏即将被弃用
- 在问题选项卡以及网络面板那里显示原生
Set-Cookie
响应头 - 在控制台里显示原生访问器为自己的属性
- 正确输出带有 #sourceURL 行内脚本的错误堆栈信息
- 更改计算样式边栏里面元素的颜色格式
- 使用原生的 HTML 提示框替换自定义提示框
- [实验阶段] 隐藏问题选项卡里面的问题
Chrome 93
- 样式窗格(Styles pane)可编辑 CSS 容器查询(container queries)
- 网络面板可预览 Web bundle
- Attribution Reporting API 调试
- 更好地处理控制台里面的字符串
- 改善 CORS 调试体验
- Lighthouse 8.1
- 在 Manifest 窗格展示新的 note 链接
- 修复 CSS 选择器匹配问题
- 网络面板支持格式化 JSON 响应