Emacs Python 自动补全之 eglot
eglot
个人水平有限,自己的测试难免有不足甚至错误的地方。欢迎各位emacser 能前来留言交流。
首先eglot 是一个lsp-mode的集成环境。作者说这不仅仅是一个lsp工具。但是我从其说明文档中没有得到更多的东西。eglot 相当于只是一个框架。需要什么功能,还需要另外单独安装,其对应关系如下:
- Javascript's javascript-typescript-stdio
- Rust's rls
- Python's pyls
- Ruby's solargraph
- Java's Eclipse JDT Language Server
- Bash's bash-language-server
- PHP's php-language-server
- C/C++'s ccls (cquery and clangd also work)
- Haskell's IDE engine
- Kotlin's kotlin-language-server
- Golang's go-langserver
- Ocaml's ocaml-language-server
- R's languageserver
- Dart's dart_language_server
比如,这个测试中需要支持python 的lsp . 就需要去安装pyls. 各个lsp 的入口,可以在eglot 的README中查找。下面是安装eglot (pyls).
eglot 依赖于pyls. 因此安装的时候需要将两者同时安装。
M-x package-install RET eglot RET
pip3 install 'python-language-server[all]'
安装完成后进行配置:
(add-hook 'python-mode-hook 'eglot-ensure)
在打开 ".py" 文件时自动识别为python-mode,并启动eglot.
但是自动补全功能并不好用, 不会自动提示可补全项。需要按TAB, 才会出现 。而且不支持使用M-n (n 属于0-9) 来选择补全项。
Emacs Python 自动补全之 eglot的更多相关文章
- Emacs Python 自动补全之 jedi
jedi jedi 的安装配置并不是很友好.github 上也没有明确说明.查了很多资料, 最后才配置成功.可是效果却不是很理想.在补全的时候有明显的卡顿现象. 不知道网上这么多人对其推崇备至是因为什 ...
- Emacs Python 自动补全--Elpy
安装方法: 首先,安装一些依赖包: # Either of these pip install rope pip install jedi # flake8 用来检查语法错误 pip install ...
- Python自动补全
转自:http://blog.linuxeye.com/324.html Python自动补全有vim编辑下和python交互模式下,下面分别介绍如何在这2种情况下实现Tab键自动补全. 一.vim ...
- Python 自动补全(vim)
一.vim python自动补全插件:pydiction 可以实现下面python代码的自动补全: 1.简单python关键词补全 2.python 函数补全带括号 3.python 模块补全 4.p ...
- vim python自动补全插件:pydiction
vim python自动补全插件:pydiction 可以实现下面python代码的自动补全: 1.简单python关键词补全 2.python 函数补全带括号 3.python 模块补全 4.pyt ...
- MacOS python自动补全设置
1. 新建python自动补全脚步 $ cd <workdir> $ touch tab.py $ vim tab.py,输入如下内容后保存 $ chmod +x tab.py #!/us ...
- [转] vim配置python自动补全
vim python自动补全插件:pydiction 可以实现下面python代码的自动补全: 1.简单python关键词补全 2.python 函数补全带括号 3.python 模块补全 4.pyt ...
- Sublime Text3 python自动补全问题——Sublime Text3安装Anaconda插件
学习python的时候 在编辑器的选择上会有很多选择,我最终还是选择了sublime text3. 相对于其他编辑器,sublime text有以下特性: 插件多,类似GoSublime,Emmet信 ...
- vim中设置Python自动补全
转自:http://blog.csdn.net/wangzhuo_0717/article/details/6942428 在VIM里面增加python的autocomplete功能的做法如下: 1. ...
随机推荐
- mysql5.7主从复制及相关注意点!
首先在两台不同IP的服务器安装相同版本的mysql(也可以docker 用 network模式).例如 主数据库(master) 178.18.0.2 my.cnf的设置(一般在/etc/mysql/ ...
- zencart批量设置热卖商品 best seller、点击最高最受欢迎产品 most popular
zencart批量设置某分类下热卖商品数 best seller ; ,,,,,); zencart批量设置某产品点击最高最受欢迎产品 most popular ; ,,,,,);
- pytest重复执行
安装 pip install pytest-repeat 命令: pytest --count=10 test_file.py
- idea 下获取路径下文件的方法
想读取resouce/temp下的test.txt文件.方式一:File sourceFile = ResourceUtils.getFile("classpath:temp/test.tx ...
- sudo 不用输入密码
3. 设置当前登陆用户免密 使用visudo打开sudoers并编辑 sudo visudo 在刚才编辑的内容中加上NOPASSWD: linuxidc ALL=(ALL:ALL) NOPASSWD: ...
- 线程异步更新UI
winform程序一般是不允许非主线程操作ui,单可以通过线程与委托的方式并结合Control类提供的BeginInvoke机制进行ui更改 如下,这是更新ui的方法 private void upU ...
- 问题_VS2008和VS2012未能加载包.....以及破解VS2008方法
在装了vs2012之后,装了vs2008 然后发生了加载包失败的问题 1.vs2008 解决办法:在vs2008命令提示符下运行:devenv /resetskippkgs,再重新打开就行了 2.vs ...
- http学习--常用请求方法和响应状态码
常用的http请求方法: GET方法:请求服务器资源,并返回 POST方法:向指定资源提交数据进行处理请求(比如说表单,上传文件等).数据被包含在请求体中.POST请求可能会导致新的资源建立或已有资源 ...
- CSS 内边距 padding 属性
CSS padding 属性定义元素边框与元素内容之间的空白区域. ㈠padding(填充) ⑴当元素的 padding(填充)内边距被清除时,所释放的区域将会受到元素背景颜色的填充. ⑵单独使用 p ...
- C# 两个进程之间通讯(管道通信 )
#region 客户端 NamedPipeClientStream pipeClient = new NamedPipeClientStream("localh ...