我想从Eclipse插件中识别当前所选项目的类型(java/c/...); 如果可能的话还有一些其他信息(使用过的库和什么不是),基本上是项目周围的所有信息.
我一直在谷歌和这里搜索几个小时,但无济于事.我是否可以访问我想要的信息而无需选择一些虚假的扩展点(列出的那些似乎都不适合我想做的事情)?我的意思是,我现在不想向Eclipse添加任何内容,我只想将这些内容打印到控制台中.(开始小和东西)
对不起,长期咆哮,但我不知道如何更好地表达我的问题.
很多这些信息都存储在.project项目文件夹的文件中.访问信息的正确方法是通过IProject项目的对象.
该IProject.getDescription方法返回IProjectDescription包含有关项目的信息.
要确定项目类型,需要查看natures项目描述中定义的项目类型.该IProjectDescription.getNatureIds()方法返回自然id的数组.Java项目将拥有org.eclipse.jdt.core.javanature和插件将具有org.eclipse.pde.PluginNature(并且Java插件将具有这两种性质).
找到了IProject.如果您在Package或Project Explorer中有选择,请尝试:
IResource resource = (IResource)Platform.getAdapterManager().getAdapter(obj, IResource.class);
Run Code Online (Sandbox Code Playgroud)
要么
IFile file = (IFile)Platform.getAdapterManager().getAdapter(obj, IFile.class);
Run Code Online (Sandbox Code Playgroud)
getProject()这些接口的方法为您提供了IProject.您也可以这样做:
IProject project = (IProject)Platform.getAdapterManager().getAdapter(obj, IProject.class);
Run Code Online (Sandbox Code Playgroud)
Platform在上面是org.eclipse.core.runtime.Platform(PlatformEclipse中还有其他类,所以一定要得到正确的类).
如果您只有一个项目名称,那么使用:
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(name);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5103 次 |
| 最近记录: |