company-tabnine 项目使用教程

company-tabnine 项目使用教程

company-tabnine A company-mode backend for TabNine, the all-language autocompleter: https://tabnine.com/ company-tabnine 项目地址: https://gitcode.com/gh_mirrors/co/company-tabnine

1、项目介绍

company-tabnine 是一个为 company-mode 提供 TabNine 自动补全后端的 Emacs 插件。TabNine 是一个使用机器学习技术的全语言自动补全工具,能够提供响应迅速、可靠且相关的代码建议。company-tabnine 插件简化了 TabNine 二进制文件的安装和管理,使得在 Emacs 中使用 TabNine 变得更加便捷。

2、项目快速启动

安装步骤

  1. 确保 company-mode 已安装并配置

    (require 'company)
    (global-company-mode)
    
  2. 安装 company-tabnine

    • 使用 use-package
      (use-package company-tabnine
        :ensure t)
      
    • 使用 package.el(内置):
      (require 'package)
      (package-initialize)
      (package-install 'company-tabnine)
      
  3. 配置 company-tabnine

    (require 'company-tabnine)
    (add-to-list 'company-backends #'company-tabnine)
    
  4. 安装 TabNine 二进制文件

    (company-tabnine-install-binary)
    

推荐配置

  • 立即触发补全

    (setq company-idle-delay 0)
    
  • 显示候选编号

    (setq company-show-numbers t)
    

3、应用案例和最佳实践

应用案例

company-tabnine 适用于任何需要代码自动补全的场景,特别是在编写复杂代码时,TabNine 的机器学习模型能够提供更加智能的建议,提高编码效率。

最佳实践

  • 自动平衡括号: TabNine 可以自动平衡括号,通过在 companypost-completion 钩子中添加逻辑实现。

  • 避免与 company-transformers 冲突: 如果 company-transformers 或其他插件干扰了 TabNine 的排序,可以使用以下临时解决方案:

    (setq company-tabnine--disable-next-transform nil)
    (defun my-company--transform-candidates (func &rest args)
      (if (not company-tabnine--disable-next-transform)
          (apply func args)
        (setq company-tabnine--disable-next-transform nil)
        (car args)))
    (defun my-company-tabnine (func &rest args)
      (when (eq (car args) 'candidates)
        (setq company-tabnine--disable-next-transform t))
      (apply func args))
    (advice-add #'company--transform-candidates :around #'my-company--transform-candidates)
    (advice-add #'company-tabnine :around #'my-company-tabnine)
    

4、典型生态项目

  • company-modecompany-tabnine 依赖于 company-mode,这是一个强大的 Emacs 补全框架。
  • TabNinecompany-tabnine 的核心是 TabNine,一个全语言的自动补全工具,使用机器学习提供智能建议。
  • MELPAcompany-tabnine 通过 MELPA 进行包管理,确保用户可以轻松获取最新版本的插件。

通过以上步骤,您可以快速在 Emacs 中集成并使用 company-tabnine,享受 TabNine 带来的智能代码补全体验。

company-tabnine A company-mode backend for TabNine, the all-language autocompleter: https://tabnine.com/ company-tabnine 项目地址: https://gitcode.com/gh_mirrors/co/company-tabnine

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薛锨宾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值