Java 我需要能够在eclipse中找到行号和方法名

Java 我需要能够在eclipse中找到行号和方法名,java,c++,c,eclipse,Java,C++,C,Eclipse,我试图找到光标所在的当前函数的行号和函数名。 我需要将此信息传递给另一个函数以供以后处理 这里有一些更多的细节。编辑将是编辑。我有一个插件,将使用这些数据。 我只需要显示当前函数和它开始的行号。因此,如果函数XYZ在第5行开始,用户在第8行输入函数。我需要XYZ和5号线 我正在用Java编程,但用户将用C/C++编写 对不起,我只是注意到我遗漏了很多细节。我正在构建一个Eclipse插件,它需要用户光标当前所在的方法。只有当他们使用CDT插件中的CEditor时,才会出现这种情况。CDT(C开

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

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

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


对不起,我只是注意到我遗漏了很多细节。我正在构建一个Eclipse插件,它需要用户光标当前所在的方法。只有当他们使用CDT插件中的CEditor时,才会出现这种情况。

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


通过调用
CoreModelUtil.findTranslationUnit()
,您可以很容易地获得
ITranslationUnit
,它只需要一个
IFile
作为参数。

您在说什么语言?在你的问题中添加相应的标签。谢谢你,欧内斯特。效果很好。最后一个问题。我如何在我的视图中添加一个监听器来感知光标在Ceditor中的移动?更新到这篇文章:如果您只需要上次保存文件的详细信息,Ernest ways非常有用。如果进行了更改但未保存,则此方法将不同步。我做了一点测试才发现这一点。如果通过调用CDTUITools.getEditorInputCElement(yourdeditor.getEditorInput())使用iTransationUnit,它将创建一个iTransationUnit,用于缓冲所做的更改,并使用缓冲区而不是文件。如何获取函数startine及其长度,以使用iTransationUnit标记函数?