簡體   English   中英

使用Emacs 24自動完成不適用於Java,C或C ++模式

[英]Auto-Complete with Emacs 24 doesn't work with Java, C or C++ modes

我使用marmalade repo安裝了auto-complete。 一切安裝正確,移動后的東西我設法啟動並運行自動更正沒有任何錯誤與我的init.el中的以下代碼:

;; auto-complete
(add-to-list 'load-path "~/.emacs.d/elpa/auto-complete")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/elpa/auto-complete/dict")
(ac-config-default)

現在我可以使用自動完成而不使用Emacs Lisp,但每當我使用任何其他模式時,如Java,C或C ++它根本不起作用。

我也安裝了yasnippet(它工作得很好),不確定是否與它有任何關系。 這是我的init.el中的相關代碼:

;;yasnippet
(add-to-list 'load-path
              "~/.emacs.d/plugins/yasnippet")
(require 'yasnippet)
(yas-global-mode 1)

我正在學習Emacs,目前我還是個菜鳥。 我一直在查看文檔和SO,但沒有找到任何東西。 我真的很感激任何幫助。

您可能需要添加完成源。 這是我配置中的內容:

(set-default 'ac-sources
             '(ac-source-abbrev
               ac-source-dictionary
               ac-source-yasnippet
               ac-source-words-in-buffer
               ac-source-words-in-same-mode-buffers
               ac-source-semantic))

更新ac-config-default應該包含此內容,但如果自動完成沒有激活這些模式,請嘗試在init.el中添加以下內容:

(dolist (m '(c-mode c++-mode java-mode))
  (add-to-list 'ac-modes m))

(global-auto-complete-mode t)

Update2 :我發布了一個要點 ,使你的init.el能夠使用package-install來提取自動完成功能。

我不知道你引用的是什么版本的自動完成,但最新版本對我來說很好。

具有工作自動完成功能的C模式

我和你有完全相同的問題。 Emacs-Lisp與自動完成功能完美,但C,C ++不起作用。 在嘗試了各種組合之后,我發現從.emacs評論yasnippet解決了我的問題。 希望這可以幫到你。 我的自動完成版本是1.3.1。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM