GitHub

👉 https://github.com/fang2hou/blink-copilot

动机

自从 LazyVim 转了 blink 之后,因为 blink-cmp-copilot 中日文支持差其实一直停留在了 nvim-cmp,但是又眼馋 blink.cmp 的性能优势。
在研究了一下代码后,提了个 PR 把 blink-cmp-copilot 的 Unicode bug 修复了。
但是在阅读代码的同时,我发现这个插件做的还是挺粗糙的,只是移植了 copilot-cmp 的皮毛。同时公司政策只准用 copilot.vim 不允许用 copilot.lua(第三方),所以自己动手做了一个合规且更快的新 source 。

主要特性

  1. 可自定义的多补全候选项功能
  2. 用 Lua 重写了和 LSP 的交互,比 copilot.lua 的同时也能作用于 copilot.vim
  3. 使用最新的 Copilot LSP API ,最小化预处理以获得更快的速度
  4. LSP 客户端在缓冲区切换时进行检测状态,提升可用性
  5. 增强的预览功能,具有智能缩进和代码片段优化

blink-cmp-copilotblink-copilot 的话有什么好处?

  1. 补全预览中的缩进能够被正确识别并格式化,不会再有代码飞出框很远的情况了
  2. 支持 copilot.lua 和 copilot.vim 作为后端,符合很多大厂的安全规范
  3. 支持多个补全候选项,并且相关参数均可配置
  4. LSP 交互不再依赖 copilot.lua 。新的 LSP 交互代码在确保符合最新的官方 API 规范的前提下,减少了不必要的代码预处理,有很微小的性能提升
  5. blink-cmp-copilot 在启动时如果打开了不支持的文件格式文件,那么其他文件都会无法使用补全。blink-copilot 会在后续打开支持的文件格式时自动重新检测 Copilot 来解决这个问题
举报· 104 次点击
登录 注册 站外分享
快来抢沙发
0 条回复  
返回顶部