Eclipse plugin 为什么在编辑器中选择文本时调用my property tester?
在我正在编写的eclipse插件中,我希望能够根据编辑器中当前选定行的内容,创建一个可见或不可见的弹出菜单 为了实现这一点,我使用了一个属性测试仪。由property tester执行的测试可能有点耗时(约200毫秒),这在等待弹出菜单显示时是正常的 但是我注意到,property tester不仅在弹出窗口即将显示时被调用,而且在编辑器中标记文本时也会被调用,从而使文本选择变得非常缓慢和烦人 所以问题是:为什么在我选择/标记文本时调用它,而不仅仅是在弹出窗口即将显示时调用它,我如何避免这种情况 这是我如何设置property tester和菜单的:Eclipse plugin 为什么在编辑器中选择文本时调用my property tester?,eclipse-plugin,popup,Eclipse Plugin,Popup,在我正在编写的eclipse插件中,我希望能够根据编辑器中当前选定行的内容,创建一个可见或不可见的弹出菜单 为了实现这一点,我使用了一个属性测试仪。由property tester执行的测试可能有点耗时(约200毫秒),这在等待弹出菜单显示时是正常的 但是我注意到,property tester不仅在弹出窗口即将显示时被调用,而且在编辑器中标记文本时也会被调用,从而使文本选择变得非常缓慢和烦人 所以问题是:为什么在我选择/标记文本时调用它,而不仅仅是在弹出窗口即将显示时调用它,我如何避免这种情况
<extension
point="org.eclipse.core.expressions.propertyTesters">
<propertyTester
class="popupmenucontribtest.PropertyTester"
id="PopupMenuContribTest.test1"
namespace="PopupMenuContribTest.propertyTester"
properties="propertyTester1"
type="java.lang.Object">
</propertyTester>
谢谢 您使用定义中的
type
属性,指定为java.lang.Object
的每个实例调用属性测试仪。将此限制为编辑器中更具体的超类。请参阅,其中仅限于资源
也就是说,在我看来,200毫秒的属性测试持续时间是不可接受的,因为用户会注意到这样的延迟
<extension
point="org.eclipse.ui.menus">
<menuContribution
allPopups="false"
locationURI="popup:org.eclipse.ui.popup.any?after=additions">
<command
commandId="PopupMenuContribTest.command"
label="My Popup Option"
style="push">
<visibleWhen
checkEnabled="false">
<and>
<test
forcePluginActivation="true"
property="PopupMenuContribTest.propertyTester.propertyTester1">
</test>
</and>
</visibleWhen>
</command>
</menuContribution>