Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java源代码编辑器作为Eclipse视图_Java_Eclipse_Editor_Eclipse Emf - Fatal编程技术网

Java源代码编辑器作为Eclipse视图

Java源代码编辑器作为Eclipse视图,java,eclipse,editor,eclipse-emf,Java,Eclipse,Editor,Eclipse Emf,我定义了一个EMF元模型,其中一些元素有一个字符串字段,该字段将包含一些Java代码 我正在尝试创建/重用(Java)源代码编辑器,作为选项卡式属性视图的一部分,以便能够使用类似IDE的功能编辑该字段。在这里使用JDT编辑器会很好,但我已经读过,这是不可行的。对于这个简单的项目来说,扩展org.eclipse.swt.widgets.Text来提供所有这些功能似乎是一种过分的做法 因此,问题是,您推荐哪种方法作为实现这一目标的最佳功能/努力比?您现在是否了解任何可作为/在视图中重用的源代码编辑器

我定义了一个EMF元模型,其中一些元素有一个字符串字段,该字段将包含一些Java代码

我正在尝试创建/重用(Java)源代码编辑器,作为选项卡式属性视图的一部分,以便能够使用类似IDE的功能编辑该字段。在这里使用JDT编辑器会很好,但我已经读过,这是不可行的。对于这个简单的项目来说,扩展org.eclipse.swt.widgets.Text来提供所有这些功能似乎是一种过分的做法

因此,问题是,您推荐哪种方法作为实现这一目标的最佳功能/努力比?您现在是否了解任何可作为/在视图中重用的源代码编辑器?

Buddy。。。 这将是一项艰巨的任务。 在SWT小部件/视图部件中重新使用EditorParts并不容易。我要做的唯一一件事就是重用EPF RichText小部件,它是为用作EditorPart而设计的

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

但是关于JDT:有太多的功能性与eclipses IEditorParts的基本文本编辑器功能直接相关。。。我认为这不值得努力

你找不到Java代码的Java IDE吗?没有任何与Swing/AWT相关的功能吗? 然后,您可以使用SWT_AWT-Brigde-Widget包含一个源代码编辑器Swing框架。通过这种方式,我成功地将Swing PDF查看器集成到eclipse ViewPart中

看一看这张照片。
作为Java IDE的第一次粗略尝试:

我在建模和代码生成方面做了大量工作,但这个问题从未得到令人满意的解决。模型到文本社区中有许多人认为,出于这一原因和其他原因,代码不应该出现在模型中

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


以EclipseM2T-JET中的
标记为例。我相信其他Eclipse模型到文本技术也有类似的功能。

我听到了,兄弟!!;-)我只能找到一些SWT文本编辑器示例,还有一个示例在视图中重用
SourceViewer
,但没有编辑功能。我将尝试将侦听器添加到源代码查看器中,并查看其结果。谢谢你的回答。谢谢克里斯的建议。遗憾的是,在这种情况下,这种方法的“理念”是强制性的。我们被要求提出如何改进他们已经拥有的编辑,我们甚至可能建议改变一种类似于你建议的方法,但这需要一些时间,直到他们评估和考虑它。无论如何,谢谢你的建议。