1

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

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

为什么还没有完成?这些代码辅助部分是否与 Eclipse 内部关系过于紧密,无法轻松分离?了解 Ecipe 内部运作的人能否对此有所了解?

编辑:这是用于 C# 的 SharpDevelop 的工作设置,emacs 是 UI,信息来自 SharpDevelop 模块。请参阅此页面上的屏幕截图。Eclipse 的补全支持可以类似地支持 emacs 和其他编辑器。

4

2 回答 2

2

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

也许不完全是您所照顾的,但恕我直言值得一看:

http://www.eclim.org/

于 2011-09-07T08:33:56.800 回答
0

内容辅助使用 Java 项目的内部模型 - 如果没有此模型,内容辅助将无法(有效地)工作。

我不确定与 Eclipse 内部集成的紧密程度,但我知道它使用 Eclipse 资源 API(文件系统处理)和其他功能,例如 Eclipse 扩展(无需修改代码即可添加新的完成提供程序)。

总之,我相信将此完成引擎移植到其他编辑器时,提到的编辑器会失去它们(在某些情况下是相对的)对 Eclipse 的简单性,因此它可能无法提供所提到的编辑器的较小占用空间 - 所以我不认为,它是为其他编辑有效地提供这样的引擎是可行的。

于 2011-08-29T08:21:16.787 回答