关于用 language server protocol 来对 Python 进行补全的体验。

已经解决了,谢谢~

抱歉。。今天比较忙,没来得及看

pyls依赖于jedi, 安装时候需要先安装jedi

pyls补全速度很慢, 有时候延迟两三秒左右才弹出补全界面, 但是看cpu又占用很低

1 个赞

目前用pyls,补全后台也是用的jedi,目前用来没比elpy好用多少。 另外,有人知道pyls能改语法检查为pylint吗

pyls 可以和 flycheck 一起用啊

我等 LSP 不卡的时候, 就从 autocomplete 切换过去.

用了两周的 lsp 了,感觉速度还可以接受

卡不卡? 只要有一点卡的插件我宁愿不用, 也不想被打断, rtags 这货就被我打入冷宫了.

可能我忍受程度比较高,我再体验一段时间再给你个比较准确的答复

谢谢, 坐等牛逼的LSP

打入冷宫后你用啥

安装好了结果报错

intellij的补全感觉已经很好了,为什么还要用lsp-intellij

intellij 的 workflow 很不适应啊,我老是在用 intellij 的时候下意识的按出 emacs 的快捷键

我大多数语言都是靠裸敲和查手册

牛的掉渣。。。。

就服你,裸敲……JS的话会不会死人,哈哈

晚上花了一个小时配置了一下 lsp-mode, company, company-lsp , 配置文件在: https://www.emacswiki.org/emacs/init-company-mode.el

怕折腾的同学可以参考一下.

Python LSP 服务端的安装方法:

  • conda info --envs
  • source activate python36
  • sudo pip install ‘python-language-server[all]’

Ruby LSP 服务端的安装方法:

  • sudo gem install solargraph
  • Add gem ‘solargraph’ in Gemfile, then execute command “bundler update” in ruby project

Mac 用户安装 exec-path-from-shell ( https://raw.githubusercontent.com/purcell/exec-path-from-shell/master/exec-path-from-shell.el ) , 避免 LSP 各种抱怨找不到 server 的二进制程序:

(when (featurep 'cocoa)
  (require 'exec-path-from-shell)
  (exec-path-from-shell-initialize))

Company 参考主题:

(custom-set-faces
'(company-preview ((t (:background "gold3" :foreground "black"))))
 '(company-preview-common ((t (:background "gold3" :foreground "grey20"))))
 '(company-preview-search ((t (:background "green4" :foreground "green"))))
 '(company-scrollbar-bg ((t (:background "#303030"))))
 '(company-scrollbar-fg ((t (:background "#404040"))))
 '(company-tooltip ((t (:background "#202020" :foreground "grey"))))
 '(company-tooltip-annotation ((t (:foreground "gold"))))
 '(company-tooltip-annotation-selection ((t (:foreground "white"))))
 '(company-tooltip-common ((t (:inherit company-tooltip :foreground "white"))))
 '(company-tooltip-common-selection ((t (:foreground "white"))))
 '(company-tooltip-selection ((t (:background "red3" :foreground "white"))))
 )
2 个赞

每次打开新的python文件时都要卡上30s左右,不知道啥子回事。。