我正在尝试在我最喜欢的编辑器中设置正确的代码完成,让我们称之为AnEditor,以避免互联网充满的程序特定的答案.(而且语言是ALanguage,你知道.)编辑器有两个我喜欢的功能:它在控制台和GUI中一样好,所以我可以通过网络使用它,并且它具有很大的可扩展性.所以我不愿意使用一个完整的IDE.但编辑器没有可靠的代码完成,但如果我找到一个像样的解决方案,它可以插入.
我已经在[编辑器/ IDE Y]中搜索了一大堆关于" [语言X]完成"的问题和解决方案.似乎每个新IDE都从头开始为每种语言实现代码完成,解析器和所有语言.每个更简单的编辑器(包括AnEditor)都会执行以下操作之一:
现在,问题是,为什么我们不能有一个声音代码完成库,我可以插入AnEditor和其他人到ABigIDE?据我所知(解读C指针丛林不是我的目标),答案应该看起来像这样:
因此,为了完成某些语言的工作,您可以为语言构建解析器规则,在标准库和项目上构建索引,召唤类型识别函数并查找类的成员和文档.或者只是列出类和成员,如果您正在处理对象构造或静态调用.
如果Eclipse,Netbeans和JetBrains已经用Java成功完成了它(因此我应该将Eclipse插入到AnEditor中),为什么没有人能够以更少的臃肿和更普遍的方式来做它?或者我错过了什么,未来已经潜伏在某个地方?