Description 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 模式。 推荐修复方案: default-plugin 声明两个 viewer:json-inspector (preview) 和 code-inspector (code),分别注册到 MetadataInspector 和 CodeExporter。 在 PluginHost 下切换 code 模式时,走 code-inspector,渲染 <CodeExporter type=... definition=... />,类型根据 metadataType 匹配(如 object/view/flow/agent/app)。 充分利用已有的代码导出 UI(TypeScript/JSON 切换、复制按钮)。 相关源码位置(关键文件) apps/studio/src/plugins/built-in/default-plugin.tsxapps/studio/src/components/CodeExporter.tsxapps/studio/src/plugins/plugin-host.tsxReactions are currently unavailable
You can’t perform that action at this time.
Bug
现象(What happens)
期望结果(What should happen)
技术细节 / 根因分析
default-plugin.tsx只注册了一个 metadataViewer(json-inspector),声明支持modes: ['preview', 'code'],但其组件 (DefaultViewerComponent) 并没有根据mode切换。preview还是code,都只渲染<MetadataInspector>,导致 toolbar 切换模式无法生效。CodeExporter已有(支持切 TypeScript/JSON/copy),但没有路由到code模式。推荐修复方案:
json-inspector (preview)和code-inspector (code),分别注册到MetadataInspector和CodeExporter。PluginHost下切换 code 模式时,走code-inspector,渲染<CodeExporter type=... definition=... />,类型根据 metadataType 匹配(如 object/view/flow/agent/app)。相关源码位置(关键文件)
apps/studio/src/plugins/built-in/default-plugin.tsxapps/studio/src/components/CodeExporter.tsxapps/studio/src/plugins/plugin-host.tsx