这是一个专门针对Eclipse平台的插件开发的问题:
我需要实现持久性而不用硬编码我正在使用的数据存储区的名称。我希望能够在我的插件与独立数据存储器同时运行的情况下拥有多个eclipse实例。
执行此操作的一种方法是使用工作空间的文件路径生成/查找与该特定工作空间相关的数据存储的名称。
我已经尝试过org.eclipse.core.resources.ResourcesPlugin.getWorkspace(),但这似乎没有办法获取该字符串。
为了避免任何混淆,我知道-data和-showlocation - 我想在运行时在eclipse插件中访问showlocation的文本。
我正在将eclipse 3.5.2用于我当前的项目。
提前致谢!
答案 0 :(得分:5)
这是来自a few years old now的新闻列表,但您可以尝试:
Platform.getLocation();
答案 1 :(得分:2)
Platform.getLocation();
不是工作区的路径(尝试使用eclipse 4.3开普勒) 像
@Inject @Named(E4Workbench.INSTANCE_LOCATION) private Location instanceLocation;
它将给出配置文件夹的位置,但不给出工作空间位置。 我发现有一件事是:
URL fileURL = FileLocator.find(Platform.getProduct().getDefiningBundle(),new Path(String_file2Locate), null);
(这仅适用于不适用于插件的产品,“String_file2Locate”是您要使用的文件的文件路径,来自工作区文件夹的根目录)
或者也喜欢this。 (但你需要一个带有插件名称的刺痛)
答案 2 :(得分:2)
对于Eclipse 3.X,在导入org.eclipse.core.resources插件后使用ResourcesPlugin.getWorkspace().getRoot().getLocation();
。