我想在工作台窗口的状态栏中放置一个控件。整个过程应该是直接的,但无论我尝试什么,状态栏的贡献都不会变得可见。
因为我不拥有该应用程序,而只是向 IDE 提供一个插件,所以 WorkbenchWindowAdvisor
和 friend 不是一个选择。
扩展点是这样的:
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="toolbar:org.eclipse.ui.trim.status" allPopups="false">
<control class="MyContributionItem" id="myContributionItem" />
</menuContribution>
</extension>
并且 MyContributionItem
类如下所示:
public class MyContributionItem extends WorkbenchWindowControlContribution {
protected Control createControl( Composite parent ) {
Label label = new Label( parent, SWT.NONE );
label.setText( "STATUS BAR!" );
return label;
}
}
到目前为止我所尝试的一切都没有成功(即状态栏贡献没有显示):
- 将
?after=org.eclipse.jface.action.StatusLineManager
添加到locationURI
- 在
MyContributionItem#createControl()
中放置一个断点,它永远不会到达 - 目标平台:Eclipse Platform SDK 3.8 或 4.4:没有区别
- 将
allPopups
属性更改为true
我很确定我错过了一些非常明显的东西,......
最佳答案
试试这个: 插件.xml
<extension
point="org.eclipse.ui.menus">
<menuContribution
allPopups="false"
locationURI="toolbar:org.eclipse.ui.trim.status">
<toolbar
id="org.ancit.search.web.searchbar"
label="Search Bar">
<control
class="org.ancit.search.web.controlContributions.GoogleSearchControlContribution"
id="org.ancit.search.web.controlContributions.GoogleSearchControlContribution">
</control>
</toolbar>
</menuContribution>
</extension>
检查GoogleSearchControlContribution github上的类
关于eclipse - 贡献给状态栏的控件不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28202990/