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

Visual Studio Code IntelliCode 与 LSP 联动进行整行补全。

  •  1
     
  •   kouhe3 · 2022-07-14 23:14:57 +08:00 · 2867 次点击
    这是一个创建于 896 天前的主题,其中的信息可能已经有所发展或是发生改变。

    VS Code 中 IntelliCode quicksuggestions, Tabnine, GitHub Copilot 共存

    https://www.v2ex.com/t/860015#reply4

    楼主是 Windows 用户。平时都是用 VS Code + Tabnine + Copilot, 有时用 JetBrains IDE, 很少用 Visual Studio 2022.

    我印象里一直觉得 IntelliCode 虽然是 AI-assisted Intelligent code completion , 但是和 Tabnine 相比实在不是很聪明, 跟 Copilot 相比就更笨了。

    不过用过一段时间的 Copilot 之后我就发现, 这副驾驶虽然很强,但是它不鸟 LSP 啊,还有 Tabnine 也是自顾自给建议,完全不管 LSP.

    这一点让我不是很爽...因为日常使用的时候,弹窗建议由 LSP 完成,内联建议是 Tabnine 完成的。

    为了让两个东西配合起来,我去改了一下设置。然后结果是这个样子。

    这样子总算是让两个东西共存了。既然做整行完成任务的 Tabnine 不吃 LSP ,只能让 IntelliCode 在前面牵制住 Tabnine.

    然后我在想,整行完成的工作就只能让 Tabnine 和 Copilot 这种和 LSP 不沾边的 AI 模型做吗?

    与 LSP 间接联动的 VS Code IntelliSense

    后来我发现 VS Code 的 IntelliSense 是由语言扩展加持的。而语言扩展可以联动 LSP, 于是在 VS Code 里看到的参数信息和 quick info 可以是 LSP 支持的。

    IntelliSense 中的 IntelliCode 的历史

    IntelliCode 虽然是 AI 辅助的,但是我总觉得这个东西比 Copilot 笨太多了。

    我看了一下,IntelliCode 是 2018 年出的, 一开始只支持 C#.

    不过,从去年开始,VS IntelliCode 就能进行整行补全了, VS Code IntelliCode 整行补全的扩展 vscodeintellicode-completions也在今年发布了.

    (原来去年 IntelliCode 就已经可以整行补全了吗?我才发现) 🤣

    总结

    现在捋一下。

    IntelliCode Completions 是 IntelliCode 的实验性功能, IntelliCode 是由 IntelliSense 语言扩展支持的, 语言扩展对接 LSP.

    所以 IntelliCode Completions 是一个需要 IntelliCode 模型,IntelliSense 扩展和 LSP 的功能。

    那这就有意思了 🤔

    因为 Tabnine 和 Copilot 他们的补全都是不靠 LSP 的。

    但是 IntelliCode 这个就特殊 🤣

    现在 vscodeintellicode-completions 还在实验阶段,不知道有 LSP 的加持,会不会比 Tabnine 补的更对。

    反正弹窗建议和内联建议肯定是可以完美共存的 。

    3 条回复    2022-07-15 09:11:24 +08:00
    rpman
        1
    rpman  
       2022-07-14 23:26:46 +08:00
    这算是符号主义和连接主义的对决吗🐶
    haolongsun
        2
    haolongsun  
       2022-07-15 00:51:22 +08:00
    tabnine+copilot,感觉像可乐+雪碧,:(你这个打一个字符发送两个 api,io 肯定挺忙的
    kouhe3
        3
    kouhe3  
    OP
       2022-07-15 09:11:24 +08:00 via Android
    @haolongsun 我关掉了 Copilot 的自动内联建议。
    只在有需要时按 Ctrl Enter 打开侧栏用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1034 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:50 · PVG 04:50 · LAX 12:50 · JFK 15:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.