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