emacs 24.4.1 利用c++智能提示

在Ubuntu 14.10系统上,使用Emacs 24.4.1并通过package system安装了auto-complete-clang模块。配置完成后,编辑C++代码时,例如在vector对象后输入,可以使用M-/触发智能提示,如自动显示push_back等成员函数。然而,有时若未预先键入代码可能不会立即显示提示,但会随着时间学习。目前发现auto-complete-clang的提示信息过于简单,需要进一步研究以优化其功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ubuntu 14.10系统,通过emacs package system安装了模块auto-complete-clang

然后进入.emacs.d/init.el中如下配置:

;; auto complete 
(require 'auto-complete)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/elpa/auto-complete-20150408.1132/ac-dict/")
(add-to-list 'ac-user-dictionary-files "~/.emacs.d/elpa/auto-complete-20150408.1132/ac-dict//dean.dict")
(require 'auto-complete-config)
;; end

;; auto-complete-clang  
(require 'auto-complete-clang)
;;(setq ac-clang-auto-save t)
;; 设置不自动启动  
(setq ac-auto-start nil)
;; 设置响应时间 0.5  
(setq ac-quick-help-delay 0.5)
;;(ac-set-trigger-key "TAB")    
;;(define-key ac-mode-map  [(control tab)] 'auto-complete)    
;; 提示快捷键为 M-/  
(define-key ac-mode-map  (kbd "M-/") 'auto-complete)
(defun my-ac-config ()    
  (setq ac-clang-flags    
        (mapcar(lambda (item)(concat "-I" item))    
               (split-string    
                " /usr/include/c++/4.9  /usr/include/c++/4.9/backward /usr/include")))
  (setq-default ac-sources '(ac-source-abbrev ac-source-dictionary ac-source-words-in-same-mode-buffers))
  (add-hook 'emacs-lisp-mode-hook 'ac-emacs-lisp-mode-setup)
  (add-hook 'c-mode-common-hook 'ac-cc-mode-setup)
  (add-hook 'ruby-mode-hook 'ac-ruby-mode-setup)
  (add-hook 'css-mode-hook 'ac-css-mode-setup)
  (add-hook 'auto-complete-mode-hook 'ac-common-setup)
  (global-auto-complete-mode t))
(defun my-ac-cc-mode-setup ()
  (setq ac-sources (append '(ac-source-clang ac-source-yasnippet) ac-sources)))
(add-hook 'c-mode-common-hook 'my-ac-cc-mode-setup)
;; ac-source-gtags
(my-ac-config)
(ac-config-default)
;; end


现在打开代码,在vector对象v后面输入v.pu

然后用M-/ 后等待,会自动显示push_back。

有时候不显示的原因是之前没有键入代码,不过没有关系,会逐渐学习。


现在还有个问题, auto-complete-clang貌似没有真正工作,因为提示过于简陋。还需要继续研究。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值