2

我有一个使用我自己的插件的 Eclipse 产品。我想根据用户输入读取一些属性。我想在某些用户操作上保留这些属性,并在需要时读回这些属性。这可以使用一些 Eclipse API 来实现吗?

对上述问题的更详细描述:

假设我abc=xyz在配置文件中有一个属性myconfig.ini。该属性在引导过程中由透视图读取。在使用透视图期间,某些操作将此属性设置为新值xyz=def。现在,我应该可以将新值保存在myconfig.ini. 所以下次引导发生时, 的值xyz被读取为def而不是abc. 但是,我也可以选择abc通过编辑myconfig.ini文件来手动设置它。

  1. 我将如何管理myconfig.ini?它应该存在于我的 Eclipse 产品项目中的什么位置?
  2. 管理读取、写入和更新属性的最佳 API 是什么myconfig.ini
4

2 回答 2

1

您应该考虑使用 apache 配置 API http://commons.apache.org/proper/commons-configuration/

它可以读写 INI 文件,如果您想更改配置文件类型或添加更多配置选项,您可以简单地配置它。

我会向工作区根目录添加一个隐藏目录,例如${WORKSPACE}/.productName/product.ini ,并添加一个ISaveParticipant,以确保 ini 文件在关机时得到更新。

您可以使用 ResourcesPlugin 获取工作区

  IWorkspace workspace = ResourcesPlugin.getWorkspace();

并将其解析为绝对路径

  IWorkspaceRoot wsRoot = workspace.getRoot();
  IPath wsPath = wsRoot.getRawLocation();
  IPath absoluteWsPath = wsPath.makeAbsolute();
于 2013-07-24T06:27:38.647 回答
1

You can use resource markers mechanism:

IMarker marker = file.createMarker(IMarker.MARKER);
marker.setAttribute(IMarker.MESSAGE, "blabla");
marker.setAttribute("attr", 5);

You can search for markers by using the findMarkers methods on IResource. See FAQ also

于 2013-07-23T12:38:42.527 回答