开发者社区 > 云原生 > 正文

阿里云云效代码智能语法服务的底层技术LSIF,产生的背景是什么样的?

阿里云云效代码智能语法服务的底层技术LSIF,产生的背景是什么样的?

展开
收起
vncamyi27xznk 2021-12-15 23:42:55 754 0
1 条回答
写回答
取消 提交回答
  • image.png .LSIF 之前,LSP(Language Server Protocol)定义了编码语言与各类终端代码编辑器之前的交互协议。原先开发者需要为每一款编辑器都定义适配一种语法分析服务应用,那么 M 个语言要在 M 个代码编辑器中使用的话需要 MxN 个应用。而有了 LSP 的出现,开发者在解析代码语法时只需要遵循 LSP 协议格式,实现代码补全、定义展示、代码诊断等接口,就只需要开发 M+N 个应用。 然而代码分析往往需要耗费大量的时间和资源,当用户请求某个语法服务(如查看定义),后端需要克隆代码,下载依赖包,解析语法,构建索引(类比一下 IntelliJ Idea 初始化工程的场景),编辑器场景用户已经习惯于这样的方式,等待几分钟或许问题不大。但 CR 场景或者轻量级的代码浏览场景,这种方式就显得时效性比较低了,几分钟后或许用户已经完成了代码浏览,而且缺少持久化的存储会导致资源过度消耗。于是,LSIF 就在这样的背景下应运而生,秉承用空间换时间的思想,提前计算好语法分析结果以特定的索引格式存储在云上,从而快速响应不同用户的多次请求。

    答复内容摘自《云原生技术与架构实践年货小红书》,这本电子书收录开发者藏经阁 下载连接:https://developer.aliyun.com/topic/download?id=1127

    2021-12-16 14:42:27
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
阿里云云原生 Serverless 技术实践营 PPT 演讲 立即下载
阿里云产品十月刊 立即下载
基于阿里云构建博学谷平台实时湖仓 立即下载