插件开发,用户数据保存在哪里?

Plugin Development, where to save user data?

我正在为 Eclipse 开发一个插件。当用户第一次运行该应用程序时,会进行校准。这是获取用户数据然后打印到文本文件的地方,以便在再次使用时系统会记住他们的设置。

我想知道在用户系统上存储这些文本文件的最佳位置在哪里?

存储此类数据的常见位置是

AppData\Local\YourPluginName

目录。

您也可以使用

eclipse/plugins/YourPlugin

目录。

您的插件可以在插件的工作区元数据中存储数据'state location'

使用类似于:

Bundle bundle = FrameworkUtil.getBundle(getClass());

IPath stateLoc = Platform.getStateLocation(bundle);

stateLoc 将是一个目录,您的插件可以在其中存储它喜欢的任何内容。该位置通常是工作区中的“.metadata/.plugins/your 插件 ID”。

有不同范围的不同选项:

  • 每次安装:参见 the post,在提到的路径下创建一个唯一的文件夹并将文件存储在那里
  • 每个用户:在用户主目录 (System.getProperty("user.dir")) 下创建一个唯一的文件夹并将文件存储在那里
  • 每个工作区:Plugin::getStateLocation returns 每个工作区的给定插件唯一的路径。将您的文件存储在那里。 Plugin 是由 Activator 或您的插件实现的抽象 class。如果您还没有这样的 class,请通过在清单编辑器中指定 Activator 来创建它。或者,如果您引用了代表您的插件的 Bundle,则可以使用 Platform::getStateLocation()