问题标签 [cedet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
755 浏览

emacs - Emacs CEDET EDE 非平凡的项目设置

试图通过使用 EDE 为包含特定层次结构下的多个目标的项目目录生成 Makefile 来了解 EDE 的工作原理。我没有运气,信息页面似乎没有回答我的问题。

我的目录结构类似于:(星号 (*) 标记包含 main() 函数的文件)

我想创建一个或多个子项目的 EDE 项目;或者也许我只想要一个或多个目标......?

flow 的 program.cpp 需要 flow/ 和 utils/ 源,而 yuvreader_test 只需要 utils/ 源。

我在根目录和所有子目录中做了 ede-new。我也在根目录下做了ede-new-target,但是在子目录下添加源文件时,它不识别我创建的目标。

如果有人可以为我指出一些更复杂的 Project.ede 文件,我将不胜感激。你可以猜到我有更多包含类代码文件的子目录,其中一些有使用该代码的独立程序;我也有更多的测试代码在测试/。任何示例文件/命令工作流程将不胜感激。

0 投票
1 回答
1061 浏览

emacs - 高亮 Emacs24 + CEDET 中的局部变量、对象属性和常量

我对 Emacs 比较陌生,我最近将它设置为开发 C++ 的 IDE(emacs24 + 内置 CEDET + 来自 cvs 的 ECB)。到目前为止,我很享受结果,但我想要一些默认情况下似乎不存在的自定义突出显示。

当我声明一个新的常量、局部变量或对象属性时,它们会以不同的颜色出现。但是,当它们在其他地方使用时,它们会显示为普通文本。我想让常量在声明后在代码中的某处使用时以另一种颜色+斜体(例如)显示。

有没有办法做到这一点?我试图C-u C-x =查看启用的面孔并对其进行自定义,但似乎没有注意到我在使用特殊符号而不是普通文本。欧洲央行在其窗口之一中将它们显示为变量或属性。

0 投票
0 回答
104 浏览

emacs - 功能语义分析原型 impl-togle 不起作用

我正在使用带有 cedet-1.0.1 的 emacs23.2。这是一个项目目录:

./包括/啊

./src/a.cpp

我已经将 ../include 添加到语义依赖系统包含路径中,并通过描述变量进行了验证。

一切看起来都很好,包括可以在 a.cpp 和 ah 之间跳转的 semantic-ia-fast-jump 但是,semantic-analyze-proto-impl-togle 根本不起作用:找不到合适的原型(我打开了 ./src/a .cpp 并指向 A::f(),它无法跳转到 ./include/ah 但奇怪的是我的 minibuffer 显示:啊:void f();)。

当我把 ah 和 a.cpp 放到同一个目录:./ 时,它就可以工作了。所以我猜想包含路径有问题,但 ../include 实际上在包含路径中。

任何人都可以在这里帮助我吗?

0 投票
1 回答
391 浏览

emacs - 使用 ede-cpp-root-project 时出现 Lisp 错误

在过去的一段时间里,我一直试图让 CEDET 与一个简单的项目一起工作。我有以下项目文件:

我一直在将上述内容加载到缓冲区中并执行缓冲区内容。问题不在于项目加载不正确——似乎设置正确;我可以使用菜单栏更改设置等。但是,当我尝试重新扫描项目的文件时,出现以下错误:

我觉得这有点奇怪,因为当我查看文档时,ede-cpp-root-project我发现它有ede-project它的父级,不是ede-cpp-root吗?还是我误解了痕迹?我对 Emacs Lisp 不是很熟悉。

这是我的 cedet-version 输出:

还有我的 emacs 版本:(来自 Arch Linux 存储库的最新版本)

有没有人对我如何解决这个问题有任何建议?我的项目有问题吗?我的 CEDET 环境?版本的emacs?

0 投票
2 回答
4706 浏览

c++ - 如何为 C++ 创建 EDE 项目

我一直在尝试为 C++(emacs24 + 内置 CEDET)设置一个 EDE 项目,但我开始感到绝望,因为我似乎找不到想要生成 makefile 的方式。我对 Emacs 比较陌生。我将尝试描述我在做什么:

我有一个这样的玩具项目:

main.cpp 在“other/”目录中包含两个 .h。这些是我使用这个简单的目录设置来设置 EDE 项目的步骤:

  • 在 emacs 中打开 main.cpp 并执行M-x ede-new;类型:Make; 名称:main-proj
  • 打开“其他”目录中的一个文件并执行M-x ede-new;类型:Make; 名称:aux-proj
  • 现在是创建目标的时候了(我相信在这种情况下是三个):
    • 在 main.cpp 缓冲区:M-x ede-new-target; 名称:main; 类型:program。出现提示时,我将 main.cpp 添加到此目标。
    • 我对其他两个目标(具有 Utils.cpp 和 Utils.h 的 Utils 和具有 CGrabBuffer.cpp 和 CGrabBuffer.h 的 CGrabBuffer )重复相同的操作。在这里,我发现了第一个问题。这两个目标必须是什么类型?我只希望他们生成 .o 文件。
  • 完成后,我键入M-x ede-customize-current-target所有三个目标,并添加一些包含路径、一些库等。
  • 在此之后,如果我调用M-x ede-compile-project它不会编译,因为:
    • 它首先尝试编译 main.cpp;在尝试构建 main.cpp 之前,我不知道如何指定(使用 EDE)Utils.o 和 CGrabBuffer.o 都需要。
    • 如果我手动更改顺序(编辑 Makefile),它无法链接 main.cpp,因为它找不到 Utils.o 和 CGrabBuffer.o。

正如你所看到的,我正处于一团糟之中。也许我什至不理解 EDE 中的“目标”是什么意思。我还阅读了必须在 .emacs 文件中指定的 ede-cpp-root-project 的存在。我没有尝试过,因为我认为它只是帮助语义。它不会生成 Makefile,是吗?我可以拥有(或者我是否需要)一个使用 Project.el 构建的 EDE 项目,以及使用 ede-cpp-root-project 的语义相同的东西吗?或者是多余的?

抱歉,如果我误解了很多东西,但我很困惑,并且刚接触 emacs 会让事情变得更糟。谢谢你的耐心!

编辑:通过一些修补和我收到的回复,我已经能够弄清楚很多东西,所以非常感谢。我仍然不明白的是必须在 .emacs 文件中指定的 ede-cpp-root-project 的使用。它只是为了c ++语义吗?使用 Project.el 的项目以及 .emacs 中的 elisp 行是否是多余的?

0 投票
6 回答
4940 浏览

emacs - Emacs:如何在我的项目中快速找到文件?

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

我的配置放在下面

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

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

0 投票
1 回答
230 浏览

emacs - Emacs 23,semantic-something-to-tag-table 和 eassist 模式

非常有用的 eassist 模式依赖于 CEDET 的semantic-something-to-tag-table功能。谁能建议,如何从 Emacs 的内置 CEDET 加载此功能?

0 投票
3 回答
454 浏览

emacs - 更改语义摘要的显示位置

在 CEDET 中,次要模式semantic-idle-summary-mode显示有关回波区域中点下方符号的信息。我真的很喜欢这种模式,因为它可以帮助我记住,例如,我正在调用的函数需要哪些参数。

问题是,在回声区域显示有点问题。由于它会在点下有符号时自动激活,因此它有时会隐藏回显区域中显示的有用信息(毕竟,那是 emacs 用来告诉您信息的区域)。

有没有办法在其他地方显示摘要信息?工具提示是理想的,但其中一个 ecb 框架也是可以接受的。

0 投票
2 回答
228 浏览

emacs - Emacs CEDET semantic-ia-fast-jump 给出错误

semantic-ia-fast-jump与 CEDET 一起使用时,我收到以下错误消息。

这是针对 C 项目的。我正在使用 GTAGS 和 CEDET。

0 投票
1 回答
251 浏览

emacs - Emacs:有没有办法我可以获得自定义标签列表 - 并通过它们导航?

假设我有一个带有以下标记(或称其为标签)的文件:

测试.el:

(省略号)

测试.py:

(在蟒蛇中)

所以我想要一个缓冲区来列出给定缓冲区/文件的此类标签(或称为标记)。它还应该以某种方式促进通过此标签的导航 - 使用鼠标或键绑定(类似于 的table of contents功能rest-mode)。

我想通过修改一些 etags 函数来解决这个问题。但是找不到(这将是一个解决方案,因为 ECB 在缓冲区中很好地显示了 etags - 正如我想要的那样)。

其他一些解决方案可能一直在使用书签 - 但书签不是特定于文件的。它们是系统特定的。那是在书签列表中您拥有所有书签-而我只想获取给定文件的书签。