UnityEditor MenuItem菜单项-快捷键的实现

MenuItem

MenuItem 属性用于向主菜单和检视面板上下文菜单添加菜单项。
该 MenuItem 属性能够将任何静态函数转变为菜单命令。仅静态函数可使用 MenuItem 属性。

要创建热键,您可以使用以下特殊字符:%(在 Windows 上为 ctrl,在 macOS 上为 cmd)、# (shift)、& (alt)。如果不需要特殊的修改键组合,该键可以在下划线后给出。例如,要创建一个带有热键 shift-alt-g 的菜单,可以使用“MyMenu/Do Something #&g”。要创建带有热键 g 而不按下修改键的菜单,则使用“MyMenu/Do Something _g”。

一些特殊的键盘键可支持作为热键,例如,“#LEFT”可映射到 shift-left。支持这一功能的键为:LEFT、RIGHT、UP、DOWN、F1 … F12、HOME、END、PGUP 和 PGDN。

1、MenuItem的使用

using UnityEditor;
using UnityEngine;
public class MenuItemTest : Editor
{[MenuItem("MenuItemTest/MenuItem")]private static void MenuItem(){Debug.Log("输出了");}
}

显示效果如下:
在这里插入图片描述

如果想在Project的鼠标右键上显示,如下:

using UnityEditor;
using UnityEngine;
public class MenuItemTest : Editor
{[MenuItem("Assets/MenuItemTest/MenuItem")]private static void MenuItem(){Debug.Log("输出了");}
}

在这里插入图片描述

2、快捷键的添加

快捷键指令
%CTRL
#Shift
&Alt
LEFT/RIGHT/UP/DOWN箭头上下左右
F1-F12键盘快捷键F1-F12
HOME/END/PGUP/PDDN对应键盘的Home/End/PageUp/PageDown
using UnityEditor;
using UnityEngine;
public class MenuItemTest : Editor
{[MenuItem("MenuItemTest/MenuItemCtrl+Q %Q")]private static void MenuItemCtrlQ(){Debug.Log("快捷键Ctrl+Q");}[MenuItem("MenuItemTest/MenuItemCtrl+Alt+Q %&Q")]private static void MenuItemCtrlAltQ(){Debug.Log("快捷键Ctrl+Alt+Q");}[MenuItem("MenuItemTest/MenuItemQ _Q")]private static void MenuItemQ(){Debug.Log("快捷键Q");}
}

在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部