【问题标题】:Auto-Complete with Emacs 24 doesn't work with Java, C or C++ modesEmacs 24 的自动完成功能不适用于 Java、C 或 C++ 模式
【发布时间】:2013-01-18 13:34:58
【问题描述】:

我使用橘子酱存储库安装了自动完成功能。一切安装正确,移动东西后,我设法启动并自动更正运行,而我的 init.el 中的以下代码没有任何错误:

;; auto-complete
(add-to-list 'load-path "~/.emacs.d/elpa/auto-complete")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/elpa/auto-complete/dict")
(ac-config-default)

现在我可以在 Emacs Lisp 中使用自动完成功能而不会出现任何问题,但是每当我使用任何其他模式(如 Java、C 或 C++)时,它都无法正常工作。

我也安装了 yasn-p(它运行良好),不确定这是否与它有关。这是我的 init.el 中的相关代码:

;;yasnippet
(add-to-list 'load-path
              "~/.emacs.d/plugins/yasnippet")
(require 'yasnippet)
(yas-global-mode 1)

我正在学习 Emacs,目前我还是个菜鸟。我一直在查看文档和 SO,但没有找到任何东西。我真的很感激任何帮助。

【问题讨论】:

  • 对于那些 C-lang 模式是否完全激活了自动完成模式? AC 在这些模式下应该在模式行中可见。
  • @ChrisBarrett 在下面查看我对您的回答的评论。

标签: emacs autocomplete emacs24


【解决方案1】:

我和你有完全相同的问题。 Emacs-Lisp 与自动完成完美结合,但 C、C++ 不起作用。在尝试了各种组合之后,我发现从 .emacs 中注释掉 yasn-p 可以解决我的问题。希望这可以帮助你。我的自动完成版本是 1.3.1。

【讨论】:

    【解决方案2】:

    您可能需要添加完成源。这是我的配置中的内容:

    (set-default 'ac-sources
                 '(ac-source-abbrev
                   ac-source-dictionary
                   ac-source-yasnippet
                   ac-source-words-in-buffer
                   ac-source-words-in-same-mode-buffers
                   ac-source-semantic))
    

    更新ac-config-default 应该涵盖这一点,但如果这些模式没有激活自动完成功能,请尝试在 init.el 中添加以下内容:

    (dolist (m '(c-mode c++-mode java-mode))
      (add-to-list 'ac-modes m))
    
    (global-auto-complete-mode t)
    

    Update2:我发布了一个 gist,它可以调整您的 init.el 以使用 package-install 拉取自动完成功能。

    我不知道您引用的是哪个版本的自动完成功能,但最新版本对我来说运行良好。

    【讨论】:

    • 这是您的自动完成配置还是 init.el/.emacs?
    • 这似乎不起作用。我在 Windows 上,不确定这是否重要。顺便说一句,感谢您的回答,感谢您提供帮助。
    • 现在有了您的建议,它可以在所有模式下激活,并写入小 AC,但它不像 Elisp 那样工作。没有带有建议的弹出窗口,什么都没有。 PS已经赞成你的答案,否则我会再做一次:D
    • 不,对不起。永远不要在 GitHub 上放任何东西。让我弄清楚并提出来,然后我会在这里报告。感谢您的帮助。
    • 只是想补充一点,这对我不起作用... Emacs 24.2.2,自动完成 v1.3.1。并且根本没有 yasn-p 的配置。
    猜你喜欢
    • 2012-07-27
    • 2013-03-17
    • 1970-01-01
    • 1970-01-01
    • 2019-12-09
    • 2014-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多