0

我正准备制作一个小 IDE,它允许在调用它们的地方将函数/宏调用扩展到它们的定义(并在需要时递归地执行此操作,以便如果函数 A 调用 B,我扩展 B,然后 B 调用C - 我在 B 的代码中扩展 C 等):

在此处输入图像描述

问题 1:您知道现有的具有此功能的 IDE 吗?

问题2:您将如何实施?我的方法如下:我希望 IDE 能够理解各种编程语言。为了提取函数定义,我似乎不得不使用解析器。是否有各种语言的解析器集合?我研究过 Ctags 和 Pygments 词法分析器,但它们的输出不足以完成这项任务。

IDE 的首选语言是 Python(尽管 Java 和 C 建议也可以),图形库 - gtk+2。谢谢。

4

2 回答 2

1

问题 1:您知道现有的具有此功能的 IDE 吗?

可能与您描述的不太一样,但 Visual Studio 的代码定义窗口会显示当前光标位置处任何符号的定义。当然,它的不同之处在于它在编辑器窗口的单独窗口中显示定义,但老实说,我会发现您的提议有些不和谐和违反直觉,因为调用在语义上不是内联的。

于 2013-01-19T10:30:43.930 回答
0

在大多数 IDE 中,您想要的称为“goto 定义”。当然,它们不会内联扩展,但您必须将定义放在某处。

作为一般规则,许多 IDE 具有拆分窗口,因此可以与原始调用同时看到定义。在我看来,您基本上想要自动设置拆分窗口并进行定义点。

许多 IDE 包含内部可编程接口。您可能可以使用 Eclipse;如果 Mx goto-definition-in-new-window 尚未内置,您当然可以使用 Emacs 执行此操作:-}

于 2013-01-19T16:46:33.887 回答