LSP 与 VS Code 插件开发(二)语义构建
上一章我们讲到,语言服务器的输入是源码,而输出是结构化的数据。代码编辑器(客户端)某个位置显示什么颜色,鼠标悬浮到某个位置提示什么信息,都由客户端向语言服务器请求,获取数据后,渲染到用户界面。
因此语言服务器需要编译源码,构建语义模型,为客户端提供智能编程服务。
Hi 👋,欢迎访问我的博客
我是一名前端开发者,VS Code 插件和语言服务器开发者
我目前在开发基于 LSP 的 语言服务器,也在维护用 Go 构建的编译器
在这里查看更多关于我的更多信息
我希望通过这个博客记录技术知识,提升影响力。如果你感兴趣,可以看看这些文章:
我为 VS Code 贡献了代码:这篇文章登上了阮一峰的科技爱好者周刊
LSP 与 VS Code 插件开发 第一章:记录我对 LSP 和语言服务器开发系列文章
怎么让 favicon 动起来:发现了吗,本网站的 favicon 会动
上一章我们讲到,语言服务器的输入是源码,而输出是结构化的数据。代码编辑器(客户端)某个位置显示什么颜色,鼠标悬浮到某个位置提示什么信息,都由客户端向语言服务器请求,获取数据后,渲染到用户界面。
因此语言服务器需要编译源码,构建语义模型,为客户端提供智能编程服务。
我是一名语言服务器开发者、VS Code 插件开发者。
我开发了这款插件。它集成了一个基于 LSP
的语言服务器,可以为自研编程语言提供智能编程功能。
周末参加了 RubyConf China 2023,很奇妙的一段体验!作为一个前端,在同样是脚本语言的 Ruby 会议上听到了 React18,WebAssembly,Rust,Rails,LSP 这些概念,也会有些内容对比到 ts 或者 js,会有“原来 Ruby 程序员是这样思考的”的想法。虽然 Ruby 代码看不懂,拓宽视野还是让我耳目一新。
博客一直缺一个 favicon
,在标签栏里和其他网页放在一起,就显得很丑,一看就是半成品网页。
想放一个标新立异些的 icon,问了 ChatGPT 也没有什么好的建议,就想放一张动图。
可是现代浏览器里 favicon
如果是 gif
格式,通常只会展示它的第一帧,并不能动起来。
yari
的仓库。yari
是用于构建 MDN Web Docs 的库README
分别拷贝 conent
和 translated-content
两个库。可以理解为分别是原文和译文