lsp-bridge -- 速度最快的语法补全插件

麻烦大佬了

这个是项目 GitHub - 404cn/testc 在 main.c M-x lsp-bridge-mode 之后会有补全,但是打开 foo/bar.c 就没了

之前弄了个最小的 go 项目突然发现编辑不了会说 no view in session… 不过可能是我环境的问题

我晚上测试了一下, 多个文件都可以正常补全的, 再检查一下的默认配置吧。

其他mode默认回车是newline-and-indent 回车就可以补全。

当haskell-mode开启了haskell-indentation-mode,回车绑定到haskell-indentation-newline-and-indent时 acm-complete无法完成补全。

这是按回车之前: haskell

回车之后:

已经用emacs -Q 测试过。

搞定了, 我发现 haskell indent mode 会强制覆盖其他模式的按键 (本质是这个插件写的兼容性不好)。

我用了 minor-mode-overriding-map-alist 的方式, acm-mode 启动的时候覆盖 haskell indent mode 的按键, acm 菜单隐藏的时候, 去掉这些覆盖按键。

这样 acm 就不受 haskell indent 影响, 同时 acm 隐藏时 haskell indent mode map 正常的按键也不受影响。

1 个赞

解决了, 谢谢大佬。

1 个赞

lsp-bridge 补全的图标经常会发生变化, 主要的现象是启动的时候是好的, 用一用图标就会大小不一, 如下图:

以前百思不得其解, 今天详细的调试发现, 计算图标不能依赖于 window-font-width 和 window-font-height 这两个函数, 这两个函数的返回值在运行时会发生变化, 加上 lsp-bridge 补全菜单的图标有缓存机制, 当 window-font-* 函数的返回值发生变化后, 后面生成的图标就会变小。

既然知道原因, 错误就很容易修复, 用 frame-char-width 和 frame-char-height 来替代 window-font-* 函数, bug 自然解决。

建议所有 lsp-bridge 用户都更新一下。

11 个赞

macos, GNU Emacs 29.1 (emacs-mac)

使用 lsp-bridge 大部分时候补全菜单是正常的。但有时补全菜单会占据整个 Emacs 窗口,很影响coding。

这个问题出现过几次,出现问题后重启Emacs可以暂时解决该问题。

最好能够截图看看

周末把LSP协议50多个图标又重新找了一下, 让所有图标都对齐, 并找了一下好看的图标替代来原来的图标。

大家可以更新一下, 好看的图标可以提升编程的心情。

8 个赞

打着打着字突然不再小窗弹出补全信息了,而是直接放大到全屏 :sweat_smile:

emacs -Q 试过了吗?

lsp-bridge 语义高亮已经实现。

写C++的同学有福了。

5 个赞

lsp-bridge的补全菜单,可以用在minibuffer中么?比如在每个补全选项前显示序号,并通过M-数字选中?

acm 支持数字快速切换, 但是我不会在做 minibuffer 的补全功能, 没必要。

如果你需要, 建议写一个补丁。 :wink:

这个我前不久在这个帖子里说过,懒猫说可以试试lsp-bridge-restart-process,我最近还没bug过还没试,你可以试试。
顺便我也是用的emacs-mac :thinking:

编辑:试过了,restart process不能解决。


这个bug在使用几小时到几天后出现,具体触发条件不明,不好造重现demo吧?

每次出现的时候我都重启 Emacs …

最新版, 在 Python 多服务器设置调整 ruff 为代码格式化后端, 现在 Python 可以全自动语法自动格式化了, ruff 比 black 强太多了。

1 个赞

突然想到,新版内容发布可以另开个帖子,这样时间少/懒得看bug的人可以只看更新

今天合并了社区大牛的这个补丁, 这个补丁的作用是, 用户在 ssh config 配置 ProxyCommand 选项后, lsp-bridge 可以根据 ProxyCommand 的配置创建一个转发的 socket。

也就是说 lsp-bridge 可以穿透多个堡垒机, 对远程服务器提供流畅的代码补全功能。

6 个赞

有没有在spacemacs上面成功配置使用的案例?lsp-bridge似乎跟某些layer有冲突,配置了不生效。用的spacemacs的dev分支,主要写c代码。有没有大佬共享下配置