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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值