Vim 下面哪一款 LSP Client 比较靠谱? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hujianxin
V2EX    Vim

Vim 下面哪一款 LSP Client 比较靠谱?

  •  
  •   hujianxin 2019-03-22 08:30:25 +08:00 7355 次点击
    这是一个创建于 2466 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一直使用 LanguageClient-neovim,感觉总体还可以,但是与 gopls 交互补全的信息很不美观。

    目前还有 vim-lsp、vim-lsc、coc 这几个开源项目,大家有比较过他们之间的有缺点吗?

    14 条回复    2019-05-04 09:57:49 +08:00
    Nitroethane
        1
    Nitroethane  
       2019-03-22 08:37:47 +08:00 via Android
    我现在一直用 coc,挺舒服,速度也挺快,更新也挺频繁的。其他那俩没试过,主要是懒得折腾了
    quinoa42
        2
    quinoa42  
       2019-03-22 08:39:51 +08:00
    美不美观基本上取决于你用的补全框架而不是 LSP client
    yuuko
        3
    yuuko  
       2019-03-22 08:50:37 +08:00 via Android
    neovim 有 float window 用 coc 要飞起来
    joshua7v
        4
    joshua7v  
       2019-03-22 08:54:17 +08:00 via iPhone
    当然是 coc 不折腾 体验也好
    trait
        5
    trait  
       2019-03-22 13:05:25 +08:00
    折腾了一堆 deoplete LanguageClient ale 之类的最后发现还是 YCM 好使毕竟好几年的项目
    Taigacute
        6
    Taigacute  
       2019-03-22 22:17:02 +08:00
    coc 没错
    chemzqm
        7
    chemzqm  
       2019-03-23 01:36:22 +08:00
    LanguageClient-neovim 的槽点以前说过就不重复了,说说 coc.nvim 的几个特点。

    * 完整 LSP 规范支持,除了 workspaceFolders 特性暂时没法搞,其它特性都有完整支持。
    * 类似 VSCode 的插件支持,可提供同 VSCode 一样的配置,自定义 command 等功能,最重要可以不去忍受 Javascript-typescript-langserver 这种坑货的一堆 bug。
    * 几乎是完全异步的,不会影响你正常 vim 操作以及 vim 启动时间。
    * 支持 neovim 新特性,例如 virtual text,floating window 这些。
    hujianxin
        8
    hujianxin  
    OP
       2019-03-23 10:40:18 +08:00
    @chemzqm 大神你好,多谢解释,我今天尝试一下 COC
    azuki
        9
    azuki  
       2019-03-23 20:47:36 +08:00
    @chemzqm #7
    请问作者,写`c++`需要配置什么?只有安装 clangd 然后配置`coc-settings.json`吗?
    我是 arch,`sudo pacman -S clang`安装,修改`coc-settings.json`之后提示:
    `[coc.nvim] Error output from languageserver.clangd: [object object] exited with code: null]`。
    看起来是找不到服务器?

    `pyls`是没问题的,所以我在想是少装了什么还是 arch 上装的 clang 有问题。
    我倾向于后者,因为 vim-lsp (提示 clangd exit )和 LanguageClient-neovim 配合 clangd 也都不行。
    chemzqm
        10
    chemzqm  
       2019-03-24 02:06:34 +08:00   1
    @azuki 应该是你配置的命令不在 $PATH 里导致服务无法启动,这个报错修复了。
    C++ 建议试试 https://github.com/MaskRay/ccls
    azuki
        11
    azuki  
       2019-03-24 13:23:27 +08:00
    @chemzqm #10 thx ~切换成 ccls 确实可以了
    NoAnyLove
        12
    NoAnyLove  
       2019-04-13 16:57:52 +08:00
    Windows 下 coc.nvim+coc-python 折腾了半天,不知道为什么就是没有补全。`:checkhealth`,`:messages`,`CocInfo`都没显示啥错误,其他 coc-python 功能也都正常,就是没有自动补全。。。。。。Orz,绝望
    NoAnyLove
        14
    a href="/member/NoAnyLove" class="dark">NoAnyLove  
       2019-05-04 09:57:49 +08:00
    @chemzqm 感谢,已经解决了,问题是因为 jedi 的版本太老。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2213 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 16:07 PVG 00:07 LAX 08:07 JFK 11:07
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86