什么是 DevTools 扩展?

#

DevTools 扩展是由第三方包提供的开发者工具,它们与 DevTools 工具套件紧密集成。扩展作为 pub 包的一部分分发,并在用户调试其应用时动态加载到 DevTools 中。

使用 DevTools 扩展

#

如果您的应用依赖于提供 DevTools 扩展的包,那么当您打开 DevTools 时,该扩展会自动显示在一个新标签页中。

配置扩展启用状态

#

您需要在扩展首次加载之前手动启用它。在启用之前,请确保该扩展由您信任的来源提供。

首次打开扩展时,您会看到一个提示,要求您启用该扩展。

Screenshot of extension enablement prompt

您可以随时在 DevTools 扩展对话框中修改设置。

Screenshot of DevTools Extensions dialog button

Screenshot of extension enablement dialog

注意:如果扩展需要与正在运行的应用程序建立连接,那么在 DevTools 连接到正在运行的应用之前,您将看不到启用提示或启用设置。

扩展启用状态存储在用户项目根目录下的 devtools_options.yaml 文件中(类似于 analysis_options.yaml)。

yaml
description: This file stores settings for Dart & Flutter DevTools.
documentation: https://docs.fluttercn.cn/tools/devtools/extensions#configure-extension-enablement-states
extensions:
  - provider: true
  - shared_preferences: true
  - foo: false

此文件存储 DevTools 的每个项目(或可选地,每个用户)的设置。

如果此文件被提交到源代码管理,则指定的选项将为该项目配置。这意味着任何拉取项目源代码并从事该项目的人都使用相同的设置。

如果此文件被从源代码管理中省略,例如通过将 devtools_options.yaml 添加到 .gitignore 文件中,则指定的选项将为每个用户单独配置。在这种情况下,由于每个项目用户或贡献者都使用本地的 devtools_options.yaml 文件副本,因此指定的选项可能在项目贡献者之间有所不同。

构建 DevTools 扩展

#

有关构建 DevTools 扩展的深入指南,请参阅 Dart and Flutter DevTools extensions,这是一篇免费的 Medium 文章。

要了解有关编写和使用 DevTools 扩展的更多信息,请观看以下视频:

在新标签页中观看 YouTube: "Building DevTools extensions | Flutter Build Show"