Emacs中Yasnippet未显示在Company下拉菜单的配置咨询
解决Yasnippet显示在Company下拉菜单的配置调整
你的配置问题出在company-backends的设置上——当前仅包含company-bbdb和company-yasnippet,缺少了Emacs补全体系的核心后端company-capf,导致没有触发补全的基础场景,Yasnippet自然无法在下拉菜单中显示。
以下是修正后的完整配置:
(use-package yasnippet :ensure t :config (yas-global-mode 1)) ; 明确开启全局Yasnippet模式 (use-package company :ensure t :init (setq company-backends '((company-capf company-yasnippet) ; 将核心补全后端与Yasnippet放在同一组 company-bbdb)) ; 保留原有的bbdb后端 :custom (company-require-match nil) (company-minimum-prefix-length 2) :config (global-company-mode 1))
关键调整说明:
- 添加
company-capf后端:这是Emacs内置的补全接口,绝大多数编程语言模式(如Python、Go、Elisp等)都会通过它提供代码补全,是触发Company下拉菜单的基础。 - 组合后端分组:把
company-yasnippet和company-capf放在同一个括号组内,这样当输入前缀同时匹配到代码补全项和Yasnippet片段时,两者会同时出现在下拉菜单中。 - 可选优化:如果希望在补全菜单中显示Yasnippet片段的字段名称,可在
company的:custom块中添加:(company-yasnippet-show-field-names t)
内容的提问来源于stack exchange,提问作者Alois Pichler
相关产品推荐
相关产品推荐

