gpt4 book ai didi

java - Eclipse 插件 - 如何在命令处理程序的构造函数中注入(inject) IWorkbenchWindow

转载 作者:行者123 更新时间:2023-11-30 02:50:52 26 4
gpt4 key购买 nike

我想测试 Eclipse 插件的命令处理程序类。这就是为什么我想在此处理程序类的构造函数中注入(inject) IWorkbenchWindow 的实例,因为

PlatformUI.getWorkbench().getActiveWorkbenchWindow()

让我对 PlatformUI 产生依赖。

但是我尝试这样做

@Inject
public FindAndReplaceHandler(IWorkbenchWindow workbenchWindow) {
this.fWorkbenchWindow = workbenchWindow;

然后框架抛出 NoSuchMethodException ,提示 FindAndReplaceHandler 类没有无参构造函数。

我的类 FindAndReplaceHandler 扩展了 AbstractHandler 并覆盖了

void execute(ExecutionEvent event)

(所以我不使用带有注释 @Execute 和 @CanExecute 的现代方式)

我的Eclipse版本是:版本:Mars.2 (4.5.2)。我使用设置 Eclipse version =“3.5 或更高版本”创建了 Eclipse 插件项目。但是,也许我需要安装 e4 工具并使用它们?如何安装它们?

任何如何解决这个问题的想法都值得赞赏。

最佳答案

@Inject 样式的命令处理程序仅在编写纯 e4 样式插件时使用(并且这些插件不使用 IWorkbenchWindowPlatformUI)。

如果您想使用 IWorkbenchWindow,您正在编写一个 3.x 兼容模式插件,并且无法对命令处理程序(以及大多数其他内容)使用注入(inject)。您必须为命令处理程序提供无参数构造函数。

关于java - Eclipse 插件 - 如何在命令处理程序的构造函数中注入(inject) IWorkbenchWindow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38686710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com