Emacs 和公司自动补全。全局添加头目录

Emacs and company autocompletion. Add a header directory globally

我正在尝试将头文件路径添加到公司模式,但我做不到。我用 flycheck 做了如下:

(defun include-paths ()
   (setq flycheck-clang-include-path (list (expand-file-name "../include"))))

(add-hook 'c++-mode-hook 'include-paths)

公司模式有类似的方法吗?

我假设您正在使用 company-c-headers

他们的 README 文件中几乎一字不差,您可以使用 M-x customize-groupscompany-c-headers 来修改搜索目录。

或者,您可以将 company-c-headers-path-system 和 company-c-headers-path-user 变量绑定到 return 相应路径的函数。例如,如果您正在使用 EDE,则可以使用以下内容:

(defun ede-object-system-include-path ()
  "Return the system include path for the current buffer."
  (when ede-object
    (ede-system-include-path ede-object)))

(setq company-c-headers-path-system 'ede-object-system-include-path)

Source