感谢大神,使用了一下写js,感觉比lsp-mode流畅太多,我正想反映这个问题, php-language-server应该换成intelephense,结果回论坛看一下已经加上去了
支持啊!给大神跪啦! 不过有兴趣支持微软的python language server吗?
想借楼问一下,js 和 ts 的 lang server 要怎么安装?
我window系统,是切换到node.exe所在目录运行 npm i javascript-typescript-langserver
就安装好了,linux没装过,node.exe所在目录也加入到emacs path目录
正在和 mspyls 斗法,看看这两天是否可以被我制服。
这个补丁已经添加了微软 mspyls (Python Language Server) 的支持。
使用方式:
- 使用命令
nox-print-mspyls-download-url
打印 mspyls 的下载地址 - 下载并解压内容到 ~/.emacs.d/nox/mspyls/ 目录下面,保证这个目录下面可以直接找到 Microsoft.Python.LanguageServer 这个文件
- 给mspyls索引权限
sudo chmod +x ~/.emacs.d/nox/mspyls
- 重启Emacs和Nox, 就可以直接用 mspyls 对Python项目进行语法补全了
注意:
- mspyls在语法补全之前会索引项目的文件,请不要直接在 HOME 目录下创建单文件进行语法补全测试,如果你的 HOME 目录文件很多,索引甚至会持续10多分钟。 要测试,建议在 HOME 下建立一个 test 的空文件夹,然后再在 test 里面创建单文件来测试。
mspyls 和 pyls 的优缺点:
- pyls 不建索引,但是是基于 jedi 搞的,大型的Python库比较慢
- mspyls 用C# 实现的,速度快,但是有上面巨型目录索引慢的问题
如果要切换回 pyls , 直接设置 (setq nox-python-server “pyls”) 即可。
太强啦!正在考虑把配置转移到Nox试试~
关了snippet好像补全function时不会自动添加括号。这个能设置吗?
可以根据补全的类型结合Emacs内置功能来加括号,但是在很多函数式语言或者脚本语言中,是可以直接传递函数对象的,所以给函数默认加括号可能不具有通用性。
Readme上最好添加实现了的lsp feature和没实现的。
请教大家一个问题:使用Nox补全后端只有company-capf,如果要结合company的其他补全后端和yasnippet功能,是需要自己设置company-backends吗?
用了一下,发现有一个不太顺手的地方,不知道是不是我用得不对?
nox 只有 nox-find-typeDefinition 而没有 nox-jump
-typeDefinition
导致我在跳转时需要 nox-find-typeDefinition
此时只有一个 候选项,而且光标停留在 文件名 处,
我需要移动到具体定义,再回车跳转。
是否有直接跳转的方式呢?我看了 readme,Commands and keybindings
貌似也没看到,
或者 nox-find-typeDefinition 只有一个 候选项,可以直接跳转过去?
文档写的有,主要是
xref-find-definitions xref-find-definitions-other-window xref-pop-marker-stack xref-find-references
能不能在补全之后,某个地方自动的显示补全的函数的参数表呢,这样方便对照着输入参数。
我想想,可以玩一下overlay
nox-show-doc
可以设在popup buffer里显示么?而且,现在的移动光标不会自动消失?
只有终端会在buffer里显示,posframe移动光标会消失
这种一般是eldoc的活。可以打开eldoc试试。
没用,Eglot就是这种eldoc,导致性能卡一卡的,我把eldoc代码全部都删除了。