1

现在,我正在使用ede来管理我的cpp项目,我尝试在我的项目中快速找到一个文件,但我失败了。我曾经ede-find-file找到“db.h”,它位于“d:/projects/leveldb/include/db.h”,不幸的是,它说找不到。

我的配置放在下面

(setq leveldb_root "d:/projects/leveldb/")

(ede-cpp-root-project
  "leveldb"
  :file (concat leveldb_root ".gitignore")
  :system-include-path '("C:/Program Files/Microsoft SDKs/Windows/v7.1/Include"
                       "C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/include")
  :include-path '("/"
                "/include"))

而且,对项目管理和文件查找解决方案有什么建议吗?(我也尝试过在项目中查找文件)。

我使用 ede 是因为我需要 ede-cpp-root-project 来自动设置语义数据库。

4

6 回答 6

12

看看弹丸。Projectile 是 Emacs 的项目交互库。它的目标是在不引入外部依赖项的情况下提供在项目级别上运行的一组不错的功能。例如 - 查找项目文件是在纯 elisp 中完成的,无需使用 GNU find。

这个库提供了简单的项目管理和导航。项目的概念非常基本 - 只是一个包含特殊文件的文件夹。目前 git、mercurial 和 bazaar repos 默认被视为项目。如果您想手动将文件夹标记为项目,只需在其中创建一个空.projectile文件。

于 2012-03-12T08:38:44.940 回答
4

我用于 C/C++ 项目的解决方案之一是使用GNU Global。你可以在 Emacs 中使用gtags模块,它比内置的标签系统更优越。安装 GNU Global 并配置 Emacs gtags 后,您可以gtags从源代码树的顶层运行以生成标签。现在,如果您运行M-x gtags-find-file以打开由 Global.index 索引的文件。为了可用性,您可以将此命令与您方便的击键绑定。

于 2012-03-12T04:14:52.170 回答
3

对于原始 ede 项目类型,例如生成或读取 Automake 文件的项目类型,EDE 知道所有文件以及它们在编译到您的程序中时的位置。

对于ede-cpp-root,它没有要使用的文件列表,因此它只会在当前目录或包含路径中真正搜索。包含路径是关键,因为它是智能完成所必需的。

如果您想ede-find-file用于一般文件发现,您可以集成外部工具,例如 GNU Global,或 idutils 作为两个文件的后端数据库。您还可以启用系统locate命令的使用。

自定义ede-locate-setup-options以包含您想要使用的任何工具,然后它应该可以按需要工作。

于 2012-03-12T12:06:36.813 回答
2

好吧,我真的不知道如何解决您的特定问题,但我可以尝试解决它。如果您安装 ido 包 (http://www.emacswiki.org/emacs/InteractivelyDoThings),您通常可以通过这种方式快速找到文件。在我看来,这是一个查找文件的解决方案。

于 2012-03-11T21:41:14.390 回答
0

或者您可以尝试 xcscope.el,只要您正确设置了 cscope 数据库,就可以非常快速地找到您想要的文件(+更多)。

于 2013-07-10T07:05:27.283 回答
0

另一种选择是gpicker。它实际上是一个外部工具,但有一个用于 emacs 的集成插件。它提供了关于项目文件的相对路径的模糊搜索,并且速度非常快。我使用它大约三年,强烈建议尝试 gpicker 其他 emacs 用户。

于 2013-09-02T16:27:32.727 回答