From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Richard Riley Newsgroups: gmane.emacs.help Subject: Re: Emacs as a C Programming IDE Configuration? Date: Thu, 26 May 2011 15:50:06 +0200 Organization: aich tea tea pea dicky riley dot net Message-ID: References: <430fcda1-6ad7-4078-baf8-58608a30c302@glegroupsg2000goo.googlegroups.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1306417722 31954 80.91.229.12 (26 May 2011 13:48:42 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 26 May 2011 13:48:42 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Thu May 26 15:48:38 2011 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QPavV-0002it-ON for geh-help-gnu-emacs@m.gmane.org; Thu, 26 May 2011 15:48:37 +0200 Original-Received: from localhost ([::1]:37730 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QPavV-0003Vo-3h for geh-help-gnu-emacs@m.gmane.org; Thu, 26 May 2011 09:48:37 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:59880) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QPavQ-0003VH-2a for help-gnu-emacs@gnu.org; Thu, 26 May 2011 09:48:33 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QPavO-0006Mj-S1 for help-gnu-emacs@gnu.org; Thu, 26 May 2011 09:48:32 -0400 Original-Received: from lo.gmane.org ([80.91.229.12]:39285) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QPavO-0006Mc-JU for help-gnu-emacs@gnu.org; Thu, 26 May 2011 09:48:30 -0400 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1QPavN-0002dG-H0 for help-gnu-emacs@gnu.org; Thu, 26 May 2011 15:48:29 +0200 Original-Received: from 109.76.185.191 ([109.76.185.191]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 26 May 2011 15:48:29 +0200 Original-Received: from rileyrg by 109.76.185.191 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 26 May 2011 15:48:29 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 51 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: 109.76.185.191 User-Agent: Gnus/5.110018 (No Gnus v0.18) Emacs/23.2 (gnu/linux) Cancel-Lock: sha1:JH7LXOxZCS1NEZ76uYaZjuQUlkg= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 80.91.229.12 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:81251 Archived-At: haziz writes: > I use emacs as my main IDE for programming in C. I am exploring ways of > configuring emacs to function more as an IDE rather than as a simple text > editor. Of course I want syntax highlighting and preferably some code > completion. I also want separate buffers to allow shell commands and to M-x > compile. I want it to open into this multi-buffer form automatically when > visiting a C source file, rather than having to launch each buffer separately. I > will be using this mainly for Linux/BSD Unix development, though I also code on > Mac OS X (again Unix) and Windows (Windows 7 64bit). > > I explored the Emacs Starter Kit posted by Phil Hagelberg (technomancy), but it > seems very oriented towards dynamic languages and use of git. I use emacs mainly > for developing in C and use mercurial for VC. I am also a relative newbie making > configuration of emacs relatively daunting for me. > > I am now playing with CEDET and the Emacs Code Browser (ECB) package which is more along the lines of what I want, but is still not perfect. > > Any suggestions on customizing emacs as a C programming IDE welcome. > auto-complete is far and away the best completion system IMO. I am sure it can interface to CEDET/Semantic - if you can get CEDET installed and working properly - it seems many people can not and moved away from it. Recent "bovine errors" in javascript files caused me to turn it off again. Here is an out of date c setup I used for a while : it shows integration of lint, cdecl and make for a start : navigation of make errors etc. http://www.richardriley.net/projects/emacs/dotprogramming#sec-1_1 It also includes some gdb integration, but I stopped using gdb some time ago as the emacs integration seemed to keep freezing. It might be ok again. Try it. The underlying VCS shouldnt be an issue :both magit and the newer egg are super emacs interfaces to git. But of course legacy can not always be lost ;) I cant comment on the mercurial interfaces to emacs. Use global or xcscope for your tagging. I prefer the idea of gnu global but the documentation is a obstacle imo. The global htags (html source code map) is a really nice bonus with global so it might be worth persevering with. If you google "emacs google gtags" you will find code which auto updates your tags file when you save your files too. best of luck! r.