返回首页
最新
嘿,HN,
我相信很多人都遇到过那种大型且复杂的静态类型代码库,以至于你的代码编辑器会卡顿、延迟、变得无响应,整体表现不佳。调试一个缓慢的编辑器非常复杂,通常也是一种不受欢迎的干扰。在许多情况下,代码编辑器的缓慢表现源于语言服务器,这些是提供语言特性的外部程序(例如,跳转到定义、诊断、类型提示)。开发者们的挫败感示例:[1] 和 [2]。
在我之前的公司,我们对因慢速语言服务器而导致的编辑器瓶颈所引发的内部挫败感日益关注。我们也担心对它们的性能和行为了解得太少。因此,我们决定对代码编辑器进行监测,并收集语言服务器的遥测数据。我们收集的数据出乎意料地有用,帮助我们诊断了几个主要问题。例如,我们识别出代码库中某些模块的语言服务器速度远低于正常水平。随后,我们找到了解决方案,将这些模块拆分,以减轻语言服务器的负担。
我相信拥有这种数据对于管理开发者体验,尤其是在大规模环境中,可以带来巨大的改变。这就是我构建 lspwatch 的原因,这是一种通用工具,可以与所有符合 LSP 标准的语言服务器协同工作,并与多个可观察性后端集成。
启动 lspwatch 非常简单。可以选择性地配置你的监测,将其指向现有的可观察性后端,它就会正常工作。lspwatch 将透明地监控语言服务器的行为并发出指标。开发者在使用代码编辑器时不会注意到任何差异。
欢迎大家提供反馈和想法。README 中包含了更多详细信息。许多令人兴奋的功能正在开发中,以建立在这个项目提供的平台上。如果你想进一步讨论这个问题,可以通过我个人资料中的邮箱联系我。
祝好!
[1] [https://bsky.app/profile/mike.contribsys.com/post/3lbd5wx57ss2d](https://bsky.app/profile/mike.contribsys.com/post/3lbd5wx57ss2d)
[2] [https://github.com/typescript-language-server/typescript-language-server/issues/472](https://github.com/typescript-language-server/typescript-language-server/issues/472)
我一直想要一个华丽的Linux屏幕锁定器,因此我开发了FancyLock,这是一个支持X11(并且即将支持Wayland)的屏幕锁定解决方案。
主要特点:
- 锁屏期间动态媒体播放
- 多显示器支持
- 基于PAM的身份验证
- 智能闲置超时
- 高度可配置
FancyLock旨在解决现有屏幕锁定器的一些痛点:
- 无聊、静态的锁屏界面
- 较差的多显示器支持
技术亮点:
- 使用Go语言编写
- 利用X11扩展进行低级窗口和输入管理
- 通过mpv实现灵活的媒体播放
- 通过JSON进行配置
当前版本为v0.0.1,支持X11,计划支持Wayland。
GitHub链接: [https://github.com/tuxx/fancylock](https://github.com/tuxx/fancylock)
非常希望听到您的想法和反馈!
编辑:很高兴回答有关实现或设计选择的任何问题。