Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 设置自动完成以使用语义_C++_Emacs_Autocomplete_Cedet - Fatal编程技术网

C++ 设置自动完成以使用语义

C++ 设置自动完成以使用语义,c++,emacs,autocomplete,cedet,C++,Emacs,Autocomplete,Cedet,我在Emacs中的自动完成软件包有问题。目前,我已经使用正确的自动完成功能启动并运行了cedet,但自动完成包有一些奇怪的行为。在我明确访问include文件并生成“C-umbovinate”之前,它不会使用semantic(senator?)数据库。然后我可以返回到源文件,auto complete的完成列表将与semantic的完全相同 另一点是,如果我编辑我的源文件,例如,在c++模式下,并尝试在c模式下“bovinate”标题,自动完成将不会在它的完成列表中获得任何额外的点 你知道如何自

我在Emacs中的自动完成软件包有问题。目前,我已经使用正确的自动完成功能启动并运行了cedet,但自动完成包有一些奇怪的行为。在我明确访问include文件并生成“C-umbovinate”之前,它不会使用semantic(senator?)数据库。然后我可以返回到源文件,auto complete的完成列表将与semantic的完全相同

另一点是,如果我编辑我的源文件,例如,在c++模式下,并尝试在c模式下“bovinate”标题,自动完成将不会在它的完成列表中获得任何额外的点

你知道如何自动完成工作吗

我的.emacs文件是(它的主要部分取自)


据我所知,这应该足以获得自动完成的工作,但它不是。

您的自动完成配置是否允许自动开始完成?您需要检查以下变量的值:
ac auto show menu
-在显示可能完成的菜单之前等待多长时间(默认为0.5秒),以及
ac auto start
-何时开始完成(需要键入多少符号-原始值为2)

自动完成的完整配置可能如下所示(除了您在
my cedet hook
中的设置之外):

我使用类似的配置,它对我来说很好,显示了语义数据的完整性。 您尝试使用哪种语言的名称补全?例如,对于C++,需要添加到SPP表等项

< P>尝试更改:

(卸下我的雪松钩() (添加到列表“交流电源”交流电源)

进入:

(卸下我的雪松钩() (添加到列表“交流电源”交流电源)

它应该会起作用

(load "~/.emacs.d/cedet/cedet-devel-load.el")
(add-to-list 'semantic-default-submodes 'global-semanticdb-minor-mode)
(add-to-list 'semantic-default-submodes 'global-cedet-m3-minor-mode)
(add-to-list 'semantic-default-submodes 'global-semantic-mru-bookmark-mode)
(add-to-list 'semantic-default-submodes 'global-semantic-idle-local-symbol-highlight-mode)
(add-to-list 'semantic-default-submodes 'global-semantic-idle-scheduler-mode)
(add-to-list 'semantic-default-submodes 'global-semantic-idle-completions-mode)
(add-to-list 'semantic-default-submodes 'global-semantic-idle-summary-mode)
(add-to-list 'semantic-default-submodes 'global-semantic-decoration-mode)

(require 'semantic/ia)
(semantic-mode 1)

(require 'semantic/bovine/gcc)

(semantic-add-system-include "/usr/include/mpi/" 'c++-mode)

;; ;; Imenu integration
(defun my-semantic-hook ()
  (imenu-add-to-menubar "TAGS"))
(add-hook 'semantic-init-hooks 'my-semantic-hook)

;; Class suggest improvement
(defun my-c-mode-cedet-hook ()
 (local-set-key "." 'semantic-complete-self-insert)
 (local-set-key ">" 'semantic-complete-self-insert))
(add-hook 'c-mode-common-hook 'my-c-mode-cedet-hook)

;;;; Semantic and auto-config integration
(require 'auto-complete-config)
(ac-config-default)
(add-to-list 'ac-dictionary-directories "/home/zvord/.emacs.d/ac-dict")
(define-key ac-mode-map [(meta return)] 'auto-complete)

(defun my-cedet-hook ()
  (add-to-list 'ac-sources 'ac-source-semantic))
(add-hook 'c-mode-common-hook 'my-cedet-hook)
(require 'auto-complete-config)
(ac-config-default)
;; start after 3 characters were typed
(setq ac-auto-start 3)
;; show menu immediately...
(setq ac-auto-show-menu t)
;; explicit call to auto-complete
(define-key ac-mode-map [(meta return)] 'auto-complete)