解决Mac中的亘古难题——给菜单栏设置快捷键

在Windows中,软件的每个菜单都有一个对应的快捷键,比如”文件“菜单的快捷键是”Alt+F“,其它一些菜单的快捷键都可以通过按Alt键显示出来。可是在Mac中,死活找不到类似的打开菜单的快捷键,只有一个笨办法:按Ctrl+F2,然后左右选择,或者在键盘上敲你想要打开菜单的首字母,再回车——这还不如用鼠标点呢。很长一段时间以来,我都没找到较好的解决办法。

在Mac中的xcode里,我非常需要一个快捷键能够打开”Window“菜单,以方便在不同的工程里切换,可惜一直不如意。痛定思痛,今天再次放狗找解决办法,终于找到一个利器:AppleScript

废话不说,直接上代码:(可以AppleScript编辑器里运行测试,其中第二行的”Xcode6GM“要换成你的Xcode在应用程序里面的名称)

try
    tell application "Xcode6GM"
        activate
    end tell
    tell application "System Events"
        tell process "Xcode"
            click menu "Window" of menu bar 1
        end tell
    end tell
on error errMsg number errNum
    tell me
        activate
        display alert errMsg & return & return & "Error number" & errNum
    end tell
end try


那么如何绑定快捷键呢?这就要用到Automator了。

Automator 是 Mac 自带的神奇小机器人,这次我们就要用它的 Workflow 功能来将脚本绑定到系统快捷键上。
先来设置 Automator,Automator 可以在 Spotlight 里快速启动。

    1、选取文稿类型“服务”;
    2、在右侧设置“服务”收到为“没有输入”;
    3、在左侧选取“运行AppleScript”,双击或直接拖到右侧区域内;
    4、在出现的 AppleScript 编辑窗口里输入代码,之后保存为你喜欢的名字;
    5、此时在系统左上角 Automator 的下拉菜单里“服务”一栏就已经有刚才你保存的服务啦!现在点击刚刚保存的服务的名称运行一次看看~~(一定要运行一次哦)

现在开始设置快捷键。

    1、点击 Automator 下拉菜单中“服务->服务偏好设置”;
    2、在弹出的服务偏好设置窗口右侧,从“通用”中找到刚保存的服务名称,选中该服务,右侧可以看到“添加快捷键”的按钮;
    3、点击“添加快捷键”按钮,在键盘上按下需要设置的快捷键。


需要注意的问题

一定要在运行时给予应用程序访问权限,要不然就会提示”Error number-1719“等问题。比如我的Xcode6GM应用必须在下面的图中有勾选:

解决Mac中的亘古难题——给菜单栏设置快捷键


参考:

http://segmentfault.com/blog/iceflying/1190000002393371

http://blog.xcodev.com/archives/auto-key-press-using-appscript/

你可能感兴趣的:(解决Mac中的亘古难题——给菜单栏设置快捷键)