求助:配置company无法实现按下点(英文句号)激活补全

配置company时始终无法实现按下点(英文句号)激活补全(属性、方法),详细研究了Centaur_Emacs的配置(逐条关闭相关配置语句),但没有找到问题所在,各位有解决过的,望指教

company会获取光标前的一个 word, 英文句号是不能属于word的

楼主说的太笼统了,至少说明是哪个 major-mode 下配置 company,有的 major-mode 会定制 syntax table,同一个句号在不同的 major-mode 当中会有不同的语义。

在js2-mode下输入document.(这里有英文句号)希望补全相关方法,但无法实现,必须进一步输入关键词或快捷键手动激活才能显示出补全列表

还需要提供两方面的信息:

  1. 查看一下变量 company-backends 的值
  2. describe-char 查看一下 js2-mode 下句号的语义

看描述不像是句号的问题,估计是那个特定的 backend 的问题,js2-mode 的补全需要外部程序配合吗?如果不需要我可以试试看你的那个 backend,如果需要就爱莫能助了。

首先谢谢解答,我用到了tern,自己感觉是backend设置问题的可能性大,backends的设置我理解的还不透彻,目前这种设置能满足我的需要,我看标准配置下大家都使用了Group,但我通过Group分组的话有时候无法显示出我需要的补全项

先不要 group,单独测试你的 backend 更容易些

你可以可以参考一下 company-anaconda 的写法,就是 python-mode 的 backend

好的,我再详细排查一下这部分,十分感谢