我已经阅读了许多关于emacs中项目管理的问题,尽管他们似乎并不了解我喜欢的工作方式(可以追溯到Borland时代)。
基本上,我想创建自己的文件层次结构,我可以从中打开文件进行编辑。这与目录结构不同:通常有一些文件从编辑的角度收集在一起,但不在同一目录中,等等。
目前,我一直在与scitepm合作,这是编辑SciTE(Scintilla衍生品)的侧栏发射器。但在我看来,emacs必须能够做类似的事情 - 我只是不能从eproject,speedbar等的各种描述中梳理我的特定用例......
任何指针?或者我的工作流程无可救药地复古?
答案 0 :(得分:5)
Vanilla Emacs 提供了一些有用的功能:
文件集:持久文件集---请参阅(emacs) Filesets
。
可以在一组显式文件上打开Dired,无论它们在哪个目录中。只需将绝对文件名列表作为DIRNAME
参数传递给命令dired
。 / p>
TAGS文件为您提供对给定文件集中“定义”的直接或可搜索访问。原则上,定义可以是任何定义,但它通常是函数,变量,类等定义(IOW,编程构造)。
Bookmark+提供了一些可以提供帮助的功能(通常会有书签):
Dired书签:任何文件和子目录集,以及插入的子目录,Dired标记集,隐藏插入的子目录,以及“省略”文件和子目录。
自动提交书签:无需访问即可为任何文件添加书签。
书签标记:以您喜欢的任何方式对书签进行分类。标签定义书签组。按标签排序,搜索wrt标签,...
多个书签文件:另一种定义书签组的方法。
桌面书签:Emacs会话状态---带回文件集,无论新会话如何。
复合或序列书签结合了多个书签的效果。
Icicles提供了其他可以提供帮助的功能:
以下是对项目支持的良好切入点:Icicles - Support for Projects。
它可以让您轻松save and restore sets of file names持久(或仅限会话)。这包括emacs文件集,但也包括更灵活的文件和目录集。使用C-x C-f
等时,可以完成一组已保存的文件名。保存在集合中的文件名可以位于文件系统(或远程)的任何位置。
它增强了Emacs TAGS文件和代码导航的使用。
它提供了搜索一组文件或缓冲区的功能,包括持久集。
答案 1 :(得分:1)
请访问www.emacswiki.org/emacs/BookmarkPlus。 它有很多选项和定制。什么可能有趣 对于你来说,你可以有多个书签文件,每个文件存储多个 书签,然后是一个或多个存储它们的主书签文件, 除了正常的书签......你明白了这一点:)
我主要使用bookmark +因为它允许将函数绑定到书签 同样。
答案 2 :(得分:0)
当我正在努力改进一种主要语言模式时,我尝试了几种创建项目/文件组的方法。我所讨论的事情还没有在这里提到,所以我会说几句话。这是EDE。它配有CEDET,但实际上是一个单独的东西。它有几个现成的项目模板,专门用于Emacs Lisp,C和我认为我最终看到了Android Java开发的自定义。
这与其他解决方案的不同之处在于,您需要编写一些Emacs Lisp代码来自定义它以执行您喜欢的操作。另一方面,它已经有许多库函数。例如:它具有集中的项目管理,序列化/反序列化设置的方式,通过菜单访问的API,用于通过小部件修改项目设置的API。它总体上采用了一种非常简洁的方法来解决这个问题。
下面不是代码的精美版本,但可能会让您了解它的外观:http://code.google.com/p/haxe-mode/source/browse/trunk/lisp/ede/haxe.el