我经常听到Eclipse的代码完成,编码辅助功能与其他编辑器相比有多好,如果这些部分可以与Eclipse代码库分离,则会引发问题。
如果这个部分用API分隔,通过它可以告诉它需要知道的事情(项目的文件在哪里,包含的路径是什么等),那么它可以返回必要的信息(帮助光标处的符号,可能的完成等等。)任何编辑器(emacs,vim等)都可以使用它。
为什么还没有完成?这些代码是否协助部件与Eclipse内部结构过于紧密,并且它们不能轻易分离?知道Eclipe内部运作的人是否可以对此有所了解?
编辑:这是一个使用SharpDevelop for C#的工作设置,emacs是UI,信息来自SharpDevelop模块。请参见屏幕截图on this page。 Eclipse的完成支持可以同样支持emacs和其他编辑器。
答案 0 :(得分:2)
eclim项目试图通过直接与eclipse接口来解决这个问题。因此,至少需要无头的日食。虽然eclim的重点是vim集成,但也存在其他编辑器(emacs,textmate等)的插件。 eclim和编辑器之间的通信通过服务器接口进行。
也许不完全是你在哪里照顾,但imho值得一看:
答案 1 :(得分:0)
内容辅助使用Java项目的内部模型 - 如果没有此模型,内容辅助将无法正常工作(有效)。
我不确定,Eclipse内部集成有多紧密,但我知道它使用了Eclipse Resources API(文件系统处理)和其他功能,例如Eclipse扩展(可以添加新的完成提供程序而无需修改代码)。
总而言之,我相信将这个完成引擎移植到其他编辑器中,所提到的编辑器会丢失它们(在某些情况下是相对的)简单性,因此它可能无法提供所提到的编辑器的更小的空间 - 所以我不认为,有效地为其他编辑提供这样的引擎是可行的。