代码编辑器的自动补全功能原理

首先要对已有的代码做剖析,普通是以语法树的方式来做。这一步主要是为了让 IDE 知道,已有的代码中定义的类型都有哪些,以后正在编辑的内容是那个类的哪个函数里,等等。在详细做的时分能够会遇到不少效果,比如正在编辑的代码通常是不完整的。

随后能够会构建若干个表来记载“可以被自动补全的内容”,比如变量的称号和类型、一切的类名、每个类里的成员名、函数名、罕见的函数等等。

其次需求依据上下文来计算如何去查这些表,比如写了一半的变量名 / 方法名;比如在函数里的时分要思索有效的局部变量;比如在不同的类外面写的内容;等等。

然后依照一定的优先度把查出来的结果排序,显示给你看。

在确认了要补全的选项之后,还应该有一定的操作将所选的字符串填充到输入点之后(当然不是复杂的拔出那么复杂)。

提供最优质的资源集合

立即查看 了解详情