Eclipse RCP:命令的键绑定有效,但快捷方式未显示在菜单中
Eclipse RCP: Key binding for commands work, but shortcuts are not shown in menu
注意:我不认为这是 Eclipse Editor plug-in key binding not shown in menu for command!
的重复
我有一个基于 Mars (4.5) 的 Eclipse RCP 应用程序,它不使用任何 e4 功能。我已经定义了我自己的键方案,以及 plugin.xml
中命令的一些键绑定。它们工作正常,当我从 IDE 启动我的应用程序时,菜单条目显示 快捷方式文本 (例如,CTRL + Q
)实际的命令文本,例如
Quit CTRL+Q
但是,当我构建我的产品(包括 plugin_customizations.ini
)并 运行 它时,键绑定仍然有效,但实际的快捷方式文本是不再显示在菜单中。
我该如何解决这个问题,以便文本再次显示在产品版本中?
编辑:这是在 Ubuntu 14.04 (Unity) 上。
从IDE开始,显示快捷方式文本:
从构建的产品开始,相同的系统:
这是 Ubuntu 中已知错误的问题(参见 related Eclipse bug report, discussion on ubuntuforums.org)。
要解决此问题,请通过将 UBUNTU_MENUPROXY
环境变量设置为 0
来启动应用程序。这会强制应用程序使用应用程序内的菜单栏 window 而不是 (cursed!cursed!cursed!) Unity 全局菜单。
不幸的是,似乎还没有办法在启动时设置环境变量(通过启动器参数或<application>.ini
),但是有两个错误(this one and this one)要求这样做,所以如果您也需要这个,请给他们投票或尝试实施此...
同时,您可以在构建中包含自定义 shell 脚本,用户可以选择使用该脚本来启动应用程序。这个脚本非常简单:
#/bin/bash
UBUNTU_MENUPROXY=0 ./{your-application-launcher}
如果您有基于功能的产品,您还可以在为 Linux 构建的产品的构建中包含此脚本。为此,将脚本添加到主要功能的根路径,并将以下行添加到功能的 build.properties
.
root.linux.gtk.x86.permissions.755=launcher-unity.sh
root.linux.gtk.x86_64.permissions.755=launcher-unity.sh
root.linux.gtk.x86=file:launcher-unity.sh
root.linux.gtk.x86_64=file:launcher-unity.sh
注意:我不认为这是 Eclipse Editor plug-in key binding not shown in menu for command!
的重复我有一个基于 Mars (4.5) 的 Eclipse RCP 应用程序,它不使用任何 e4 功能。我已经定义了我自己的键方案,以及 plugin.xml
中命令的一些键绑定。它们工作正常,当我从 IDE 启动我的应用程序时,菜单条目显示 快捷方式文本 (例如,CTRL + Q
)实际的命令文本,例如
Quit CTRL+Q
但是,当我构建我的产品(包括 plugin_customizations.ini
)并 运行 它时,键绑定仍然有效,但实际的快捷方式文本是不再显示在菜单中。
我该如何解决这个问题,以便文本再次显示在产品版本中?
编辑:这是在 Ubuntu 14.04 (Unity) 上。
从IDE开始,显示快捷方式文本:
从构建的产品开始,相同的系统:
这是 Ubuntu 中已知错误的问题(参见 related Eclipse bug report, discussion on ubuntuforums.org)。
要解决此问题,请通过将 UBUNTU_MENUPROXY
环境变量设置为 0
来启动应用程序。这会强制应用程序使用应用程序内的菜单栏 window 而不是 (cursed!cursed!cursed!) Unity 全局菜单。
不幸的是,似乎还没有办法在启动时设置环境变量(通过启动器参数或<application>.ini
),但是有两个错误(this one and this one)要求这样做,所以如果您也需要这个,请给他们投票或尝试实施此...
同时,您可以在构建中包含自定义 shell 脚本,用户可以选择使用该脚本来启动应用程序。这个脚本非常简单:
#/bin/bash
UBUNTU_MENUPROXY=0 ./{your-application-launcher}
如果您有基于功能的产品,您还可以在为 Linux 构建的产品的构建中包含此脚本。为此,将脚本添加到主要功能的根路径,并将以下行添加到功能的 build.properties
.
root.linux.gtk.x86.permissions.755=launcher-unity.sh
root.linux.gtk.x86_64.permissions.755=launcher-unity.sh
root.linux.gtk.x86=file:launcher-unity.sh
root.linux.gtk.x86_64=file:launcher-unity.sh