[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Emacs as an IDE

From: tomas
Subject: Re: Emacs as an IDE
Date: Sun, 5 Mar 2017 16:41:05 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

Hash: SHA1

On Sun, Mar 05, 2017 at 09:47:35AM -0500, Francis Belliveau wrote:
> I admit that the original question was a bit open.  It assumed that some of 
> us readers knew how a specific pair of IDE's work.
> A poor assumption since emacs wizards are more likely to use emacs as their 
> IDE with things customized as they desire.

This is one point; another is that all those IDEs are huge and have
all their own philosophies: each user tends to use different subsets
of them. Asking "like X" blurs this subsetting and will forcefully
ignore the one *you* care about. Moreover, "doing all as X does it"
is probably unachievable -- unless you use "X", that is :-)

> So it seems that the answer to the basic question is: Yes, emacs can be 
> configured to be used in manner similar to an IDE.
> I am not such a user, but would like to know how to configure such a thing.  
> I do have some specific questions below.

That's right: there are pretty extensive packages (like EDE [1]) which
cover IDE functionality (e.g. indexing "interesting" syntactic
objects in a whole project and similar things). That said, I'm not
the "IDE type" myself -- what I used so far is the compile-from-
editor and jump-me-to-next-error, usually provided by the mode
(but this extensively).

Then there are the modes:

> As I understand it emacs triggers such things via "mode" that is normally 
> tied to file extension, so as long as all of your source files have a 
> properly uniques extension that identifies language, you get the correct mode 
> automatically.  For instance, I expect that you have already discovered that 
> your .java files come up in Java-Mode with a default set of coding-style 
> rules.

It's not only the extension: a mode can be set according to the file's
content (a typical example would be the shebang line in an interpreter
file, but you can also insert a specifically formatted comment at a
strategic place in a file). See "23.3 Choosing File Modes" in the
fine manual, online here [2]

Modes are highly customizable wrt coding style. If you are at an
Emacs, just type in M-x customize <RET> and browse through the
options tree to get a first impression.

> The next problems are:
>   How do I customize the coding style to my match desires?

See above.

> and
>   How do I get "code-finding" and "code-completion" to work?

I think EDE covers that. But I'll hope more knowledgeable folks chime in.
Depending on your target language there are other kinds of development
environments, which, for example can run the target's language interpreter
or a debugger like gdb and thus stay current about the target program's

> I have been coding in C++ for a long time and am reasonably happy with how 
> those modes work, but I do not know the answer to my second question.  I also 
> use Java and could use help with the first question in that regard.
> Again, I admit that the first question is way too general for a specific 
> answer, but a pointer regarding how to find where to start reading in the 
> documentation would be helpful.  Navigating the documentation requires one to 
> be able to follow the mind-set of the writer, and I just cannot seem to find 
> my way to what I need very easily.
> Although a documentation pointer would also be a useful answer to the second 
> question, I expect that it would also be possible to provide an outline of 
> the basic steps so that I could better search the documentation for "how to" 
> information.  Clearly emacs would need some sort of symbol-table to tell it 
> which file a particular object/method exists in so that it can find its way 
> to said method and/or auto-complete a partial entry.
> Some help with where to start would be useful.

Yes, discovering this world can be daunting at times. But it's
worth it :-)


- -- tomás
Version: GnuPG v1.4.12 (GNU/Linux)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]