C语言的Emacs语义+自动完成模式

Joh*_*han 3 c emacs

我一直在努力使用Semantic自动完成模式工作,但知道我完全卡住了.我通过语义-aa-complete-symbol成功地进行了语义自动完成(虽然由于某种原因它无法完成malloc(),这很奇怪).

一些.emacs片段:

(add-to-list 'ac-dictionary-directories "~/emacs-src/auto-complete-1.3.1/")
(ac-config-default)
(ac-set-trigger-key "TAB")

(add-to-list 'ac-sources 'ac-source-semantic) 
(add-to-list 'ac-sources 'ac-source-gtags)



(add-hook 'c-mode-hook
          (defun my-c-mode-hook ()
            (auto-complete-mode)
            (setq ac-sources '(ac-source-semantic))
            (ac-complete-semantic)))
Run Code Online (Sandbox Code Playgroud)

如何使自动完成模式与Semantic一起工作?

pok*_*ita 5

如果我理解正确,Semantic正在工作,你只是在努力设置自动完成.要做到后者,只需从开始

(require 'auto-complete-config)
(setq-default ac-sources '(ac-source-semantic-raw))
Run Code Online (Sandbox Code Playgroud)

请注意,您必须使用"setq-default"来设置交流源.那你应该可以做到

M-x auto-complete-mode
Run Code Online (Sandbox Code Playgroud)

在C/C++缓冲区中,自动完成应查询语义的完成情况.