使用适用于 VS Code 的 Fuchsia 扩展程序

此扩展程序添加了对 Fuchsia 目标和源代码的支持,包括:

  • 正在连接到设备。
  • 调试 C++ 和 Rust 代码(zxdb 支持)。
  • 分析 Fuchsia 设备的日志。

兼容性

Fuchsia 扩展程序与 ffx 9.20220803.3.1 及更高版本兼容。

修改代码

默认情况下,VS Code 会提供语法突出显示、错误和警告、跳转到定义,并列出 C++ 的引用。

VS Code 会在后台主动分析您的代码,并可向您显示各种警告或错误。如需了解详情,请参阅错误和警告

Fuchsia 扩展程序还为 FIDLCML 提供了语法突出显示功能。

配置和构建 Fuchsia

通过 Command Palette 设置 Fuchsia build 配置,然后选择 Fuchsia: fx set

此图显示了命令 Palette 中的 fx set 和 fx build。

您可以从下拉列表中选择可用的商品和开发板。当 fx set 运行完毕时,该扩展程序会显示一条消息。

此图显示了 fx 集的商品列表。

如需通过 Command Palette 构建 Fuchsia,请选择 Fuchsia: fx build。在构建过程中,该扩展程序会显示进度条。

此图显示了命令 Palette 中的 fx build 和 build 进度。

连接到 Fuchsia 设备

借助 Fuchsia 扩展程序,您可以连接到 Fuchsia 目标,该目标可以是实体设备或模拟器。该扩展程序支持多个目标设备,可让您在各种 Fuchsia 设备之间轻松切换。您在任何给定时间只能连接到单个设备。

如果模拟器已正确配置并启动,您应该会在 VS Code 的状态栏中看到 和 Fuchsia 设备的名称。如果您使用的是模拟器,但没有看到 Fuchsia 设备,请参阅启动 Fuchsia 模拟器

此图展示了如何将 Fuchsia VS Code 扩展程序连接到 Fuchsia 设备。

Fuchsia 设备的选项

您可以点击 VS Code 状态栏中的 和 Fuchsia 设备的名称,查看可用于 Fuchsia 设备的各种选项。这些选项会显示在 VS Code 命令面板中。在大多数情况下,您可以选择以下选项:

此图显示了通过 Fuchsia VS Code 扩展程序控制已连接的 Fuchsia 设备的各种选项。

  • 默认目标:<device-name>:此选项显示当前配置为默认目标的 Fuchsia 设备。如果您有其他 Fuchsia 设备,请点击 Set <device-name> as default 以连接到该特定设备。这等效于运行 ffx target default get
  • <device-name> 设为默认:此选项可让您连接到所选的 Fuchsia 设备。这相当于运行 ffx target default set <device-name>
  • 显示 <device-name> 的日志:此选项会打开 Fuchsia 扩展程序的 Fuchsia 日志标签页。如需了解详情,请参阅查看 Fuchsia 日志。这相当于运行 ffx log
  • 重新启动 <device-name>:此选项会重启 Fuchsia 设备。这相当于运行 ffx target reboot
  • 关机 <device-name>:此选项用于关闭 Fuchsia 设备。这相当于运行 ffx target off。如果您关闭 Fuchsia 模拟器,则需要使用 ffx emu start <product-bundle> 重新启动模拟器。如需了解详情,请参阅启动 Fuchsia 模拟器

查看 Fuchsia 日志

借助 Fuchsia 扩展程序,您可以查看已连接 Fuchsia 设备的符号化日志(可读取的堆栈轨迹)。这等同于运行 ffx log。如需详细了解 ffx log,请参阅监控设备日志

输出标签页中的下拉菜单中选择 Fuchsia 日志,以查看以下内容:

此图显示了“输出”标签页中 Fuchsia 扩展程序的日志。

清除 Fuchsia 日志

在 Fuchsia 扩展程序流式传输 Fuchsia 日志后,您可以清除所列的 Fuchsia 日志,以查看 Fuchsia 设备的传入日志记录事件。

如需清除 Fuchsia 日志,请点击 Fuchsia 日志标签页右上角的

自动滚动 Fuchsia 日志

如需为 Fuchsia 日志切换自动滚动功能,请点击 Fuchsia 日志标签页右上角的

调试代码

借助 Fuchsia 扩展程序,您可以运行 Fuchsia 调试程序 zxdb。这会将 zxdb 调试程序集成到 VS Code IDE 中,以便您在处理源代码时设置断点和其他调试程序设置。

