【问题标题】:Emacs CEDET: Jumping to symbolsEmacs CEDET:跳转到符号
【发布时间】:2023-03-30 02:48:02
【问题描述】:

我已经阅读了 Alex Ott 为 Emacs 撰写的 fantastic guide to CEDET,我想我知道如何正确设置我的 EDE 项目。

但是,当我尝试使用命令 semantic-complete-jump-local (C-c , j) 跳转到 local 符号(例如 C++ 中的 main() 函数)时,即使我正在调用,我也会收到错误 [no match]此命令来自定义符号的 .cpp 文件。

此外,当我尝试使用 semantic-complete-jump-global (C-c , J) 跳转到在不同文件上具有多个定义的符号(例如多个 main() 函数)时,CEDET 会向 [not unique] 抱怨,但它没有给我选择哪个符号的方法我想看看。找到我感兴趣的符号的唯一方法是使用<TAB>逐个缓冲区循环浏览所有选项,直到找到我感兴趣的符号。有没有办法从我可以选择的地方获取符号列表?理想情况下,获得类似于 Emacs helm(以前称为 Anything)提供的自动完成列表会很棒。

这就是 Emacs 24.2.1 在 Linux 上使用 CEDET 1.1

【问题讨论】:

  • 您使用的是哪个版本的 CEDET?
  • 谢谢@AlexOtt,我刚刚用版本信息更新了OP。

标签: emacs cedet


【解决方案1】:

您是否尝试过使用semantic-ia-fast-jump 命令?它不仅使用语义,还使用其他数据源来计算跳转的位置。我刚刚试了一下,它正确地跳转到了在父类中声明的变量,在层次结构中高了 3 级。

【讨论】:

  • 谢谢亚历克斯! semantic-ia-fast-jump 效果很好,但它需要我在要跳转到其定义的符号上点(光标)。相反,我想跳转到可以在 minibuffer 中输入的符号(即在我的项目中定义的符号中导航的机制)。很高兴看到所有可能的符号列表,我可以浏览这些符号以选择我想要的符号。理想情况下,这将是某种类型的增量自动完成列表,它会在您键入和优化符号名称时更新(就像 Emacs Helm 所做的那样)。不确定这是否可能。
  • 我认为,应该可以编写这样的函数,虽然它需要一些编码
  • 谢谢亚历克斯。同时,还有哪些其他机制可以导航、跳转或预览符号定义?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多