写到'问题'桌子或桌面控制台'来自插件

时间:2016-06-21 08:35:25

标签: java eclipse eclipse-plugin

我创建了一个插件,作为插件功能的一部分,我需要在“问题”中写一些内容。表格或'控制台'。

我试图让它与Eclipse在构建时显示错误/警告的方式非常相似。

我有错误代码,错误消息和行号。我已经使用表在SWT应用程序上成功创建了这背后的逻辑。但是,我现在需要创建一个插件。到目前为止,我正在尝试将其展示在问题' Eclipse表。

在绝望的尝试中,我尝试用

写入控制台
System.out.println
System.console().writer().println(),

但它没有用。我也尝试过使用

StatusManager ab;
IStatus status = new Status(Status.ERROR, "HELLO", "HELLO!");
ab.handle(status, 0);

但似乎我需要初始化ab,但我不能用

来做
StatusManager ab = new StatusManager();

我也试过

logger.info("Info!");
logger.severe("Error!");
logger.warning("Warning!");

但它们也不起作用。

Plugin ab;
ab.getLog().log(new Status(Status.INFO,"Hello", "hehe"));

无法正常工作,因为我需要初始化ab,其中

Plugin ab = new Plugin();

我真的需要一点帮助才能把我推向正确的方向。

P.S:我提到的控制台或问题表是真正的Eclipse。

1 个答案:

答案 0 :(得分:1)

“问题”视图显示具有问题类型的IMarker个对象。

标记对象始终与IResource对象(或其某个派生接口,如IFileIFolder)相关联。

您可以使用以下内容创建标记:

IFile file = .... get file to mark 

IMarker marker = file.createMarker(IMarker.PROBLEM);

marker.setAttribute(IMarker.LINE_NUMBER, line number);
marker.setAttribute(IMarker.MESSAGE, "error message");
marker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_ERROR);

您可以使用org.eclipse.core.resources.markers扩展点来定义自己的标记类型,这有助于您将标记与其他插件的标记区分开来。