2012-12-09 43 views
1

我已经定义了一个EMF元模型,其中一些元素具有包含一些Java代码的字符串字段。作为Eclipse视图的Java源代码编辑器

我想创建/重复使用(Java)的源代码编辑器作为标签属性的一部分查看到能够编辑该领域与一些IDE一样的功能。如果适应JDT编辑器在这里使用它会很好,但是因为我已经阅读过,所以这是不可行的。扩展org.eclipse.swt.widgets.Text来提供所有这些功能似乎对这个简单的项目来说太过于矫枉过正。

因此,问题是,现在你会推荐哪一种方法是最好的功能/精力比达到这个?你可以一个视图/内可重复使用任何源代码编辑器?

回答

2

好友... 这真的是一个艰巨的任务。 在SWT小部件/ ViewParts中重新使用EditorParts并不容易。我唯一需要管理的就是重用EPF RichText-Widget,它被设计用作EditorPart。

在这种情况下,它是很容易的,因为它只需要一个IEditorSite作为构造函数的参数。然后我将其扩展并将IViewSite改编为IEditorSite。

但是关于JDT:有太多的funcionality与日食IEditorParts中的基本文本编辑器功能直接相关......我认为这不值得付出努力。

您不能找到适用于Java代码的Java-IDE吗?没有什么与Swing/AWT一起工作? 然后,您可能会使用SWT_AWT-Brigde-Widget包含源代码编辑器Swing-Frame。通过这种方式,我成功地将Swing-PDF-Viewer集成到了一个eclipse ViewPart中。

看一看的eclipse API desciption
而作为第一粗糙拉升的Java IDE: drJava

+0

我听到你,兄弟! ;-)我只能找到一些SWT文本编辑器的例子,以及在视图中重用'SourceViewer'但没有编辑功能的例子。我将尝试将侦听器添加到源查看器,并查看它出来的内容。感谢您的回答。 – JPS

0

我已经做了很多工作,与建模和代码生成,这问题一直没有真正得到圆满解决。模型到文本社区有许多人认为,代码不应该出现在模型中,因为这个和其他原因。

我过去的做法是从模型生成我的代码,留下注释方括号的区域,供开发人员使用他们最喜欢的编辑器将他们的业务逻辑和其他代码片段直接输入到生成的代码中。如果模型更改并且代码重新生成,则开发人员提供的代码将保留。这也具有支持任何语言(Java,C,Objective-C,JSP/HTML等)以及默认生成代码的默认存根的优点。

看在Eclipse M2T-JET的<c:userRegion>标签,例如,我相信其他Eclipse模型到文本技术具有相似的功能。

+0

感谢克里斯的建议。遗憾的是,这种方法的“哲学”是强制性的。我们被要求建议如何改进他们已有的编辑,我们甚至可能会建议将方法改为类似于您的建议,但在评估和考虑之前需要一些时间。无论如何,谢谢你的建议。 – JPS