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");
}
}