阿里云云效代码智能语法服务的底层技术是LSIF(Language Server Index Format),它是一种持久化语言的索引的图存储格式,通过图的格式,表示了“代码文档”-> “语法智能结果”之间的事件关系。
在LSIF之前,LSP(Language Server Protocol)定义了编码语言与各类终端代码编辑器之前的交互协议。原先开发者需要为每一款编辑器都定义适配一种语法分析服务应用,那么M个语言要在M个代码编辑器中使用的话需要MxN个应用。而有了LSP的出现,开发者在解析代码语法时只需要遵循LSP协议格式,实现代码补全、定义展示、代码诊断等接口,就只需要开发M+N个应用。