从 Android Studio 调试器导出对象

Exporting Objects from the Android Studio debugger

有没有办法从 Android Studio (IntelliJ IDEA) 调试器导出对象。例如 Visual Studio 有 Object Exporter

最后,我需要 create/generate 使用基于服务器响应的值初始化对象。因此,也欢迎任何其他实现此目的的解决方案。

这可能比您想要的更麻烦,但以下确实有效:

按照@Donn_Felker 所述创建自定义数据类型渲染器。假设您在 class 路径上有一个 class 可以将对象序列化为 JSON (或您感兴趣的其他格式),在数据类型渲染器中使用该对象来生成一个包含序列化数据的字符串。

在我的例子中,我的项目名称 GsonProvider 中有一个 class,它本质上是 Google 的 GSON 的工厂 class。我在我的数据类型渲染器中使用的表达式是:com.example.GsonProvider.getGson().toJson(this) class 名称需要完全限定。

如果你能在 'rendering' 检查节点时使用它就好了,但不幸的是,虽然你可以在那里看到序列化值,但似乎没有任何方法可以将它复制到剪贴板或以任何方式导出它。

因此,将表达式添加到 'when expanding the node' 部分。我能够通过选择 "use list of expressions",然后添加一个名称为 "json" 的表达式和值为 com.example.GsonProvider.getGson().toJson(this)

来完成这项工作

我将自定义渲染器保存为 "json"。

设置好后,您可以右键单击 'variables' 或 'watches' window 和 select "View As" 中的变量 - -> json,你会看到它是一个 json 字符串。右键单击它,然后选择 "copy data"。这会将 json 字符串复制到剪贴板。

以下是将名为 output 的变量导出到剪贴板的方法:

  • 添加断点并在调试模式下执行代码
  • 当您到达断点时,select 您的对象并单击上下文菜单中的 'Evaluate Expression'
  • 在表达式字段中编写一个将对象转换为 String 的表达式,例如,如果您的项目可以访问 Gson:

    new GsonBuilder().create().toJson(output)
    
  • 在结果的上下文菜单中,select 'Copy Value'