代码补全_Spacemacs安装TabNine代码补全

环境

  • Emacs 26.3
  • Spacemacs 0.200.13@26.3
  • company-tabnine 20190829.1801
  • Mac OS X 10.14.5
7b5d24ad96f0bf64183b421b6b4f199d.png

简介

TabNine是一款基于GPT-2深度学习算法的代码补全工具,它支持23种编程语言,6种编辑器(Emacs, Vim, Visual Studio Code, Atom, IntelliJ IDEA, Sublime Text等),TabNine除了能在pop框中提示补全信息之外,还能给出各个候选词条的概率,效果十分惊艳。

在Spacemacs上,插件company-tabnine提供了一种TabNine的后端实现。

为了支持TabNine,我的思路是使用调用链:auto-completion -> company -> company-tabnine,其中auto-completion是Spacemacs提供的自动补全插件,支持多种后端(company和auto-complete)。


实现

在Spacemacs上,使用`SPC SPC`或`M-x`,调出命令功能,进行以下三步创建一个名为`tabnine`的layer。

  • 输入`configuration-layer/create-layer`
  • 询问`Configuration layer path`,使用默认的`~/.emacs.d/private/`即可,按RETURN
  • 询问`Configuration layer name`,输入`tabnine`,按RETURN
  • 询问`Create readme? (y or n)`,输入`n`

2,配置layer

打开`~/.eamcs.d/private/tabnine/package.el`文件,写入如下配置:

;;; Code:;;; 声明tabnine这个layer,并安装compnay-tabnine这个库(defconst tabnine-packages '(company-tabnine) );;; 初始化company-tabnine这个库(defun tabnine/init-company-tabnine() (use-package company-tabnine :ensure t :defer t :init :config) );;; 配置company-tabnine作为company的后端(defun tabnine/post-init-company-tabnine() (with-eval-after-load 'company (add-to-list 'company-backends #'company-tabnine) ) );;; packages.el ends here

3,使用layer

在`~/.spacemacs`的`dotspacemacs-configuration-layers`添加新定义的layer,即`tabnine`。

;; List of configuration layers to load.dotspacemacs-configuration-layers '( auto-completion better-defaults version-control emacs-lisp git ivy tabnine )

4,验证TabNine

重启`Emacs`,新建一个`hello.c`文件,输入一段代码,即可享受`TabNine`提供的代码补全功能。

7bdcf1c29ef4664de393ff0d030f21e5.png

Note: 如果自动补全没有触发,可以手动开启,`SPC SPC`或者`M-x`,输入`company-mode`,提示`Company mode enabled in current buffer`。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值