Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

组件类编辑器问题 #86

Open
zt6991 opened this issue Jun 25, 2023 · 5 comments
Open

组件类编辑器问题 #86

zt6991 opened this issue Jun 25, 2023 · 5 comments

Comments

@zt6991
Copy link

zt6991 commented Jun 25, 2023

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

@yantze
Copy link
Member

yantze commented Jun 25, 2023

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

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

@zt6991
Copy link
Author

zt6991 commented Jun 26, 2023

抱歉,我应该没说清楚。

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

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

1687764569152

@yantze
Copy link
Member

yantze commented Jun 28, 2023

  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
Copy link
Author

zt6991 commented Jun 28, 2023

好的,谢谢。

@zt6991
Copy link
Author

zt6991 commented Jun 28, 2023

以下是问题现象:

20230628_174008.mp4

这是contribution.ts的代码:

components.contribution.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants