You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 00:22:37