现在,我正在使用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"))
并且,是否有任何关于项目管理和文件查找解决方案的建议? (我也尝试过find-file-in-project)。
我使用ede是因为我需要ede-cpp-root-project来自动设置semanticdb。
答案 0 :(得分:11)
看看projectile。 Projectile是Emacs的项目交互库。它的目标是在项目级别上提供一组很好的功能,而不会引入外部依赖项。例如,查找项目文件是在纯elisp中完成的,无需使用GNU find。
该库提供简单的项目管理和导航。项目的概念非常基本 - 只是一个包含特殊文件的文件夹。目前git,mercurial和bazaar repos默认被视为项目。如果要将文件夹手动标记为项目,只需在其中创建一个空的.projectile
文件。
答案 1 :(得分:4)
我用于C / C ++项目的解决方案之一是使用GNU Global。您可以将gtags模块与Emacs一起使用,这比内置标签系统更优越。一旦安装了GNU Global并配置了Emacs gtags,就可以从源代码树的顶层运行gtags
来生成标记。现在,如果您运行 M-x gtags-find-file 来打开由Global索引的文件。为了便于使用,您可以使用方便的键击来绑定此命令。
答案 2 :(得分:3)
对于原始ede项目类型,例如生成或生成的项目类型 读取Automake文件,EDE知道所有文件以及它们的位置 正在编入你的程序。
对于ede-cpp-root
,它没有要使用的文件列表,所以它只是真的
在当前目录中搜索或包含路径。包含路径是
关键,因为智能完成需要它。
如果您想使用ede-find-file
进行常规文件发现,那么就是您
可以集成在GNU Global等外部工具中,也可以作为idutils集成
两个文件的后端数据库。你也可以启用你的
系统的locate
命令。
自定义ede-locate-setup-options
以包含您想要的任何工具
喜欢使用,然后它应该按照需要工作。
答案 3 :(得分:2)
好吧,我真的不知道如何解决你的问题,但我可以尝试解决它。如果您安装了ido软件包(http://www.emacswiki.org/emacs/InteractivelyDoThings),通常可以通过这种方式快速查找文件。在我看来,这是一个查找文件的解决方案。
答案 4 :(得分:0)
或者您可以尝试xcscope.el,找到您想要的文件(+更多),速度非常快 您已正确设置了cscope数据库。
答案 5 :(得分:0)
另一个选择是gpicker。它实际上是一个外部工具,但是有一个emacs的集成插件。它提供有关其相对路径的项目文件的模糊搜索,并使其非常快。我使用它大约三年,强烈建议尝试gpicker其他emacs用户。