我创建了一个插件,作为插件功能的一部分,我需要在“问题”中写一些内容。表格或'控制台'。
我试图让它与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。
答案 0 :(得分:1)
“问题”视图显示具有问题类型的IMarker
个对象。
标记对象始终与IResource
对象(或其某个派生接口,如IFile
和IFolder
)相关联。
您可以使用以下内容创建标记:
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
扩展点来定义自己的标记类型,这有助于您将标记与其他插件的标记区分开来。