我试图制作一个eclipse插件,但我遇到了一些困难。
首先,我创建了两个扩展点:
<extension point="org.eclipse.ui.propertyPages">
<page
id="com.coffee.projectPage"
name="Coffee Java Properties"
class="com.coffee.cona.properties.CoffeePropertyPage">
<enabledWhen>
<resolve variable="MYCOFFEE" args="">
<equals value="cona"/>
</resolve>
</enabledWhen>
</page>
</extension>
<extension point="org.eclipse.core.variables.dynamicVariables">
<variable
name="MYCOFFEE"
resolver="com.coffee.properties.CoffeeTimeResolver"
description="Coffee time"
supportsArgument="true">
</variable>
</extension>
在我的com.coffee.properties.CoffeeTimeResolver中写道:
...
public class CoffeeTimeResolver implements IDynamicVariableResolver {
public String resolveValue(IDynamicVariable variable, String argument){
return "cona";
...
...
但它不起作用!在Eclipse控制台中,我看到了以下消息:
!MESSAGE The variable MYCOFFEE is not defined
我哪里错了?
我只需要在包含扩展Applet的类的* .java文件中显示属性页,我的意思是:
class Xxx extends Applet
但我真的不知道如何使用测试元素
来达到它非常感谢提前!
答案 0 :(得分:0)
Eclipse有很多东西称为变量。 org.eclipse.core.variables.dynamicVariables
定义了一个动态字符串替换变量,这不是resolve
元素所需的变量类型。
据我所知,目前无法定义IVariableResolver
所需的resolve
(但Eclipse代码非常大,所以我可能错过了一些东西)。
您可以使用test
元素,并使用绝对正常的org.eclipse.core.expressions.propertyTesters
扩展点。