2015-11-21 18 views
2

注意:我不認爲這是Eclipse Editor plug-in key binding not shown in menu for command的重複!Eclipse RCP:命令的鍵綁定工作,但快捷鍵不在菜單中顯示

我有一個基於Mars(4.5)的Eclipse RCP應用程序,它不使用任何e4功能。我已經定義了我自己的密鑰方案以及plugin.xml中的一些命令的鍵綁定。它們工作正常,當我從IDE啓動我的應用程序時,菜單條目在實際命令文本旁邊的菜單中顯示快捷文本(例如,CTRL + Q),例如,

Quit CTRL+Q

然而,當我建立我的產品(包括plugin_customizations.ini)並運行它,鍵綁定仍然工作,但實際快捷的文本未在菜單中顯示了。

我該如何解決這個問題,以便文本再次顯示在產品版本中?

編輯:這是在Ubuntu 14.04(統一)。

從IDE啓動,顯示快捷鍵文本:

With shortcut, started from IDE

從內置的產品開始,同樣的系統:

enter image description here

回答

1

這是一個已知的bug問題Ubuntu(參見related Eclipse bug report,discussion on ubuntuforums.org)。

要解決此問題,請通過將UBUNTU_MENUPROXY環境變量設置爲0來啓動應用程序。這會強制應用程序使用應用程序窗口內的菜單欄,而不是使用Unity全局菜單(cursed!cursed!cursed!)。

不幸的是,人們似乎還沒有辦法設置在啓動時(通過發射參數或<application>.ini)環境變量,但有兩個錯誤(this onethis one)的要求只是這一點,所以如果你也需要這個,對它們進行投票或採取刺殺措施來執行此操作...

與此同時,您可以在構建中包含自定義外殼腳本,用戶可以選擇使用它來啓動應用程序。這個腳本是非常簡單的:

#/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