3

我正在尝试查找光标所在的当前函数的行号和函数名称。我需要将此信息传递给另一个函数以供以后处理。

这里还有一些细节。编辑器将是 CEditor。我有一个将使用这些数据的插件。我只需要显示当前函数和它开始的行号。因此,如果函数 XYZ 从第 5 行开始,并且用户在第 8 行输入函数。我需要获取 XYZ 和第 5 行。

我正在用 Java 编程,但用户将用 C/C++ 编写。

抱歉,我刚刚注意到我错过了很多细节。我正在构建需要用户光标当前所在方法的 Eclipse 插件。仅当他们使用 CDT 插件中的 CEditor 时。

4

1 回答 1

0

CDT(C 开发工具)API 的文档在这里。CDT 支持“DOM”(文档对象模型),您可以通过它了解正在编辑的文档。基本上,您需要获取ITranslationUnit已编辑文档的对象,然后调用getElementAtLine()以获取ICElement描述给定行号处代码的对象。ICElement是描述各种 C 语言元素的子类的大层次结构的根。

您可以ITranslationUnit通过调用轻松获取CoreModelUtil.findTranslationUnit(),它只需将 aIFile作为参数。

于 2012-06-06T13:05:17.293 回答