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

上传一下测试代码吧,我估计是富哦服务器的原因引起的问题。

我这两天可以修复一下。

系统信息

emacs 版本为, 28.2 系统为archlinux

测试用的test.el文件为

(add-to-list 'load-path "/home/harumi/.emacs.d/site-lisp/lsp-bridge")
(package-initialize)
(require 'lsp-bridge)
(global-lsp-bridge-mode)

执行命令 emacs -Q -l test.el 启动emacs

测试的python代码是

import os

def main():
    x = 12

执行lsp-bridge-code-action, 会出现ruff的menu, 但是无法选择。

这个代码我没有看到有警告呀?

没有警告, 但是出现了menu之后无法选择。

类似这样子, 按TAB,Enter都无法选中

为啥我弹不出 code action ?

你自定义了 lsp server 的json内容了?

因为最新一个commit修改了ruff.json, 导致diagnose失效了。我提了个PR

我刚才合并了补丁以后, 可以看到诊断和code action 了, 感谢补丁。

Code Action 菜单的 TAB 应该没有绑定按键, Enter 是可以的, 你也可以试一下 Ctrl + m

我试了C-m以及Enter都不能选中code action。 并且在弹出code action对话框的时候,不伦使用Alt-n, Alt-p还是使用方向键都不能选择条目。 这边针对code action是有其他的按键绑定吗?

你的问题很奇怪,你是emacs -Q测试的吗?

我是使用emacs -Q测试的,然后我现在成功选中code action了。 需要在执行函数lsp-bridge-code-action之后,使用鼠标点击一下弹出的menu, 然后按Enter,就能选中code action了。

看起来像键盘焦点的问题啊。

lsp-bridge如何将tabnine的提示结果放到候补菜单的前面位置?或者第二第三的位置。目前默认在最下面,体验很差。

github提issue吧,最近忙,论坛会忘记。

这个补丁已经修复了, 更新看看。 :wink:

可以了!!!!:partying_face:

1 个赞

lsp-bridge 实现 buffer 中的补全有动静之分:

  • 静态的补全条目偏向于一些预定义的函数,变量名等的固定,准确补全。

  • 动态的补全条目,比如来自网络,通过 Tabnine 实现智能补全,不过这个灵活多变,有含有不准确,错误的可能。

Routine tasks, 偏向使用静态的补全,准确稳定,高效;开发,创作等多以动态补全为辅助参考。

猫大,能否将排序实现可定制,并在使用配置中自主调整?

可以提个issue吧,其实也没啥可调整的

增加了对 Java 的 addOverridableMethods 和 listOverridableMethods 的支持。

有没有办法打印更详细的错误信息?

例如以下日志只能大概知道错误发生在 python 调用 elisp 的时候,无法直观看出 elisp 具体哪一行出错:

--- Completion items number: 23
ERROR:epc:ReturnError([Symbol('wrong-number-of-arguments'), [0, Symbol('.'), 0], 1])

--- [12:32:07.105193] Send textDocument/didChange notification to 'pyright' for project a.py
ERROR:epc:ReturnError([Symbol('wrong-number-of-arguments'), [0, Symbol('.'), 0], 1])

升级了下配置,现在的排序挺舒服的了 ~ :+1: