我想在Java中以编程方式编辑Eclipse InstanceScope首选项的某些值。

我用这个:

Preferences instancePrefsNode = InstanceScope.INSTANCE.getNode("my.pref.node");
instancePrefsNode.put("property1", "1");
instancePrefsNode.put("prefix/property2", "2");


刷新后,我进入文件.metadata \ org.eclipse.core.runtime.settings \ my.pref.node.prefs:

eclipse.preferences.version=1
property1=1
//prefix/property2=2


如您所见,包含斜杠的键已以2个前导斜杠作为前缀。

我无法摆脱属性名称的斜线,因为属性节点是由商业Eclipse插件的编辑器定义的...

任何人都想知道如何抑制这两个斜杠?

谢谢

最佳答案

使用两个首选项节点有效:

  Preferences instancePrefsNode
           = InstanceScope.INSTANCE.getNode("my.pref.node");

  instancePrefsNode.put("property1", "1");

  Preferences instancePrefsNode2
           = InstanceScope.INSTANCE.getNode("my.pref.node/prefix");

  instancePrefsNode2.put("property2", "2");


“ //”用于区分节点中的“ /”和首选项键中的“ /”,因此您要匹配的代码必须使用两个节点,如下所示。

09-27 20:19