2011-03-01 98 views
1

我需要添加一些功能以蚀除文本编辑器。我们的目标是获得一个图形上下文或者将SWT Canvas添加到任何和所有Eclipse AbstractTextEditor中,并将这些修改打包到一个插件中(所以通过安装我提供的插件,编辑器修改将适用于Java编辑器,XML编辑器,纯文本编辑器等)。是否有任何扩展点可以满足这个目的,或者是我最好的一个片段?任何帮助表示赞赏。为所有Eclipse文本编辑器添加功能

回答

2

我建议您查看AbstractTextEditor的源代码以查看扩展点是否存在用于此目的。如果存在一个扩展点,那么在该类源中就会很明显。

我敢打赌,这样的扩展点不存在。您只需打开一个增强请求,然后修补包含AbstractTextEditor插件的插件以更改该文件的来源。一个片段是不会去做的。另一种可供选择的方法是学习和应用字节码编织框架,如AspectJ(http://eclipse.org/ajdt/)。

+0

感谢您的建议。我一直在研究AspectJ和Reflection包来完成这个工作。因为这似乎超出了我的问题的范围,所以也许我应该把它改写成我认为你可以更好地回答的问题:“如果存在扩展点,那么在该类源代码中就会明显。它是如何显而易见的?用于定义扩展点的语法或签名是什么? – 2011-03-02 21:07:32

+0

扩展点处理是普通的Java代码。特别是由于处理扩展点被委托给另一个类,所以不一定要搜索特定的代码模式。我会建议寻找顶层编辑器画布构建的地方,并查看该例程的功能。如果它切换到某处的扩展点,则会在该例程的主体中看到它。 – 2011-03-02 22:55:32

+0

您是否考虑过提供与编辑器交互的独立视图,而不是尝试修改编辑器画布?类似于属性和javadoc视图(以及其他)的行为。因为所有必需的API都存在并且应该有样本可供查看,所以这将变得更加容易。 – 2011-03-02 22:57:26

相关问题