2
我能夠通過使用PropertyTester:如何確定右鍵單擊項目類型?
<instanceof value="org.eclipse.core.resources.IProject"/>
<test property="org.eclipse.core.resources.projectNature"
value="org.eclipse.wst.jsdt.core.jsNature"/>
我
的彈出菜單命令來檢查項目類型我想爲e.g,然後相應地顯示我的菜單項。但是,有一些複雜的條件需要檢查,因此我被要求使用Property Tester。下面是plugin.xml中提取:
<with variable="selection">
<test forcePluginActivation="true"
property="testWizard.propertyTester.checkFolder"/>
<extension
point="org.eclipse.core.expressions.propertyTesters">
<propertyTester
class="testwizard.wizards.MyPropTester"
id="MyPropTester"
namespace="testWizard.propertyTester"
properties="checkFolder"
type="org.eclipse.core.resources.IProject">
</propertyTester>
</extension>
...和PropertyTester java代碼:
package testwizard.wizards;
import org.eclipse.core.internal.propertytester.ResourcePropertyTester;
import org.eclipse.core.resources.IResource;
@SuppressWarnings("restriction")
public class MyPropTester extends ResourcePropertyTester {
@Override
public boolean test(Object receiver, String property, Object[] args,
Object expectedValue) {
IResource res = (IResource) receiver;
if(res instanceof IProject)
{
return true;
}
return false;
}
}
我非常新的使用性能測試儀,我會很感激,如果有人可以指導我的錯誤在哪裏。
如果您希望您的問題更具可讀性,請閱讀http://stackoverflow.com/editing-help。目前,您已將所有內容放入一個「代碼」塊中。 –
感謝您的鏈接... – Abbas
找到解決方案:您需要定義一個屬性測試器,如前所述,並使用 <測試屬性=「org.eclipse.core.resources.projectNature」value =「org.eclipse.wst。 jsdt.core.jsNature「/>,此處的值充當Property Tester類的測試方法中的期望值,然後使用IProject項目=(IProject)接收器; if(project.hasNature(expectedValue.toString()))返回true; – Abbas