从Eclipse中提取代码辅助/完成部分并在其他编辑器中使用它是否可行?



我经常听说Eclipse的代码完成和编码辅助功能与其他编辑器相比有多好,这就提出了一个问题,是否可以将这些部分从Eclipse代码库中分离出来。

如果这部分与一个API分开,通过它可以告诉它需要知道的事情(项目的文件在哪里,包含的路径是什么,等等),那么它可以返回必要的信息(光标符号的帮助,可能的补全等),任何编辑器(emacs, vim等)都可以使用它。

为什么还没有完成?这些代码辅助部分是否与Eclipse内部捆绑得太紧,无法轻易分离?知道Eclipe内部工作原理的人能解释一下吗?

编辑:这是一个工作设置与SharpDevelop为c#, emacs是UI和信息来自SharpDevelop模块。请看本页的截图。Eclipse的完成支持可以类似地支持emacs和其他编辑器。

eclim项目试图通过直接与eclipse接口来解决这个问题。因此,至少需要一个无头运行的eclipse。虽然eclim的重点是vim集成,但也有其他编辑器的插件(emacs, textmate等)。eclim和编辑器之间的通信是通过服务器接口进行的。

也许不是你要看的东西,但我觉得值得一看:

http://www.eclim.org/

内容辅助使用Java项目的内部模型——没有这个模型,内容辅助就不能工作(那么有效)。

我不确定它与Eclipse内部集成得有多紧密,但我知道它使用了Eclipse Resources API(文件系统处理)和其他特性,如Eclipse扩展(无需修改代码即可添加新的补全提供程序)。

总之,我相信将这个完成引擎移植到其他编辑器中,上面提到的编辑器将失去它们相对于Eclipse的简单性(在某些情况下是相对的),因此它可能不会提供前面提到的编辑器的更小的占用空间——所以我认为,为其他编辑器有效地提供这样的引擎是不可实现的。

相关内容

  • 没有找到相关文章

最新更新