Emacs能够支持项目吗?

7

Emacs是否支持项目概念?这意味着根据您正在处理的项目,可能会有几个配置选项不同。

6个回答

5

是的,请查看来自CEDET库的EDE包。


这看起来很有趣,但似乎只适用于基于make的项目。 - pupeno
它非常可扩展,因此您可以添加对自己项目类型的支持。您想要为哪些项目提供支持? - Alex Ott

3

可以试试项目本地变量插件。我个人没有使用过它,但在Rinari-mode文档中提到了它,用于缩小查找项目文件功能的范围。


1
我认为这是一个不错的线索(尽管:"请注意,从2008年5月开始,Emacs已经实现了这个功能,因此不再需要这个库。请参阅Emacs手册中的“目录变量”。") - pupeno

2

2

一般情况下,您不会期望emacs了解构建要求的差异---您会让构建系统(如make)来处理。要处理不同的编码标准,请定义本地yourproject.el文件来设置变量、加载和卸载本地模式等(使用M-x load-file运行它)。


1
我选择这个答案不是因为它是正确的答案,而是因为它是我最终使用的答案。 - pupeno

2
说得严谨一些,Emacs 可以支持任何东西,因为它是一个 Lisp 语言运行时,恰好在其之上有一个编辑器。
具体来说,一些 Emacs 的插件支持项目,比如 JDEE

1
兄弟,正如另一个答案中提到的那样,EMACS可以做任何事情。话虽如此,在这种情况下,让我们更详细地解释一下“项目”的含义。在大多数IDE(如Eclipse、Netbeans、Visual Studio或Xcode)中,“项目”有两个含义:一种是将属于同一组件的文件布局在一起,另一种是向构建系统提供构建这些组件所需的指令。
在EMACS中,您完全控制这些内容,但它们如何协同工作取决于目标环境——Lisp、Java、C/C++等。Lisp由SLIME支持,Java由JDEE支持,C/C++由内置模式和一堆约定支持;如果您想使用版本控制,也可以内置支持。
在大多数情况下,构建细节并不会对编辑器本身产生太大影响,但您可以使用模型行或本地变量为特定文件专门定制行为。JDEE具有特定的“项目”概念。
您要使用哪些语言和环境进行工作?

我使用Slime在Clojure上进行工作,我的问题主要是为Slime项目设置正确的CLASSPATH。 - pupeno

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接