我使用ast解析器来解析整个java工作区。在解析结束时,我有方法声明列表(这些方法对我的项目有问题)。这个列表元素在我自己的视图中添加到tableviewer中,就像问题视图一样。(注意:我不想将此列表添加到问题视图中)每个方法声明都有路径,位置,行号等信息,所以我有导航方法声明的一切。当用户双击列表元素时,他将进入声明。
示例:
@Inject
EPartService partService;
MPart part = partService.findPart("editor id"); // HOW DO I FIND METHOD PAGE
partService.showPart(part, PartState.ACTIVATE); // IF I OPEN JAVA FILE IN EDITOR HOW DO I GO TO METHOD LİNE IN THIS PART
但我不知道如何在日食e4中制作。请给我一个建议。
答案 0 :(得分:0)
快速简便的方法是使用JDT的JavaUI.openInEditor()
:这将允许您打开类中的特定方法。如果需要,它将打开一个编辑器,并将返回编辑器。
由于您有一个行号,并且您将有一个来自JavaUI
的调用的文本编辑器,您可以检查它是否为ITextEditor
,如果是,则使用{{1 }}。这会在编辑器内容字符串中占用偏移量,因此您必须使用编辑器的基础ITextEditor.selectAndReveal()
将行号映射到偏移量。通常可以从编辑器的Document
获得。类似于:DocumentProvider
。