配置个人资料

在开始使用调试控制台之前,您需要创建一个调试配置文件。您可以创建多个调试配置文件,然后在各个配置文件之间轻松切换。

如需创建调试配置文件,请执行以下操作:

  1. 在 VS Code 中,打开运行和调试(此选项位于左侧边栏中,带有播放和 bug 图标)。

    此图展示了如何在 VS Code 中启动“运行”和“调试”。

  2. 运行和调试:运行面板中,点击显示所有自动调试配置。然后,从命令 Palette 中选择 Add Config (fuchsia)。编辑器会打开 launch.json 文件。

  3. 编辑器应显示预先填充的调试配置文件列表,选择以 zxdb 开头的任意配置文件。

    根据需要修改调试配置文件的键值对。在修改配置文件之前,请考虑以下事项:

    • name:为配置文件指定一个有意义的标识符。
    • type:指定 zxdb。这是唯一的 Fuchsia 调试程序。
    • request:指定 launch。这是唯一有效的选项。
    • launchcommand:指定 ffx 二进制文件的别名或路径,并附加所有选项和参数。在大多数情况下,这将是 ffx component run ....。如需了解详情,请参阅运行组件
    • process:指定要调试的组件的名称。
  4. 为配置文件添加值后,launch.json 应如下所示:

       {
         "configurations": [
         {
          # Specify a meaningful identifier.
          "name": "Debug examples",
          # This is a fixed required value.
          "type": "zxdb",
          # This is a fixed required value.
          "request": "launch",
          # Specify the desired launchcommand.
          "launchCommand": "tools/ffx component run /core/ffx-laboratory:hello_world fuchsia-pkg://fuchsiasamples.com/hello_world#meta/hello_world.cm --recreate",
          # Specify the process that you want to debug.
          "process": "hello_world"
        }
        ]
      }
      ```
    
  5. 保存对 launch.json 文件所做的更改。

您已成功创建调试配置文件。您可以重复上述说明来添加其他个人资料。

运行和调试

创建调试配置文件后,您可以使用该配置文件运行和调试您正在处理的组件。

如需启动调试程序,请执行以下操作:

  1. 在 VS Code 中,打开运行和调试(此选项位于左侧边栏中,带有播放和 bug 图标)。
  2. Run and Debug: Run 面板中,使用下拉列表选择调试配置文件。然后,点击下拉列表左侧的绿色 以启动调试会话。

    此图展示了如何在 VS Code 中更改调试配置文件。

启动调试程序后,请执行以下操作:

  • 您可以使用调试控制台标签页运行 zxdb 命令。如需详细了解 zxdb 控制台命令,请参阅 Zxdb 控制台命令和交互模型
  • 您可以使用 VS Code 调试程序功能执行调试操作、添加断点、日志点等。如需了解详情,请参阅调试操作

Fuchsia 组件资源管理器

Fuchsia 扩展程序提供了 Fuchsia 设备上组件的树状视图。这相当于运行 ffx component list

如需查看 Fuchsia 组件列表,请打开 Run and Debug(此选项位于左侧边栏中,带有播放和 bug 图标),然后展开 Fuchsia 组件部分。

此图显示了 Fuchsia 扩展程序中的 Fuchsia 组件列表。

组件详情

将鼠标悬停在 Fuchsia 组件列表中的某个组件上,系统会显示一个包含该组件生命周期信息的弹出式窗口。

如需查看组件的详细信息,请点击 Fuchsia 组件列表中的组件名称。系统随即会打开一个新窗口,其中显示了该组件的详细信息,这相当于运行 ffx component show <component-name>

此图显示了 Fuchsia 扩展程序中某个组件的详细信息,您可以通过将鼠标悬停在组件名称上或点击组件名称来查看这些详细信息。

调试组件

如需调试组件,请点击组件名称右侧的

Fuchsia 任务浏览器

Fuchsia 扩展程序会以树状视图显示 Fuchsia 系统中运行的所有作业、进程和线程。如需查看 Fuchsia 任务浏览器,请打开运行和调试(此选项位于左侧边栏中,带有播放和 bug 图标),然后展开 Fuchsia 作业、进程和线程部分。

如需将调试程序附加到任务,请点击进程右侧的

此图显示了 Fuchsia 扩展程序中的 Fuchsia 任务浏览器。