快捷菜单 您所在的位置:网站首页 obsidian插件开发手册 快捷菜单

快捷菜单

2024-05-08 16:13| 来源: 网络整理| 查看: 265

快捷菜单 ​

如果想要打开 context menu, 使用 Menu:

tsimport { Menu, Notice, Plugin } from "obsidian"; export default class ExamplePlugin extends Plugin { async onload() { this.addRibbonIcon("dice", "Open menu", (event) => { const menu = new Menu(this.app); menu.addItem((item) => item .setTitle("Copy") .setIcon("documents") .onClick(() => { new Notice("Copied"); }) ); menu.addItem((item) => item .setTitle("Paste") .setIcon("paste") .onClick(() => { new Notice("Pasted"); }) ); menu.showAtMouseEvent(event); }); } }1234567891011121314151617181920212223242526272829

showAtMouseEvent() 方法打开鼠标点击的菜单。

TIP

如果您需要控制菜单出现的位置,您可以使用 menu.showAtPosition({ x: 20, y: 20 }) 去打开相对 Obsidian 窗口左上角相应位置的菜单。

想知道还有哪些 icons 能够使用,可以查阅 Icons 这篇文档。

您也可以通过订阅 file-menu 和 editor-menu workspace 事件的方式,向文件菜单或者编辑菜单中添加一个菜单项:

tsimport { Notice, Plugin } from "obsidian"; export default class ExamplePlugin extends Plugin { async onload() { this.registerEvent( this.app.workspace.on("file-menu", (menu, file) => { menu.addItem((item) => { item .setTitle("Print file path 👈") .setIcon("document") .onClick(async () => { new Notice(file.path); }); }); }) ); this.registerEvent( this.app.workspace.on("editor-menu", (menu, editor, view) => { menu.addItem((item) => { item .setTitle("Print file path 👈") .setIcon("document") .onClick(async () => { new Notice(view.file.path); }); }); }) ); } }12345678910111213141516171819202122232425262728293031

想要获取关于处理事件的更多信息,可以查阅 Events 这篇文档。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有