有没有一种方法可以通过编程方式更改Eclipse默认视图之一的标题?

4

我有一个插件使用Eclipse的“Problems”视图,我想把标题改成“Errors”。

有没有办法在程序中进行编程更改,或者可以扩展问题视图而不必创建自己的自定义标记视图?

我知道要更改视图标题,您可以在viewPart类中使用setParName,但是由于我正在使用Eclipse的其中一个视图,因此我没有viewPart类。


那个视图被你的插件和许多其他插件在同一个Eclipse安装中使用,因此你应该成为一个好公民,不要修改这样一个核心部分。这对于一个RCP应用程序可能是可以的,但我认为对于集成到IDE中的普通插件来说,这是相当糟糕的设计失误。 - Bananeweizen
是的,我同意。被接受的答案并不影响实际视图。 - nbz
2个回答

2

如果您有自定义透视图,您可以在插件.xml(清单文件的“扩展”选项卡)中添加它,而不是在自定义透视图类中设置视图名称。

nEm: 我只想补充一点,如果您想要错误标记行为,请确保选择此类。

org.eclipse.ui.internal.views.markers.ProblemsView

由于还有另一个问题视图,因此存在另一个问题。

那么你的意思是像这样做 view.SetPartName("Errors") 吗? - nbz
当我导入ProblemsView时,我会收到一个让人沮丧的访问警告,并且没有setPartName或setTitle。只有一个setPartProperty(String key,String value)。此外,在将问题视图添加到自定义透视类之后,我将其放置在其中。 - nbz
如果您有自定义透视图,是否可以在插件.xml(清单文件的“扩展”选项卡)中添加视图时设置其名称,而不是在自定义透视图类中设置? - Kai
啊,没错,这个方法可行!有没有办法让我保留与问题视图相同的图标?因为现在它已经没有图标了。 另外,你能否编辑你的答案,以便我可以接受它或者我可以编辑它,如果可以的话。 - nbz
嗯,我不知道。也许你需要将那个图标从eclipse文件夹复制到你的项目文件夹中并引用它。尝试在eclipse文件夹中搜索.gif图像。 - Kai
是的,这就是我想的,但它们都在不同的文件夹中,文件夹名字是数字...所以我需要一段时间来找到它!但无论如何,标题是主要问题。感谢您更新答案! - nbz

1

您可以创建自己的视图定义,通过创建自定义标记视图与ProblemsView非常相似。

org.eclipse.ui.internal.views.markers.ProblemsView使用标记生成器org.eclipse.ui.ide.problemsGenerator。一旦您创建了一个子类继承自org.eclipse.ui.views.markers.MarkerSupportView并提供标记生成器,您就可以使用简单的视图定义:

<extension point="org.eclipse.ui.views">
   <view class="com.example.MyErrorView"
         icon="icons/sample.gif"
         id="com.example.myErrorView"
         name="My Error View"/>
</extension>

请参考Prakash的http://blog.eclipse-tips.com/2008/11/creating-custom-marker-view.html,了解更复杂的示例。使用来自另一个插件的图标有些棘手,因为无法保证它仍然在原地,但如果您真的想要使用,可以尝试以下方法:

icon="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/problems_view.gif"

请注意,上述格式不支持更改图标的换行符。


是的,这也是一个好主意。我只是想避免创建自定义视图,因为我希望一切都与“问题”视图完全相同,只是标题改变了。 - nbz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接