V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hujianxin
V2EX  ›  Vim

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

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

    一直使用 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
    NoAnyLove  
       2019-05-04 09:57:49 +08:00
    @chemzqm 感谢,已经解决了,问题是因为 jedi 的版本太老。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   943 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:47 · PVG 06:47 · LAX 14:47 · JFK 17:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.