已经支持了,但我没测试。你可以更新试试
是的,必须保存到文件,否则langserver找不到
尝试了一下,貌似没有原来的ac-php好用。
但是还是谢谢了!
你指自动补全功能?lsp-php应该更强大些,你看看参数需不需要调整。另外,结合lsp-ui,lsp-flycheck, lsp-imenu, xref等,很接近IDE功能了。提醒下,必须在Emacs26上才能发挥优势。
自动补全是有的,但是候选词非常少。 有可能是设置或者参数的问题。我再继续研究一下
lsp-php (其实应该说 PHP Language Server, 作为前端 lsp-php 是很无辜的) 的问题是,它没有把 vendor 纳入解析范围,所以能补全的东西少:
自己写的代码它能补全,一旦引用了 vendor 就瞎了。
APPEND 2018-09-08 11.36.15
搜罗了一下目前各种 PHP ls 的进展:
# | Language | Maintainer | Repository | Features | Memo |
---|---|---|---|---|---|
1 | JS + PHP + Python | SonarSource | GitHub - SonarSource/sonarlint-core: Core library to run SonarLint analysis | * |
|
2 | PHP | Felix Becker | GitHub - felixfbecker/php-language-server: PHP Implementation of the VS Code Language Server Protocol 🆚↔🖥 | ****** |
也就是 lsp-php 默认的后端,可惜自宫了(不分析 vendor) |
3 | PHP | Hvy Industries | GitHub - HvyIndustries/crane: PHP Intellisense/code-completion for VS Code | *** |
|
4 | PHP | Tyson Andre | GitHub - phan/phan: Phan is a static analyzer for PHP. Phan prefers to avoid false-positives and attempts to prove incorrectness rather than correctness. | ***** |
看起来很有希望(功能相对完备,又不排除 vendor): Editor-Support |
5 | PHP | Bmewburn | https://github.com/bmewburn/intelephense | ** |
@tobato 可以试试这个 phan,我很久不写 PHP 了。
感谢seagle0128! 我使用的是debian9,emacs版本是25,今天编译安装了26.1,用的是你的最新配置,很好用。 有个问题想请教一下。我自己有一些使用习惯的配置,是直接在你原有的配置上面修改,还是另外弄成一个文件好呢?如果是自己弄成一个文件,那么要怎样做才能够覆盖你的原有的配置?
很高兴你喜欢centaur emacs。 我的建议是你可以把个人配置加到custom.el和custom-post.el。variable和faces配置可以加到custom.el,其他需要覆盖或者添加的配置加到custom-post.el。README里有说明。
如果还不能满足需求,可以fork出来自己修改。个人觉得没有必要。
太感谢了。我试试。这样我以后就只要保存custom.el了。 以前是抄袭你的配置,随着软件的升级换代,更换修改起来也挺麻烦的。这次干脆偏译了26.1.50,直接使用你的配置。感谢你的付出!
如果只是说补全的话,确实已经可以留,但是那卡吨,真的受不了,你可以感觉下vscode补全和emacs的lsp-python补全,卡的受不了,但是确实可以用了
不客气,enjoy!
用的系统是debian9,自已编译的emacs-26.1,使用你的最新配置。发现两个小问题,反馈如下:
- 我用的是fcitx输入法,在emacs中如果打字速度快一点,就上屏字母,打不出汉字。速度慢点没问题。后来发现只有在python中才会这样,在go中无此现象.
2.使用M-/无法给选定的代码块加注释。
3.也许是我自己的问题。您有空时看看。
- fcitx输入法的问题应该和配置没有关系吧。我没有遇到该问题,也不能百分之百确定。论坛有大佬开发了 pyim,你可以试试看。
- 增加删除注释快捷键是
M-;
.
我发现一个问题,如果把系统python版本从2.7改为python3,就没有这个问题。但更改系统python黙认版本会出现别的问题。因此请教一下,最简单的在emacs中选择python版本的设置该如何做。
搞一个2.7的 virtualenv ,给 emacs 专用(结合 pyvenv 包)。
请教大大,使用lsp-mode需要注意哪些东西呢?
在lsp-go中很好用。但在python中就不行,我也安装了该安装的东西了。禁用了centaur-lsp后,在python就不再出现速度一快就打不出来汉字的问题了,会不会是lsp-python的问题呢。
你可以参考centaur emacs的init-lsp.el文件,我暂时没遇到你说的问题。其实底层用的都是jedi,差别不大。
好吧。谢谢耐心回复。
别客气。我回头再看看这个问题,如果你能提供更多的线索最好了。
俩都卡么?还是vscode不卡呢?我一直用的jedi补全python,最近考虑要不要迁移到lsp