2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

vim-lsp の pyls が重いのをなんとかする

Posted at

vim-lsp と pyls

Vim の Python 入力補完を jedi-vim から vim-lsp に乗り換えてみたが、動作が重い。
しかも Python ファイルを編集し始めてしばらくすると、編集しているファイルとは全然関係のない、OneDrive に置いてある.py ファイルの自動ダウンロードが頻発する。

プロセスをみると pyls.exe のサブプロセスで pylint がCPU全開でメモリをバカ喰いして走っていた。
こいつがいろんな場所の .py ファイルを触りまくるらしい。何してくれているの・・・。

どうやら pyls のプラグインの pylint が自動起動して意図しない動作をしているようだ。
こういうのがデフォルトになっているのは何だかなぁ。(自分の設定・環境のせいかな?)

プラグインはenabled(enable じゃなくて enabled) を設定すれば無効化できるようなので、補完用の jedi だけ残して停止させることにした。
これでなんとか使えそうだ。

.vimrc
if executable('pyls')
    call lsp#register_server({
        \ 'name': 'pyls',
        \ 'cmd': { server_info -> ['pyls'] },
        \ 'whitelist': ['python'],
        \ 'workspace_config': {'pyls': {'plugins': {
        \     'mccabe'              : { 'enabled': v:false },
        \     'preload'             : { 'enabled': v:false },
        \     'pycodestyle'         : { 'enabled': v:false },
        \     'pydocstyle'          : { 'enabled': v:false },
        \     'pyflakes'            : { 'enabled': v:false },
        \     'pylint'              : { 'enabled': v:false },
        \     'rope_completion'     : { 'enabled': v:false },
        \     'yapf'                : { 'enabled': v:false },
        \
        \     'jedi' : {'extra_paths' : [] },
        \     'jedi_completion'     : { 'enabled': v:true, 'include_params': v:true },
        \     'jedi_definition'     : { 'enabled': v:true, 'follow_imports': v:true, 'follow_builtin_imports': v:true },
        \     'jedi_hover'          : { 'enabled': v:true },
        \     'jedi_references'     : { 'enabled': v:true },
        \     'jedi_signature_help' : { 'enabled': v:true },
        \     'jedi_symbols'        : { 'enabled': v:true },
        \ }}},
        \ })
    autocmd FileType python setlocal omnifunc=lsp#complete
endif

余談だけど、vim-lsp も補完は jedi なんだね。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?