* Emacs as a C Programming IDE Configuration? @ 2011-04-27 6:47 haziz 2011-04-27 9:11 ` Jorgen Grahn ` (3 more replies) 0 siblings, 4 replies; 24+ messages in thread From: haziz @ 2011-04-27 6:47 UTC (permalink / raw) To: help-gnu-emacs 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. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-04-27 6:47 Emacs as a C Programming IDE Configuration? haziz @ 2011-04-27 9:11 ` Jorgen Grahn 2011-04-27 16:04 ` despen 2011-05-26 14:54 ` Richard Riley 2011-04-27 18:26 ` Colin S. Miller ` (2 subsequent siblings) 3 siblings, 2 replies; 24+ messages in thread From: Jorgen Grahn @ 2011-04-27 9:11 UTC (permalink / raw) To: help-gnu-emacs On Wed, 2011-04-27, haziz wrote: > 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. Emacs *isn't* a simple text editor. But it works differently from whatever IDE you are used to. > Of course I want syntax highlighting (global-font-lock-mode 1) if it isn't already enabled by default. > and preferably some code completion. M-x dabbrev-expand or M-/ Not quite code completion, but more general and IMO more useful. > I also want separate buffers to allow shell commands and to M-x > compile. These exist already. M-x compile opens a buffer if needed; before that you don't need it. > 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 get the feeling you have other requirements which I haven't understood yet. Doing one 'M-x shell' doesn't seem to me like something that has to be automated. /Jorgen -- // Jorgen Grahn <grahn@ Oo o. . . \X/ snipabacken.se> O o . ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-04-27 9:11 ` Jorgen Grahn @ 2011-04-27 16:04 ` despen 2011-04-28 6:26 ` Jorgen Grahn ` (2 more replies) 2011-05-26 14:54 ` Richard Riley 1 sibling, 3 replies; 24+ messages in thread From: despen @ 2011-04-27 16:04 UTC (permalink / raw) To: help-gnu-emacs Jorgen Grahn <grahn+nntp@snipabacken.se> writes: > On Wed, 2011-04-27, haziz wrote: > >> 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. > > Emacs *isn't* a simple text editor. But it works differently from > whatever IDE you are used to. > >> Of course I want syntax highlighting > > (global-font-lock-mode 1) > if it isn't already enabled by default. > >> and preferably some code completion. > > M-x dabbrev-expand > or > M-/ > > Not quite code completion, but more general and IMO more useful. > >> I also want separate buffers to allow shell commands and to M-x >> compile. > > These exist already. M-x compile opens a buffer if needed; before that > you don't need it. > >> 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 get the feeling you have other requirements which I haven't > understood yet. Doing one 'M-x shell' doesn't seem to me like > something that has to be automated. More important, a true emacs user has little need for a shell. The Makefile should launch any tests needed. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-04-27 16:04 ` despen @ 2011-04-28 6:26 ` Jorgen Grahn 2011-05-09 1:38 ` David Combs 2011-05-26 14:56 ` Richard Riley 2 siblings, 0 replies; 24+ messages in thread From: Jorgen Grahn @ 2011-04-28 6:26 UTC (permalink / raw) To: help-gnu-emacs On Wed, 2011-04-27, despen@verizon.net wrote: > Jorgen Grahn <grahn+nntp@snipabacken.se> writes: > >> On Wed, 2011-04-27, haziz wrote: ... >>> 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 get the feeling you have other requirements which I haven't >> understood yet. Doing one 'M-x shell' doesn't seem to me like >> something that has to be automated. > > More important, a true emacs user has little need for a shell. Well, anybody can call himself a true emacs user (even though I myself is arguing that Haziz shouldn't try to turn Emacs into a "traditional" IDE). > The Makefile should launch any tests needed. Unit tests: yes, definitely. But there are lots of things that don't fit into the Makefile. Personally, I always run a shell in a separate terminal emulator (or many in a screen(1) session). I'm sure I could have used M-x shell instead, but that's how I learned it. /Jorgen -- // Jorgen Grahn <grahn@ Oo o. . . \X/ snipabacken.se> O o . ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-04-27 16:04 ` despen 2011-04-28 6:26 ` Jorgen Grahn @ 2011-05-09 1:38 ` David Combs 2011-05-09 1:42 ` Pascal J. Bourguignon 2011-05-09 3:33 ` despen 2011-05-26 14:56 ` Richard Riley 2 siblings, 2 replies; 24+ messages in thread From: David Combs @ 2011-05-09 1:38 UTC (permalink / raw) To: help-gnu-emacs In article <icbozrvfyj.fsf@verizon.net>, <despen@verizon.net> wrote: >Jorgen Grahn <grahn+nntp@snipabacken.se> writes: > ... > >More important, a true emacs user has little need for a shell. You gotta be kidding -- no use for M-x shell???? David ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-05-09 1:38 ` David Combs @ 2011-05-09 1:42 ` Pascal J. Bourguignon 2011-05-09 16:30 ` Ted Zlatanov 2011-05-09 3:33 ` despen 1 sibling, 1 reply; 24+ messages in thread From: Pascal J. Bourguignon @ 2011-05-09 1:42 UTC (permalink / raw) To: help-gnu-emacs dkcombs@panix.com (David Combs) writes: > In article <icbozrvfyj.fsf@verizon.net>, <despen@verizon.net> wrote: >>Jorgen Grahn <grahn+nntp@snipabacken.se> writes: >> > ... >> >>More important, a true emacs user has little need for a shell. > > You gotta be kidding -- no use for M-x shell???? Almost none. You can always use M-! <command> RET -- __Pascal Bourguignon__ http://www.informatimago.com/ A bad day in () is better than a good day in {}. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-05-09 1:42 ` Pascal J. Bourguignon @ 2011-05-09 16:30 ` Ted Zlatanov 2011-05-09 16:52 ` Pascal J. Bourguignon 2011-05-21 23:27 ` David Combs 0 siblings, 2 replies; 24+ messages in thread From: Ted Zlatanov @ 2011-05-09 16:30 UTC (permalink / raw) To: help-gnu-emacs On Mon, 09 May 2011 03:42:00 +0200 "Pascal J. Bourguignon" <pjb@informatimago.com> wrote: PJB> dkcombs@panix.com (David Combs) writes: >> In article <icbozrvfyj.fsf@verizon.net>, <despen@verizon.net> wrote: >>> Jorgen Grahn <grahn+nntp@snipabacken.se> writes: >>> >> ... >>> >>> More important, a true emacs user has little need for a shell. >> >> You gotta be kidding -- no use for M-x shell???? PJB> Almost none. You can always use M-! <command> RET Let's not forget eshell, the Adventure shell, and zsh. Oh, and some consider Tcl/Tk's `wish' a "simple windowing shell" ;) Ted ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-05-09 16:30 ` Ted Zlatanov @ 2011-05-09 16:52 ` Pascal J. Bourguignon 2011-05-21 23:27 ` David Combs 1 sibling, 0 replies; 24+ messages in thread From: Pascal J. Bourguignon @ 2011-05-09 16:52 UTC (permalink / raw) To: help-gnu-emacs Ted Zlatanov <tzz@lifelogs.com> writes: > On Mon, 09 May 2011 03:42:00 +0200 "Pascal J. Bourguignon" <pjb@informatimago.com> wrote: > > PJB> dkcombs@panix.com (David Combs) writes: >>> In article <icbozrvfyj.fsf@verizon.net>, <despen@verizon.net> wrote: >>>> Jorgen Grahn <grahn+nntp@snipabacken.se> writes: >>>> >>> ... >>>> >>>> More important, a true emacs user has little need for a shell. >>> >>> You gotta be kidding -- no use for M-x shell???? > > PJB> Almost none. You can always use M-! <command> RET > > Let's not forget eshell, the Adventure shell, and zsh. Yes, Adventure shell is the only shell worth using with M-x shell, along with: > Oh, and some consider Tcl/Tk's `wish' a "simple windowing shell" ;) scsh. -- __Pascal Bourguignon__ http://www.informatimago.com/ A bad day in () is better than a good day in {}. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-05-09 16:30 ` Ted Zlatanov 2011-05-09 16:52 ` Pascal J. Bourguignon @ 2011-05-21 23:27 ` David Combs 2011-05-22 0:17 ` Pascal J. Bourguignon ` (2 more replies) 1 sibling, 3 replies; 24+ messages in thread From: David Combs @ 2011-05-21 23:27 UTC (permalink / raw) To: help-gnu-emacs In article <87aaevet0y.fsf@lifelogs.com>, Ted Zlatanov <tzz@lifelogs.com> wrote: >On Mon, 09 May 2011 03:42:00 +0200 "Pascal J. Bourguignon" <pjb@informatimago.com> wrote: > >PJB> dkcombs@panix.com (David Combs) writes: >>> In article <icbozrvfyj.fsf@verizon.net>, <despen@verizon.net> wrote: >>>> Jorgen Grahn <grahn+nntp@snipabacken.se> writes: >>>> >>> ... >>>> >>>> More important, a true emacs user has little need for a shell. >>> >>> You gotta be kidding -- no use for M-x shell???? > >PJB> Almost none. You can always use M-! <command> RET > (FYI: Myself, I do M-x shell, then an immediate tcsh.) But with *shell* you at least get to *keep* (up-screen) a record of what's happened, what results you got from giving your shell commands. Pretty nice to be able to whip (way) up-screen to find prior commands, copy them down to "now", make changes to them, and try again. For me, beats the heck out of getting a single-cmd-and-result *Shell Command Output*, then if I want to keep it around, having to rename-buffer it. Having all the commands, with their results, in one place allows easy M-x occur, or just plain "history". >Let's not forget eshell, the Adventure shell, and zsh. > I tried eshell once, never quite got what the advantages were. Adventure shell: never heard of it -- from a bit of googling it seems that you do shell commands as part of playing a GAME? When I'm trying to get something *done*? Can someone please elaborate a bit? Thanks. >Oh, and some consider Tcl/Tk's `wish' a "simple windowing shell" ;) > >Ted So what's wrong with tcsh, with tons of aliases? Seems pretty optimum to me! (But am very willing to be educated on alternatives, as long as I can understand the true advantages.) Thanks, David ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-05-21 23:27 ` David Combs @ 2011-05-22 0:17 ` Pascal J. Bourguignon 2011-05-22 18:47 ` Stefan Monnier 2011-05-23 14:50 ` Ted Zlatanov 2 siblings, 0 replies; 24+ messages in thread From: Pascal J. Bourguignon @ 2011-05-22 0:17 UTC (permalink / raw) To: help-gnu-emacs dkcombs@panix.com (David Combs) writes: > Adventure shell: never heard of it -- from a bit of > googling it seems that you do shell commands as part > of playing a GAME? When I'm trying to get something *done*? > Can someone please elaborate a bit? Thanks. It would be best if you tried it. http://nadvsh.sourceforge.net/ -- __Pascal Bourguignon__ http://www.informatimago.com/ A bad day in () is better than a good day in {}. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-05-21 23:27 ` David Combs 2011-05-22 0:17 ` Pascal J. Bourguignon @ 2011-05-22 18:47 ` Stefan Monnier 2011-05-22 19:35 ` Jorgen Grahn 2011-05-23 14:50 ` Ted Zlatanov 2 siblings, 1 reply; 24+ messages in thread From: Stefan Monnier @ 2011-05-22 18:47 UTC (permalink / raw) To: help-gnu-emacs > I tried eshell once, never quite got what the advantages were. It works about as well under any OS and is tightly integrated with Emacs. It also has significant disadvantages, admittedly. > Adventure shell: never heard of it -- from a bit of > googling it seems that you do shell commands as part > of playing a GAME? When I'm trying to get something *done*? Thing of it as something along the lines of M-x doctor: once you've tried it, you'll wonder how anyone ever managed to get any work done without it. > So what's wrong with tcsh, with tons of aliases? Brain-dead quoting rules, and inconvenient syntax for scripts. So I switched to zsh which offered pretty much all the features I was using of tcsh. I guess nowadays even bash offers all those features. Stefan ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-05-22 18:47 ` Stefan Monnier @ 2011-05-22 19:35 ` Jorgen Grahn 0 siblings, 0 replies; 24+ messages in thread From: Jorgen Grahn @ 2011-05-22 19:35 UTC (permalink / raw) To: help-gnu-emacs On Sun, 2011-05-22, Stefan Monnier wrote: ... >> So what's wrong with tcsh, with tons of aliases? > > Brain-dead quoting rules, and inconvenient syntax for scripts. > So I switched to zsh which offered pretty much all the features I was > using of tcsh. I guess nowadays even bash offers all those features. I was going to say that I miss histdup=erase from bash, but now that I check I find that modern versions have HISTCONTROL erasedups. I too have switched from tcsh to zsh, but sometimes you're stuck with bash. /Jorgen -- // Jorgen Grahn <grahn@ Oo o. . . \X/ snipabacken.se> O o . ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-05-21 23:27 ` David Combs 2011-05-22 0:17 ` Pascal J. Bourguignon 2011-05-22 18:47 ` Stefan Monnier @ 2011-05-23 14:50 ` Ted Zlatanov 2 siblings, 0 replies; 24+ messages in thread From: Ted Zlatanov @ 2011-05-23 14:50 UTC (permalink / raw) To: help-gnu-emacs On Sat, 21 May 2011 23:27:58 +0000 (UTC) dkcombs@panix.com (David Combs) wrote: DC> In article <87aaevet0y.fsf@lifelogs.com>, DC> Ted Zlatanov <tzz@lifelogs.com> wrote: >> Let's not forget eshell, the Adventure shell, and zsh. DC> I tried eshell once, never quite got what the advantages DC> were. It runs Emacs Lisp. DC> Adventure shell: never heard of it -- from a bit of googling it DC> seems that you do shell commands as part of playing a GAME? When DC> I'm trying to get something *done*? Can someone please elaborate a DC> bit? Thanks. Heh heh. I see you didn't spend half your college years playing Nethack. DC> So what's wrong with tcsh, with tons of aliases? Seems pretty DC> optimum to me! (But am very willing to be educated on alternatives, DC> as long as I can understand the true advantages.) tcsh is not terrible, but once you try zsh, especially its completion mechanism, any other shell seems underpowered. zmv is very nice, too (a built-in mass renaming mechanism). Ted ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-05-09 1:38 ` David Combs 2011-05-09 1:42 ` Pascal J. Bourguignon @ 2011-05-09 3:33 ` despen 2011-05-09 12:53 ` Jorgen Grahn 1 sibling, 1 reply; 24+ messages in thread From: despen @ 2011-05-09 3:33 UTC (permalink / raw) To: help-gnu-emacs dkcombs@panix.com (David Combs) writes: > In article <icbozrvfyj.fsf@verizon.net>, <despen@verizon.net> wrote: >>Jorgen Grahn <grahn+nntp@snipabacken.se> writes: >> > ... >> >>More important, a true emacs user has little need for a shell. > > You gotta be kidding -- no use for M-x shell???? Well, your first hint was "true emacs user". Of course that is tongue in cheek. I probably have the same definition of "true emacs user" as any other sensible person has. I used M-x shell for a few weeks and haven't been back in years. Hence, my statement. I'm under no illusion that others won't agree with me, but I have little choice in the viewpoints I express. They all seem to be mine no matter what I do. Anyway, just about everything I do is Makefile based. I see lots of people use Makefiles for the compile phase but I find that the test phase is intricately linked to the development phase and I combine both operations. It works for me and it works well, so I'll continue to push the viewpoint unless someone can explain why it's better to jump into M-x shell and start firing off random commands as if they may never have to issue them again or somehow they won't work as well in the compile buffer. -- Dan Espen ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-05-09 3:33 ` despen @ 2011-05-09 12:53 ` Jorgen Grahn 0 siblings, 0 replies; 24+ messages in thread From: Jorgen Grahn @ 2011-05-09 12:53 UTC (permalink / raw) To: help-gnu-emacs On Mon, 2011-05-09, despen@verizon.net wrote: ... > Anyway, just about everything I do is Makefile based. I see lots of > people use Makefiles for the compile phase but I find that the test > phase is intricately linked to the development phase and I combine both > operations. Agreed. "make check" should rebuild the automated tests if needed, and execute them. > It works for me and it works well, so I'll continue to push the viewpoint > unless someone can explain why it's better to jump into M-x shell and > start firing off random commands That's quite a big leap from "the Makefile should run the unit tests" to "there is nothing you may want to do in a shell". > as if they may never have to issue them again Modern shells (at least tcsh, bash and zsh) have persistent history and incremental search. I rarely have to type a complex command from scratch, if I did something similar in the past few weeks. /Jorgen -- // Jorgen Grahn <grahn@ Oo o. . . \X/ snipabacken.se> O o . ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-04-27 16:04 ` despen 2011-04-28 6:26 ` Jorgen Grahn 2011-05-09 1:38 ` David Combs @ 2011-05-26 14:56 ` Richard Riley 2 siblings, 0 replies; 24+ messages in thread From: Richard Riley @ 2011-05-26 14:56 UTC (permalink / raw) To: help-gnu-emacs despen@verizon.net writes: > Jorgen Grahn <grahn+nntp@snipabacken.se> writes: > >> I get the feeling you have other requirements which I haven't >> understood yet. Doing one 'M-x shell' doesn't seem to me like >> something that has to be automated. > > More important, a true emacs user has little need for a shell. > > The Makefile should launch any tests needed. > I dont agree with that sweeping statement at all. I use shell ALL the time. Possibly you mean dont need the shell for compiling? In that case I would agree that emacs has enough interfaces to make and gcc format errors etc to make the shell redundant in that respect. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-04-27 9:11 ` Jorgen Grahn 2011-04-27 16:04 ` despen @ 2011-05-26 14:54 ` Richard Riley 1 sibling, 0 replies; 24+ messages in thread From: Richard Riley @ 2011-05-26 14:54 UTC (permalink / raw) To: help-gnu-emacs Jorgen Grahn <grahn+nntp@snipabacken.se> writes: > On Wed, 2011-04-27, haziz wrote: > >> 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. > > Emacs *isn't* a simple text editor. But it works differently from > whatever IDE you are used to. > >> Of course I want syntax highlighting > > (global-font-lock-mode 1) > if it isn't already enabled by default. > >> and preferably some code completion. > > M-x dabbrev-expand > or > M-/ ? > > Not quite code completion, but more general and IMO more useful. To be blunt, Its nowhere near code completion and no where near as useful - dabbrev has its place but not as an intelligent inline class/type based code completion utility. For that you can use gtags, semantic and auto-complete or possibly even the built in cedet completion mechanisms (which are not as powerful as auto-complete aince ac is more general and allows the same completion mechanism in different modes using different completion candidates. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-04-27 6:47 Emacs as a C Programming IDE Configuration? haziz 2011-04-27 9:11 ` Jorgen Grahn @ 2011-04-27 18:26 ` Colin S. Miller 2011-04-30 0:07 ` haziz 2011-04-29 12:21 ` hjuvi 2011-05-26 13:50 ` Richard Riley 3 siblings, 1 reply; 24+ messages in thread From: Colin S. Miller @ 2011-04-27 18:26 UTC (permalink / raw) To: help-gnu-emacs On 27/04/11 07:47, haziz wrote: > 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. Haziz, I think you are getting confused between a 'buffer', a 'window' and a 'frame'. In Emacs, When a file is opened it is read into a buffer; there is normally a one-to-one mapping between the file and the buffer. (make-indirect-buffer does violate this; but is not relevant here). A buffer can also have no file associated with it, such as *scratch*, *compilation* etc. A 'window' is what most other editors call a (non-tiling) MDI child window. A 'frame' is what most other editors call a top-level window. Each window displays the contents of one buffer; M-x displayer-buffer or M-x 4 C-o will buffer the current window is currently displaying. Each frame displays one or more windows, C-x 2 or C-x 3 will half the size of the current window, and create a new window to take the remaining space. Both the current and new windows will display the current buffer. I hope that is a bit clearer, Colin S. Miller -- Replace the obvious in my email address with the first three letters of the hostname to reply. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-04-27 18:26 ` Colin S. Miller @ 2011-04-30 0:07 ` haziz 0 siblings, 0 replies; 24+ messages in thread From: haziz @ 2011-04-30 0:07 UTC (permalink / raw) To: help-gnu-emacs > > A 'window' is what most other editors call a (non-tiling) MDI child window. > A 'frame' is what most other editors call a top-level window. > I stand corrected. I meant a multi-window frame displaying the different buffers. I realize the "M-x compile" window need only be invoked once it is time to compile the code. Thanks. Sincerely, Hany. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-04-27 6:47 Emacs as a C Programming IDE Configuration? haziz 2011-04-27 9:11 ` Jorgen Grahn 2011-04-27 18:26 ` Colin S. Miller @ 2011-04-29 12:21 ` hjuvi 2011-05-02 3:24 ` rusi 2011-05-26 13:50 ` Richard Riley 3 siblings, 1 reply; 24+ messages in thread From: hjuvi @ 2011-04-29 12:21 UTC (permalink / raw) To: help-gnu-emacs This is a litlle bit biased because I'm the author of the package, but I suggest you have a look at this: http://home.gna.org/emacs-ide/ "True" emacs users might not like it, because it does try to turn Emacs into a "traditionnal" IDE, but some people find it very useful... :) ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-04-29 12:21 ` hjuvi @ 2011-05-02 3:24 ` rusi 2011-05-02 8:44 ` hjuvi 0 siblings, 1 reply; 24+ messages in thread From: rusi @ 2011-05-02 3:24 UTC (permalink / raw) To: help-gnu-emacs On Apr 29, 5:21 pm, hjuvi <hjuvi-goo...@yahoo.fr> wrote: > This is a litlle bit biased because I'm the author of the package, but > I suggest you have a look at this:http://home.gna.org/emacs-ide/ > "True" emacs users might not like it, because it does try to turn > Emacs into a "traditionnal" IDE, but some people find it very > useful... :) Very interesting... I dont want to get into the whats-a-true-emacs-user argument On the one hand Ive used emacs for just 20 years and seem to know less and less of it with each passing year :-) However I use enough of it that if emacs-ide changes things significantly (outside of the ide part which of course is fine) I'd have a bit of a wrestling match. Can you elaborate a bit on this aspect? ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-05-02 3:24 ` rusi @ 2011-05-02 8:44 ` hjuvi 2011-05-02 9:29 ` Re : " hjuvi 0 siblings, 1 reply; 24+ messages in thread From: hjuvi @ 2011-05-02 8:44 UTC (permalink / raw) To: help-gnu-emacs > Very interesting... > I dont want to get into the whats-a-true-emacs-user argument I don't want either... :) Just wanted to warn people that they might not like some settings that override emacs or user settings. But people who are not used to emacs might appreciate these settings. > However I use enough of it that if emacs-ide changes things > significantly (outside of the ide part which of course is fine) I'd > have a bit of a wrestling match. > > Can you elaborate a bit on this aspect? I understand and I think I should also elaborate on project homepage. For the moment, I have mentioned a few things in section "Please note that Emacs-IDE...". The history is : I started writing my own .emacs file, with my own settings, my own colors, and, little by little, I have added keys shortcuts (for tags, cscope...), and menu facilities to browse the code. Some other people started to use it, and it turned into a GPL project. But some of my own settings are still present. Little by little (since version 1.5), I try to remove personnal settings, or make them "optional". What is changed, compared to Emacs ? - I have redefined F1-F12 keys, for tags, cscope, grep, compilation... I know these keys should be reserved for user, so I'll try to make these key bindings optional in future versions, but I believe that it is much more easy to browse code through tags with F1 and F2 than with M-* and M-. - I change all colors for syntax highlighting : it has become optional since version 1.5 (but the default value of this option is "yes", I might change that in the future...) - I have redefined right click : it is an easy way to make menu window on the right side, and output window below (see screenshot) disappear, to read the source code "full frame", and get them back afterwards. It also make some popup menu appears depending on where you click : in output window, it gives the list of all past searches (grep or cscope), that you can display again, and in menu window, it gives a general menu, or - if you click on a filename - it gives a popup menu with commands related to the file (close, indent, svn diff...). I don't know, at this moment, how to make it optionnal. There is no alternative for these right clicks - which depends on mouse position... - I have disabled tool bar and menu bar, because I believe that my own menu should be enough, but this will be optional in the next version. Another particularity of the package is that it needs to be enabled at startup, in .emacs, because it loads .emacs.desktop in the directory where emacs is launched, which must be the root directory of the project. So the main idea, now, is to make Emacs-IDE as compliant as possible with Emacs requirements, without removing settings that I - and other people - appreciate, but making them optional instead. I have not received much feedback, but when I have, it was always positive - sometime with suggestions that I have taken into account for next versions. So I believe that people appreciate some of these non-conventional settings :) Any suggestion is welcomed. Thanks for your interest. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re : Re: Emacs as a C Programming IDE Configuration? 2011-05-02 8:44 ` hjuvi @ 2011-05-02 9:29 ` hjuvi 0 siblings, 0 replies; 24+ messages in thread From: hjuvi @ 2011-05-02 9:29 UTC (permalink / raw) To: help-gnu-emacs I have forgotten a few things that I should mention... Globally, the idea is that many default settings are not convenient (at least for me)... - I have redefined Alt-left/down/right keys for cut/copy/paste : standard shortcuts are not easy... - scrolling bar on left side: emacs is the only application to put it on left side. In Emacs-IDE, I've changed it to right side, this is not optional yet... - on older versions of Emacs, mouse wheel mode was not set, I enable it. - mouse-wheel-progressive-speed is disabled, I find it awful... - There are some other little options that I have redefined because I don't like the default setting (I can't list them all, see http://svn.gna.org/viewcvs/emacs-ide/tags/1.6/src/eide.el?revision=68&view=markup - NB: this is not up-to-date, I have already removed some of them, but this is the last official release). Maybe I should define a global option to make all of these personnal settings optional. But in the beginning, the idea was to provide a user-friendly IDE. And many default settings are not user-friendly to me. Also many useful options are not set by default, whereas they are very useful in the context of an IDE: which-function-mode, line-number-mode, column-number-mode, show-paren-mode... ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Emacs as a C Programming IDE Configuration? 2011-04-27 6:47 Emacs as a C Programming IDE Configuration? haziz ` (2 preceding siblings ...) 2011-04-29 12:21 ` hjuvi @ 2011-05-26 13:50 ` Richard Riley 3 siblings, 0 replies; 24+ messages in thread From: Richard Riley @ 2011-05-26 13:50 UTC (permalink / raw) To: help-gnu-emacs haziz <hsaziz@gmail.com> 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. ^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2011-05-26 14:56 UTC | newest] Thread overview: 24+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-04-27 6:47 Emacs as a C Programming IDE Configuration? haziz 2011-04-27 9:11 ` Jorgen Grahn 2011-04-27 16:04 ` despen 2011-04-28 6:26 ` Jorgen Grahn 2011-05-09 1:38 ` David Combs 2011-05-09 1:42 ` Pascal J. Bourguignon 2011-05-09 16:30 ` Ted Zlatanov 2011-05-09 16:52 ` Pascal J. Bourguignon 2011-05-21 23:27 ` David Combs 2011-05-22 0:17 ` Pascal J. Bourguignon 2011-05-22 18:47 ` Stefan Monnier 2011-05-22 19:35 ` Jorgen Grahn 2011-05-23 14:50 ` Ted Zlatanov 2011-05-09 3:33 ` despen 2011-05-09 12:53 ` Jorgen Grahn 2011-05-26 14:56 ` Richard Riley 2011-05-26 14:54 ` Richard Riley 2011-04-27 18:26 ` Colin S. Miller 2011-04-30 0:07 ` haziz 2011-04-29 12:21 ` hjuvi 2011-05-02 3:24 ` rusi 2011-05-02 8:44 ` hjuvi 2011-05-02 9:29 ` Re : " hjuvi 2011-05-26 13:50 ` Richard Riley
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).