【问题标题】:Emacs auto-complete-c-headers won't work with quotation marksEmacs auto-complete-c-headers 不适用于引号
【发布时间】:2014-10-02 19:05:40
【问题描述】:

我正在使用:

我的 .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 体验感到非常满意,如果能提供任何关于如何解决这个小烦恼的提示,我将不胜感激。

【问题讨论】:

    标签: c++ c emacs emacs24


    【解决方案1】:

    我遇到了同样的问题,作为一个不完美的解决方案,你可以使用:

    (setq ac-disable-faces nil)
    

    这将启用引号之间的自动完成。 如果这不起作用,请尝试将其与 autopairelectric-pair-mode 结合使用。

    【讨论】:

      猜你喜欢
      • 2015-03-21
      • 1970-01-01
      • 2020-05-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 2020-01-08
      • 1970-01-01
      • 2014-07-26
      相关资源
      最近更新 更多