在键入“。”后,有没有办法让弹出窗口自动完成。或“ - >”?
我认为这个代码是
(add-to-list 'ac-omni-completion-sources
(cons "\\." '(ac-source-semantic)))
(add-to-list 'ac-omni-completion-sources
(cons "->" '(ac-source-semantic)))
但似乎这可能已被弃用。
我最接近的是Alex Ott的回复here使用:
(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)
然而,这总是弹出另一个框架来显示语义的建议。如果可能的话,我希望所有内容都使用autocomplete的本机弹出窗口,这样当我尝试使用“myClass->”引用类的成员函数时,自动完成将弹出建议。有什么想法可以实现吗?
答案 0 :(得分:1)
抱歉对我的评论有很大的疏忽。我有点失落。在带有自动完成1.3.1的Emacs 24.3.1中,我实际上看到了启用自动完成和语义模式时所需的行为。也就是说,当我输入以下内容之一时,我会自动弹出:
someObj.
someObj->
我添加了这个作为答案,所以我可以列出一些代码。如果有帮助,我的自动完成设置如下:
(add-to-list 'load-path "<ac-install-dir>")
(require 'auto-complete-config)`
(add-to-list 'ac-dictionary-directories "<ac-install-dir>/ac-dict")
(ac-config-default)
(defun ac-common-setup ()
(setq ac-sources (append ac-sources '(ac-source-gtags ac-source-semantic ac-source-semantic-raw))))
似乎变量ac-prefix-definitions
管理作为触发完成的前缀的模式。我看到的价值是:
((symbol . ac-prefix-symbol)
(file . ac-prefix-file)
(valid-file . ac-prefix-valid-file)
(c-dot . ac-prefix-c-dot)
(c-dot-ref . ac-prefix-c-dot-ref))
ac-prefix-c-dot
和ac-prefix-c-dot-ref
似乎是与.
和->
匹配的模式。