2011-04-27 43 views
15

Tôi sử dụng emacs làm IDE chính để lập trình trong C. Tôi đang khám phá các cách cấu hình các emacs để hoạt động nhiều hơn như một IDE chứ không phải là một trình soạn thảo văn bản đơn giản. Tất nhiên tôi muốn làm nổi bật cú pháp và tốt nhất là hoàn thành mã. Tôi cũng muốn các bộ đệm riêng biệt cho phép các lệnh shell và biên dịch M-x. Tôi muốn nó tự động mở vào biểu mẫu đa bộ đệm này khi truy cập tệp nguồn C, thay vì phải khởi chạy từng bộ đệm riêng biệt. Tôi sẽ sử dụng điều này chủ yếu để phát triển Unix/BSD Unix, mặc dù tôi cũng viết mã trên Mac OS X (một lần nữa là Unix) và Windows (Windows 7 64bit).Emacs là cấu hình IDE lập trình C?

Tôi đã khám phá bộ khởi động Emacs được đăng bởi Phil Hagelberg (kỹ thuật), nhưng có vẻ như rất hướng đến ngôn ngữ động và sử dụng git. Tôi sử dụng emacs chủ yếu để phát triển trong C và sử dụng mercurial cho VC. Tôi cũng là một newbie tương đối làm cho cấu hình của emacs tương đối khó khăn đối với tôi.

Tôi hiện đang phát với CEDET và gói Trình duyệt mã Emacs (ECB), nhiều hơn những gì tôi muốn, nhưng vẫn không hoàn hảo.

Bất kỳ đề xuất nào về tùy chỉnh emac là chào mừng IDE lập trình C.

+3

[này] (http://stackoverflow.com/questions/63421/using-emacs-as-an-ide) cũng tương tự như – mdec

Trả lời

24

Đã lâu rồi kể từ khi tôi thực hiện xong C nhưng đây là một vài gợi ý.

  1. Sử dụng flymake để phân tích lỗi bay. Tôi đã sử dụng nó cho Python và C và nó thực sự tuyệt vời.
  2. Đánh dấu cú pháp có theo mặc định trong chế độ C.
  3. Biên dịch M-x hướng đến việc tạo nên nếu bạn có một Makefile trong thiết lập của bạn, nó sẽ hoạt động tốt (các quy tắc flymake không chính xác cũng sử dụng điều này). Một nguyên tắc như thế này

    check-syntax:

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

    sẽ chăm sóc flymake. This hữu ích khi bạn chỉnh sửa trong thư mục con nhưng muốn biên dịch từ đầu.

  4. etags hữu ích để nhảy xung quanh mã. GnuGlobal cũng có vẻ là phổ biến.
  5. Không thể nhận xét về ECB vì tôi chưa bao giờ thực sự làm cho nó hoạt động hoàn toàn và khi tôi đã làm, tôi chưa bao giờ thấy nó hữu ích. Tôi sử dụng autocomplete.el để hoàn thành nhưng không nhạy cảm với ngữ cảnh.
  6. Không có đề xuất 6.
  7. Tích hợp vc sẵn có không quá nóng đối với git và vì vậy tôi sử dụng magit để thay thế. Nên có vấn đề tương tự với mercurial.
  8. Có một số lưu ý ở đây khi thiết lập indentation của bạn.
  9. Bạn nên sử dụng which function mode. Nó đã cứu tôi rất nhiều đau đầu trong quá khứ.
  10. Giá trị mặc định cho GUD là khá tốt nhưng bạn nên dành một chút thời gian và tự làm quen với chúng để sử dụng hoàn toàn sức mạnh của nó.
  11. Tôi sử dụng rất nhiều org-capture để di chuyển TBD vào bộ đệm chế độ tổ chức của tôi để tôi có thể theo dõi chúng dưới dạng mục TODO. Điều này là dành cho tất cả các ngôn ngữ. Tôi cũng sử dụng chế độ org để duy trì nhật ký phát triển cho tất cả các dự án của mình.

Chúc may mắn.

+4

Một vài con trỏ, tốt nhất, ha, ha, ha! (Hừm, xin lỗi). – Raveline

+0

Tôi không có ý định đó, nhưng các hình phạt tốt nhất là không chủ ý ... –

+2

+1 chế độ chức năng, đó là một cái mới cho tôi, cảm ơn! – momeara

3

Đọc này excellent guide về cách định cấu hình CEDET. Tôi cũng khuyên bạn nên sử dụng cscope và ECB cùng với nó. Như Noufal đã đề cập đến autocomplete và flymake rất hữu ích. Tôi cũng khuyên bạn nên autopair mode.

1

tôi đã không thử Emacs-IDE nhưng có vẻ như hữu ích và có thể giúp bạn

Các vấn đề liên quan