因为切换到 doom 了,还没来得及迁移这部分配置
master分支上还能找到
TabNine 光启动,什么都没干就吃掉了我1.2G 内存。还好我有32G内存
不过效果是真不错,配合猫哥的Nox使用,很流畅。
使用体验:
用了一段时间TabNine, 感觉他不仅在写代码的时候方便,而且在写英文文档的时候也非常好用,用久了他基本都猜到你要打什么单词,不断tab ,爽到飞起。
使用了下这个插件,发现有两个不太舒服的地方:(1)出来的补全默认是使用 M-1 M-2 etc 来进行选择的,怎么设置下使用使用数字就选中补全,比如 1 2 etc 等。(2)tab 键好像没有作用,能不能想 auto-complete 和 company 一样可以进行循环选择,按一次 tab 键,自动进行选择下一个补全。
我是绑定了一个“TAB” 按键到 命令company-complete-selection
上就可以用Tab 来选择了。
我是比较喜欢用M-1 ,M-2 来进行选择的,如果你要用1,2,3 来选择的话,那你就没法在输入的词中加入数字了。
感谢,你说的也是。之前 aboabo 就专门设定过 company 补全使用数字进行选 择。但也确实存在你说的输入数字匹配的一个问题。我还是使用 company-tabnine 默认的吧。使用其它的可能冲突了。
使用过程非常卡顿。系统 manjaro, emacs28. 刚打开 Emacs 的时候使用感觉很 流畅,但是后面在使用过程中感觉非常卡顿了。
那是里内存不够了吧,哈哈哈哈
这个问题反复复现了好几次。重新开启 emacs , 显示内存 8G(总共16G),此时补全很柳城,但是当 内存达到13G+之后在用就非常卡顿。按道理还有几个G 还不够。这个消耗内存这么大。
(defun my-company-mode-hook ()
(define-key company-active-map [tab] #'company-complete-selection))
(add-hook 'company-mode-hook #'my-company-mode-hook)
@aqua0210 @fu123456 我是这么解决输入数字的:用正则表达式检测输入的内容,如果是常规的数字和日期的格式,就不触发数字选择待选项的功能。
(defun ora-company-number ()
"Forward to `company-complete-number'.
Unless the number is potentially part of the candidate.
In that case, insert the number."
(interactive)
(let* ((k (this-command-keys))
(re (concat "^" company-prefix k))
(is-only-number-re "^[0-9]+.*"))
(if (or (cl-find-if (lambda (s)
(string-match re s))
company-candidates)
(string-match is-only-number-re company-prefix)
(> (string-to-number k) (length company-candidates)))
(self-insert-command 1)
(company-complete-number (string-to-number k)))))
参考了您的配置,出现了以下问题,有办法解决吗?
Company: An error occurred in auto-begin
Company: backend company-capf error "request cancelled" with args (candidates sources)
抱歉,没看出来你错误信息,你补充下你咋写的?
我使用的doom的内置module swift init.el 配置
:lang
(swift
;;+lsp
)
注释了lsp特性,重新编译,问题还在。
static func AllfilesOf(target:PBXTarget, srcPath:Path) -> [Path] {
var srcfiles:[Path] = []
//头文件+宏文件
var headers:[Path] = []
//此时输入hea,不提示headers全名变量
head
}
以上问题,都是在输入变量名时有出现的。 . 点语句补齐是正常的。
不是呀,这个帖子不是在讲 TabNine 么。你到底想问什么
关于 company-tabnine
我直接就把 company-tabnine
和 company-capf
放到一起了,我不确定 Doom 是否像 Spacemacs 对 company-backends 有什么 hack
(setq company-backends '(company-files
(company-capf :with company-tabnine :separate)
(company-dabbrev-code company-keywords)
company-dabbrev
company-tabnine
company-ispell))
找到问题了,是swift lsp server导致的。
暂时只能手动清理缓存来解决问题:
(lsp-completion--clear-cache t)