Hi 👋,欢迎访问我的博客


我是一名前端开发者,VS Code 插件和语言服务器开发者

我目前在开发基于 LSP 的 语言服务器,也在维护用 Go 构建的编译器

这里查看更多关于我的更多信息


我希望通过这个博客记录技术知识,提升影响力。如果你感兴趣,可以看看这些文章:

我为 VS Code 贡献了代码:这篇文章登上了阮一峰的科技爱好者周刊

LSP 与 VS Code 插件开发 第一章:记录我对 LSP 和语言服务器开发系列文章

怎么让 favicon 动起来:发现了吗,本网站的 favicon 会动



LSP 与 VS Code 插件开发(二)语义构建

上一章我们讲到,语言服务器的输入是源码,而输出是结构化的数据。代码编辑器(客户端)某个位置显示什么颜色,鼠标悬浮到某个位置提示什么信息,都由客户端向语言服务器请求,获取数据后,渲染到用户界面。

因此语言服务器需要编译源码,构建语义模型,为客户端提供智能编程服务


阅读全文

在 VS Code 中调试和运行 Go 程序

习惯了 VS Code,使用 GoLand 总是不顺手。这里总结一些在 VS Code 中调试和运行 Go 程序的方法。

准备工作

必不可少的是 Go 插件。安装后可以做一些基础配置:


阅读全文

我为 VS Code 贡献了代码

今天发现我提给 VS Code 的 PR 被官方感谢了。深受鼓舞!


阅读全文

LSP 与 VS Code 插件开发(一)语言服务器架构

背景

我是一名语言服务器开发者、VS Code 插件开发者。
我开发了这款插件。它集成了一个基于 LSP 的语言服务器,可以为自研编程语言提供智能编程功能。


阅读全文

RubyConf China 2023 笔记

周末参加了 RubyConf China 2023,很奇妙的一段体验!作为一个前端,在同样是脚本语言的 Ruby 会议上听到了 React18,WebAssembly,Rust,Rails,LSP 这些概念,也会有些内容对比到 ts 或者 js,会有“原来 Ruby 程序员是这样思考的”的想法。虽然 Ruby 代码看不懂,拓宽视野还是让我耳目一新。


阅读全文

从源码看 Vue 组件销毁后触发其事件

从一个 bug 说起

记录一个 Vue 组件事件的边界情况。项目中有一个组件,是一个面板,可以通过拖拽改变自身尺寸,也可以被关闭。


阅读全文

怎么让 favicon 动起来

博客一直缺一个 favicon,在标签栏里和其他网页放在一起,就显得很丑,一看就是半成品网页。

想放一个标新立异些的 icon,问了 ChatGPT 也没有什么好的建议,就想放一张动图。

可是现代浏览器里 favicon 如果是 gif 格式,通常只会展示它的第一帧,并不能动起来。


阅读全文

ChatGPT 的流式对话是怎么实现的

背景

网页里 ChatGPT 是逐字输出文字的,很像人类在一个一个打字:
img


阅读全文

如何参与编辑 mdn 中文页面

  1. 拷贝 yari仓库yari 是用于构建 MDN Web Docs 的库
  2. 根据 README 分别拷贝 conenttranslated-content 两个库。可以理解为分别是原文和译文

阅读全文

为什么写博客

  1. Luck = [Doing Things] * [Telling People] https://github.com/readme/guides/publishing-your-work

阅读全文