tags:

views:

477

answers:

6

Can Emacs support the concept of projects? That would be where several configuration options varies depending on what project you are working on.

+1  A: 

You generally wouldn't expect emacs to know about differences in build requirements---you let the build system (make or whatever) take care of that. To handle different coding standard define local yourproject.el files to set variables, load and unload local modes, etc... (use M-x load-file to run it).

dmckee
I'm selecting this answer not because it is the answer, but because it is the one I ended up using.
J. Pablo Fernández
+3  A: 

To be pedantic, Emacs can support anything, being as it's a Lisp language runtime which so happens to have an editor on top of it.

To be specific, some addons for Emacs support Projects, such as the JDEE.

Will Hartung
+1  A: 

Dude, as mentioned in another answer, EMACS can do anything. That said, let's expand a little on what a "project" means in this context. In most IDE's, like Eclipse, Netbeans, Visual Studio, or Xcode, "project" means two things: a file layout for the pieces that belong together, and instructions to the build system to build the thing composed of those pieces.

In EMACS, you have complete control of these things, but how they work together is dependent on both the target environment -- Lisp, Java, C/C++ and so on. Lisp is supported by SLIME, Java by the JDEE, C/C++ by the built in modes and a bunch of conventions; version control is also built in if you want to use it.

In most cases, the build details don't really affect the editor itself much, but you can specialize the behavior for specific files using either modelines, or local variables. JDEE has a specific "project" notion built in.

What languages and environments are you trying to work with?

Charlie Martin
I'm working in Clojure using Slime, my problem mainly is having the right CLASSPATH for the Slime project.
J. Pablo Fernández
The "Slime process" I mean.
J. Pablo Fernández
+3  A: 

Check out the project-local-variables plugin. I haven't used it personally, but I've seen it mentioned in the Rinari-mode documentation for scoping down a find-file-in-project function.

Justin Weiss
I think this is a good lead (even though: "Please note that as of May 2008, this functionality has been implemented in Emacs, so there’s no need for this library. See “Directory Variables” in the Emacs Manual.")
J. Pablo Fernández
+5  A: 

Yes, please look to the EDE package from CEDET library

Alex Ott
This looks interesting, but it seems to be only for make-based projects.
J. Pablo Fernández
It's very extensible, so you can add support for your own project types. For which projects you want to have a support?
Alex Ott
+1  A: 

Well, as you can see there are several packages to do this.

You might like this approach: http://blog.jrock.us/articles/eproject.pod

I just read it today.

rebra