lspce - rust实现的LSP客户端

我感觉更可行的方式是一个server同时支持TypeScript和TailwindCSS。

VSCode 是可以同时使用前端项目的插件和 TailwindCSS 的插件的,但是很明显 TailwindCSS 的反应速度要慢一些,且很多场景需要删掉一些字符重新输入才能有提示。

vscode都没做好,看起来还没有成熟的方式啊

目前我知道的是,lsp-mode 是支持的,我也一直在用

我研究研究看看,不过就算要支持,短时间内应该也实现不了。

哈哈哈,这么多客户端,一时之间,不知道到底该用哪个了 :joy:

要稳定成熟的,就选eglot/lsp-mode,要不卡手就选lsp-bridge,至于lspce,跟eglot/lsp-mode比没那么卡手,跟lsp-bridge比就是跟Emacs现有生态集成的好点;反过来比就是lspce的缺点了,没lsp-bridge流畅,没eglot/lsp-mode成熟,哈哈哈

选择太多了也愁

lsp-bridge虽然不卡手,但是我最近经常遇到显示的和补全出来的不一样。不知道咋回事

有测试代码嘛?

是公司的项目工程来着,可能工程比较大有的补全就不是特别及时。我打得快了,就会补全错误,但是我有意识的等一下,他就不会出问题。 这个可能比较难复现

什么语言?一般typescript和volar这两个服务器返回不全特别多。

你更新lsp-bridge到最新版了吗?

是golang 来着,不过公司工具生成的静态代码文件比较大。有时候补全项出来是很慢的,要是引用了静态代码的话。

大概就是补全菜单会先弹出来一个,然后过一会补全菜单又会更新一下。 我感觉问题出在这。

希望把功能做的全一点(最好支持 tramp ,rua

不然工具链上有一个有问题可能用着就挺难受

主要是tramp我自己不用,也没有真实环境来测试(话说我从来没用过tramp,不知道它具体能干啥),凭想象写出来的肯定有问题。

目前你只能用eglot或者lsp-omde了。

我在使用 doom 的包管理器来安装本包,发现只要 lspce-util 被编译,就会报下列错误:(void-variable lspce--widening),删除 lspce-util.elc 后正常。

配置如下:

(package! lspce
  :recipe (:host github
           :repo "zbelial/lspce"
           :files ("*.so" "*.el")
           :pre-build
           (shell-command "cargo build --release && mv target/release/liblspce_module.so lspce-module.so")))

另外建议把 lspce-module.so 加入 .gitignore

感谢反馈。

找不到lspce–widening和.gitignore的问题都改了,你再试下看还有没有问题。

这部分刚刚测试没有问题。

汇总一下最近的一些更新。都不是什么大改动,只是修复了一些bug,增加了一些实用的功能。

  • 增加了两个命令 lspce-shutdown-serverlspce-restart-server

  • 如果当前项目中有同类型的文件已经开启了lspce,新打开的文件也会自动启用lspce。

    解释一下使用场景:我一般不会在mode hook里自动启用lspce,因为有些server太耗内存了。所以,平时打开文件的时候不启用lspce,需要的时候手工开一下,然后同一项目的其它新打开的文件也自动开启lspce。

  • 光标在变量、函数等上面时,自动获取signature/hover信息,组合后通过eldoc显示。

    修改前只会请求signature信息,也就是只有光标在函数实参列表中才会有信息,不方便查看变量类型和函数原型。现在就方便多了。

  • 添加了一个手画的架构图,先凑合看。画得有点潦草,后面会再用画图软件画一个。

  • 还有其它一些小的bug修复,就不一一说了。

3 个赞

第二点我在 lspbridge 那里也问过,不过好像大多数人都不这么用