http://ranwu.me/emacs/2016/05/05/intergrat-tern-into-emacs.html
我按这个做了之后发现,auto-complete-mode是默认disable的。每次打开emacs还要m-x在输入一次。启用之后,不弹补全选择菜单!!!只能打出来大部分keyword按tab才会补全。
而且补全效果比较差,跟youtube视频上面的各种语意补全,关键字补全等等差好多。
如果把emacs的JavaScript补全做到像vs code或者atom那样的关键字补全该怎么做?不求语义各种智能补全。
你应该提供 *Messages*
或者出错的 *Backtrace*
首先是要确定 tern 工作正常,否则其它都是徒劳:
这个回复里有一份最小配置(仅 tern + company),可以用来测试 ternjs 自动补全,完整的帖子里有比较详细的方法说明如何诊断 tern server 问题。
tern 没有问题之后,再考虑完善:
你也可以直接采用大神 purcell 和陈斌 的 init-javascript.el。
这里还有一份专门的、非常全面的 js 开发环境配置:GitHub - NicolasPetton/Indium: A JavaScript development environment for Emacs
当我们说 javascript 的时候,通常不只是 javascript,还包括它跟其它语言的混合编辑:
2 个赞
我用的是company
设置这个,然后你可以map下key和自动启动
(global-set-key (kbd "C-SPC") 'company-complete)
(setq company-minimum-prefix-length 1
company-idle-delay 0.08)
谢谢回复。
我按你的提示,发现company-tern无论M-x company-tern
多少次都是"company not enable"
tern是启动正常的,端口也对。tern-mode 也是t。
目前的问题是完全不弹出菜单。。。
看来我应该学下lisp。
如果 tern 启动正常,你就用我前面提到的最小配置运行 emacs,这样就排除了其它配置的干扰,补全应该没问题。
1 个赞
看到你的最小化配置,发现问题了。
我之前按 Setting up Emacs for JavaScript (part #2)
(require 'company-mode) 不对。。。应该是(require 'company)
还有.tern-project
也是必须的,否则出现 “emacs写js的时候不会提示dom相关的操作方法”的情况
不过输入到"."那下一下补全速度有点慢,不过也能用了。