gpt4 book ai didi

Emacs/CEDET。多个项目和代码完成

转载 作者:行者123 更新时间:2023-12-04 08:30:01 25 4
gpt4 key购买 nike

我已经使用 CEDET 1.0 和 ECB 2.40 设置了 emacs 23.1.50.1(很大程度上受到了亚历克斯·奥茨在 http://github.com/alexott/emacs-configs/blob/master/rc/emacs-rc-cedet.el 上设置的启发,以及他对 Cedet(http://alexott.net/en/writings/emacs-devenv/EmacsCedet.html)的温和介绍,感谢亚历克斯)。它工作得很好,但我需要更多地了解在处理多个项目时如何处理代码完成和符号引用。

我创建了一个简单的 ede 项目,如下所示:

(ede-cpp-root-project "test"
:file "~/src/sw/anchor"
:include-path '("/Common")
:system-include-path '("~/include"))

当这个项目被加载时,Semantic 是否只会在项目配置中指定的各个目录中寻找补全?

我关注了 http://mmmyddd.freeshell.net/blog/Computer/Emacs/usecscopesemanticdbbackend使用 cscope 作为语义数据库的后端。我可以运行semanticdb-enable-cscope-in​​-buffer 而emacs 不会抛出任何错误,但我不知道semantic 是否使用了我的数据库。我是否也可以在我的项目定义中添加对 cscope.out 的引用,以便更好地控制在当前上下文中搜索引用的文件?

几个奇怪的地方:

当我尝试打开一个新的源文件时,出现错误“应用:搜索程序:没有这样的文件或目录,全局”,但没有任何 react 。如果我再次尝试打开它,一切都很好。

当我尝试通过指向 anchor 文件加载项目时,出现此错误:“如果:错误类型参数:class-p,ede-cpp-root”

最佳答案

当您的配置出现错误时,最好的做法是:

M-x toggle-debug-on-error RET

并获取将指向问题区域的堆栈跟踪。通常这有助于识别配置问题。

CEDET 将尝试将每个文件与单个项目相关联,并且在该缓冲区中操作的所有命令都将限制在该项目的范围内。对于 CScope 支持,它也会使用 EDE 来识别根目录,这将有助于找到 cscope.out 文件,这与补全和引用工具都有关。

当然,异常(exception)是系统包含路径,它通常是/usr/include 或其他什么。这是对使用 GCC 支持计算的默认系统包含路径的增强。在您的 C 文件之一中,您可以执行以下操作:
M-x semantic-c-describe-environment RET

这应该表明 Semantic 将尝试使用什么。

要仔细检查 CScope 是否用于代码完成,您可以检查:
M-x semanticdb-find-test-translate-path RET

并检查列表末尾是否有一些 CScope 内容。

关于Emacs/CEDET。多个项目和代码完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3977385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com