请教 不同project 使用不同的头文件路径, emacs该如何配置?

elisp

#1

现在有多个项目, 每个项目都使用了定制的头文件 和 库。 遇到的问题是, emacs 不能自动根据项目或者某个配置文件, 来自动配置头文件路径。 导致看代码和写代码时,不能正常跳转 和 补全。

emacs下 有没有什么成熟的项目, 来解决这个问题呢? 曾经试过ede, 配置起来太麻烦了, 就放弃了。


#2

lsp-mode 了解下


#3

大神你好,你用过lsp-python吗,我个人感觉无论是用默认的pyls作为后端还是ms的pyls都很卡,不知道是不是我没有配置好。请教一下


#4

lsp-python确实有点卡,尤其是对numpy,pandas这些库,vscode用起来效果也不好。抛开这几个库,lsp-mode本身的瓶颈在于json的解析,用Emacs27中的native json parser效果会好些。另外你可以尝试eglot,要轻量级一些。当然,python-languager-server 本身的效率也有问题。希望能帮助到你。


#5

lsp 不是补全的吗? 能分项目指定不同头文件路径吗?


#6

俺现在不折腾lsp, 感觉用elpy+python-mode 已经满足我的需求了。


#7

你想要的是.dir-local.el


#8

用microsoft language server会快很多


#9

使用.dir-local的话,打开一个文件,就会添加头文件路径一次, 如果在.dir-local中添加太多配置, 就又太麻烦了

其他人都在说lsp, 难道是我表达的不够清楚吗?


#10

ms python的客户端有好几个,你用的哪一个?我参考一下,我用的是 https://github.com/emacs-lsp/lsp-python-ms


#11

我用的也是lsp-python-ms,体验还可以。不过我已经有段时间没code python了。你可以参考一下 https://github.com/MatthewZMD/.emacs.d/blob/master/README.md#lsp-python-ms