无标题
右键菜单
打开菜单事件
1
2
3this.app.workspace.on("file-menu", ({ menu, path }) => {
})移除所有菜单项
1
2
3this.app.workspace.on("file-menu", ({ menu, path }) => {
menu.empty();
})指定的现有菜单项之后插入一个
菜单项1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33this.app.workspace.on("file-menu", ({ menu, path }) => {
// 在 打开 菜单下添加一个菜单项
menu.insertItemAfter('[data-action="open"]', (item) => {
// 设置菜单项的信息
item.setKey("api-demo-fs") // 唯一ID
// 设置标题
item.setTitle("标题")
// 设置左侧的图标。可以是一个字体图标类名(如 `'fa fa-...'`)或一个 HTMLElement。
item.setIcon("fa-solid fa-file")
// 菜单单击事件
item.onClick(async () => {
console.log(`文件或目录路径:${path}`);
})
// 设置子菜单
item.setSubmenu((submenu) => {
// 添加一个菜单项
submenu.addItem((item) => {
item.setKey("api-demo-fs-path2")
item.setTitle("aaaaa")
item.onClick(async () => {
console.log(`当前文件路径:${path}`);
});
});
// 添加一个分割线
submenu.addSeparator();
});
});
});指定的现有菜单项之后插入一个
分割线1
2
3this.app.workspace.on("file-menu", ({ menu, path }) => {
menu.insertSeparatorAfter('[data-action="open"]');
});移除由插件添加的菜单项
1
2
3this.app.workspace.on("file-menu", ({ menu, path }) => {
menu.removeExtendedMenuItem();
});
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Coco's Blog!
