2011-04-27 77 views
15

我使用emacs作爲我用C編程的主要IDE。我正在探索配置emacs以更多地作爲IDE而不是簡單的文本編輯器運行的方法。當然,我想要語法高亮,最好是一些代碼完成。我也想要單獨的緩衝區來允許shell命令和M-x編譯。我希望它在訪問C源文件時自動打開到這個多緩衝區窗體中,而不必單獨啓動每個緩衝區。我將主要用於Linux/BSD Unix開發,儘管我也在Mac OS X(又是Unix)和Windows(Windows 7 64bit)上編碼。Emacs作爲C編程IDE配置?

我探索了Phil Hagelberg(technomancy)發佈的Emacs入門工具包,但它似乎非常傾向於動態語言和git的使用。我使用emacs主要用於在C中進行開發,並將VC用於mercurial。我也是一個相對新手,使emacs的配置相對令我畏懼。

我現在在玩CEDET和Emacs Code Browser(ECB)包,它更符合我想要的,但仍不完美。

有關將emacs定製爲C編程IDE歡迎的建議。

+3

[這](http://stackoverflow.com/questions/63421/using-emacs-as-an-ide)相似 – mdec 2011-04-27 06:45:20

回答

24

自從我做C以來已經有一段時間了,但這裏有幾點。

  1. 使用flymake進行飛行誤差分析。我已經將它用於Python和C,它非常棒。
  2. 語法高亮在C模式下默認存在。
  3. M-x編譯適合make,所以如果你在你的設置中有一個Makefile,它應該可以正常工作(defuly flymake規則也使用這個)。這樣

    check-syntax:

     gcc -Wall -o nul -S ${CHK_SOURCES} 
    

    規則將採取flymake的照顧。當您在子目錄中編輯但是想要編譯時,This非常有用。

  4. etags對跳轉代碼很有用。 GnuGlobal也似乎很受歡迎。
  5. 無法評論歐洲央行,因爲我從來沒有真正完成它的工作,當我做了什麼,我從來沒有發現它有用。我用autocomplete.el做完成,但它不是上下文敏感的。
  6. 沒有跡象6.
  7. 內置的VC整合不是git這麼熱,所以我用magit代替。 mercurial應該有類似的問題。
  8. 這裏有一些筆記關於設置您的indentation
  9. 您應該使用which function mode。這在過去爲我節省了很多頭痛。
  10. GUD的默認設置相當不錯,但您需要一段時間並熟悉它們才能完全使用它的電源。
  11. 我大量使用org-capture將TBD移動到我的組織模式緩衝區中,以便我可以將它們作爲TODO項目進行跟蹤。這適用於所有語言。我還使用組織模式來爲我的所有項目維護一份開發日記。

祝你好運。

+4

幾個指針,好一個,哈哈哈哈! (哼,對不起)。 – Raveline 2011-04-27 07:39:49

+0

我並不打算,但最好的雙關語是無意的... – 2011-04-27 08:07:55

+2

+1 which-function-mode,對我來說這是一個新的,謝謝! – momeara 2011-04-27 19:25:29

3

閱讀excellent guide關於如何配置CEDET。我還建議您一起使用cscope和ECB。正如Noufal已經提到的自動完成和flymake非常有用。我也推薦你autopair mode

1

我沒有試出來Emacs-IDE但似乎有用的,可以幫助你