【发布时间】:2014-10-02 19:05:40
【问题描述】:
我正在使用:
- Linux Manjaro
- GNU Emacs 24.3.1,Manjaro 中更新的标准 Emacs 包。
- 来自 Melpa 的 Emacs 包 auto-complete 和 auto-complete-c-headers。
我的 .emacs 文件的相关部分如下(目前我的 .emacs 文件中几乎没有其他内容,我在调查此问题时已尝试将其减少到最低限度)。
;; Auto-complete
(add-hook 'after-init-hook
(lambda()
(ac-config-default)))
;; Auto-complete C/C++ header file names
(add-hook 'c-mode-common-hook
(lambda()
(require 'auto-complete-c-headers)
(add-to-list 'ac-sources 'ac-source-c-headers)
(add-to-list 'achead:include-directories '"/usr/include/c++/4.9.1")
(add-to-list 'achead:include-directories '"/usr/include/c++/4.9.1/x86_64-unknown-linux-gnu")
(add-to-list 'achead:include-directories '"/usr/include/c++/4.9.1/backward")
(add-to-list 'achead:include-directories '"/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.1/include")
(add-to-list 'achead:include-directories '"/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.1/include-fixed")))
自动完成非常适合:
#include <iost...
但不适用于:
#include "MyCla...
它确实适用于:
#include <MyCla...
虽然 MyClass.hpp 不是系统包含文件(并且位于 ./ 下,这是 auto-complete-c-headers 的标准搜索路径)。但是我必须编辑括号并将其更改为引号。
查看 auto-complete-c-headers 的代码,在我看来引号大小写应该可以工作。
知道是什么导致了这个问题吗?
我在想,也许 Emacs 在之后进入某种模式
#include "
这会阻止它从 auto-complete-c-headers 中获取建议。
我对我作为程序员编辑器的最新 Emacs 体验感到非常满意,如果能提供任何关于如何解决这个小烦恼的提示,我将不胜感激。
【问题讨论】: