opensumi / ide-electron

OpenSumi Electron Version
https://opensumi.com
MIT License
171 stars 56 forks source link

组件类编辑器问题 #86

Open zt6991 opened 1 year ago

zt6991 commented 1 year ago

怎么才能创建多个编辑器实例呢,使用的时候发现好像只有一个实例。 还有一个问题就是代码里的resource指的是什么? 1687676664313

yantze commented 1 year ago

可以参考下这个启动多个编辑器窗口: https://github.com/opensumi/app-desktop/blob/10e179ea8a5301a4cd623662cb5c8b214bba9888/src/base/main/services/window.ts#L215

resource 一般是文件路径,但也会包括一些 uri 相关资源路径

zt6991 commented 1 year ago

抱歉,我应该没说清楚。

我的需求: 我想实现一个类似打开文件的效果,打开的内容不是文本而是自己定义的组件编辑器。(点击文件后就出现一个新的编辑器,其他的文件编辑器保持不变)

我现在的问题: 1.现在我模仿的例子只有始终只有一个tab。我想做的效果是一个点击文件到对应一个新的tab https://github.com/opensumi/opensumi-module-samples/tree/main/modules/components 2.我注意到现在的打开新的文件后,旧的文件窗口会消失。(除非修改旧文件)可以不关闭旧文件吗? 3.如果是自定义的组件编辑器可以实现像文件的修改后在tab上标记吗?还有快捷键ctrl+s保存的功能

1687764569152

yantze commented 1 year ago
  1. 可以通过内置的 command 在当前的窗口打开文件

https://github.com/opensumi/core/blob/f5edfd770872b18e901067c57a5980e317d1db9d/packages/core-browser/src/common/common.command.ts#L40

或者通过 workbenchService 实例直接不需要弹窗打开文件

https://github.com/opensumi/core/blob/da970b0fa5c38b9c2f35cbd5165edf08f3c93e6b/packages/search/src/browser/tree/tree-model.service.ts#L280

this.workbenchEditorService.open(new URI(uriString), {
  preview: true,
});
  1. 打开新的会消失,就是上面的 preview 参数,默认打开是预览模式, 这个双击 tab 可以设置为非预览模式

  2. tab 上修改不可以,但你可以自定义 tab 的名称

zt6991 commented 1 year ago

好的,谢谢。

zt6991 commented 1 year ago

以下是问题现象:

https://github.com/opensumi/ide-electron/assets/46299593/ec006596-5491-407b-9bf2-31851f31128b

这是contribution.ts的代码:

components.contribution.txt