Skip to content

【Studio】Code tab does not show code export (default-plugin viewer always renders preview, not code) #1079

Description

@hotlong

Bug

现象(What happens)

  • 在 Studio 元数据详情页(如 apps > setup),点击顶部 "Code" 标签页,没有任何反应,一直是 Preview/属性视图。
  • 实际应当切换为可导出的代码模式(TypeScript/JSON),但内容没有变化。

期望结果(What should happen)

  • 切换到 Code 标签时应显示 CodeExporter,导出 TypeScript/JSON、支持一键复制等,而不是 property 预览。

技术细节 / 根因分析

  • default-plugin.tsx 只注册了一个 metadataViewer(json-inspector),声明支持 modes: ['preview', 'code'],但其组件 (DefaultViewerComponent) 并没有根据 mode 切换。
  • 目前无论 preview 还是 code,都只渲染 <MetadataInspector>,导致 toolbar 切换模式无法生效。
  • 代码导出组件 CodeExporter 已有(支持切 TypeScript/JSON/copy),但没有路由到 code 模式。

推荐修复方案:

  1. default-plugin 声明两个 viewer:json-inspector (preview) 和 code-inspector (code),分别注册到 MetadataInspector 和 CodeExporter。
  2. 在 PluginHost 下切换 code 模式时,走 code-inspector,渲染 <CodeExporter type=... definition=... />,类型根据 metadataType 匹配(如 object/view/flow/agent/app)。
  3. 充分利用已有的代码导出 UI(TypeScript/JSON 切换、复制按钮)。

相关源码位置(关键文件)

  • apps/studio/src/plugins/built-in/default-plugin.tsx
  • apps/studio/src/components/CodeExporter.tsx
  • apps/studio/src/plugins/plugin-host.tsx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

bugSomething isn't working

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions