Closed linlingyu closed 7 months ago
@linlingyu 检查一下:
@linlingyu 检查一下:
- 代码是否有构建成产物
- 注册菜单的命令是否有引入启动逻辑内
我是直接在ide-electron/src/modules/basic/browser/menu.contribution.ts源码基础上改的。源码是注册一个一级菜单的子菜单,运行起来是正常的。于是我就注释了源码注册子菜单的部份,改成注册一级菜单项,运行结果无法出现一级菜单项。 我又尝试按照官网文档的方式注册子菜单,发现又是好的。结论就是好像注册一级菜单项是注册不了的。
import { MenuContribution } from '@opensumi/ide-core-browser/lib/menu/next';
import { Domain } from '@opensumi/ide-core-common';
@Domain(MenuContribution)
export class LocalMenuContribution implements MenuContribution {
registerMenus(menuRegistry: IMenuRegistry): void {
menuRegistry.registerMenubarItem('menubar/helloworld', {
label: 'Hello',
order: 1,
});
}
}
debug的时候,已经看到调用了setMenuItems,菜单项menubar/helloworl已经添到数组,但是界面就是没显示啊
通过进一步研究发现,只是注册一个一级菜单是不能显示的,需要再注册一级菜单的子菜单以后就会显示出来了
按装官方的文档注册一个新自定义菜单发现没有能够成功: 代码如下所示,直接在ide-electron源码中src/modules/basic/browser中的注册子菜单代码进行的修改
运行结果:
请问需要如何才能够使注册菜单生效?