auto-complete-clang-async不能按预期在Emacs上运行

时间:2014-01-01 17:14:40

标签: c++ c++11 emacs clang clang++

在引用this webpage时,我向Emacs安装了auto-complete-clang-async.el。 显然,当我创建一个新文件时,自动完成工作。(如下所示) 但是当我保存文件并在emacs上再次打开它时,它不起作用。有谁知道它为什么会发生以及它应该如何修复?

任何帮助将不胜感激。提前谢谢。

enter image description here

我在Ubuntu12.04上使用Emacs24.3.1,可以通过ssh从Windows 8.1机器上访问。 clang的版本是3.5。 clang-complete binary使用llvm-config-3.5构建。

这是我在.emacs.d / init.el中的emacs配置。

(defun add-to-load-path (&rest paths)
  (let (path)
    (dolist (path paths paths)
      (let ((default-directory
              (expand-file-name (concat user-emacs-directory path))))
        (add-to-list 'load-path default-directory)
        (if (fboundp 'normal-top-level-add-subdirs-to-load-path)
            (normal-top-level-add-subdirs-to-load-path))))))

(add-to-load-path "elisp" "conf" "public_repos" "elpa" )

(require 'auto-complete-clang-async)

(defun ac-cc-mode-setup ()
  (setq ac-clang-complete-executable "~/.emacs.d/clang-complete")
  (setq ac-sources '(ac-source-clang-async))
  (ac-clang-launch-completion-process)
)

(defun my-ac-config ()
  (add-hook 'c-mode-common-hook 'ac-cc-mode-setup)
  (add-hook 'auto-complete-mode-hook 'ac-common-setup)
  (global-auto-complete-mode t))

(my-ac-config)

我将.el文件放在.emacs.d / elisp目录中。 .emacs.d /目录中有clang-complete可执行文件。

1 个答案:

答案 0 :(得分:2)

即使我不明白为什么会这样,我也发现了解决方案。 当自动完成无法正常工作时,您必须保存当前缓冲区。 (命令:C-x C-s) 然后功能将再次生效。