Eclipse插件。解决变量+动态变量 - 不起作用

时间:2015-12-02 14:17:09

标签: java eclipse eclipse-plugin

我试图制作一个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

但我真的不知道如何使用测试元素

来达到它

非常感谢提前!

1 个答案:

答案 0 :(得分:0)

Eclipse有很多东西称为变量。 org.eclipse.core.variables.dynamicVariables定义了一个动态字符串替换变量,这不是resolve元素所需的变量类型。

据我所知,目前无法定义IVariableResolver所需的resolve(但Eclipse代码非常大,所以我可能错过了一些东西)。

您可以使用test元素,并使用绝对正常的org.eclipse.core.expressions.propertyTesters扩展点。