Я создал плагин для пользовательского фреймворка, мне нужно придать ему характер php, чтобы при разработке с использованием этого плагина разработчик мог использовать функции php. В настоящее время я использую пользовательский характер. Но я не знаю, как перейти к природе php. Мой plugin.xml выглядит так.
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
point="org.eclipse.ui.newWizards">
<category
id="rudraxplugin.category.wizards"name="%category.name">
</category>
<wizard
category="rudraxplugin.category.wizards"class="rudraxplugin.wizards.CustomProjectNewWizard"finalPerspective="rudraxplugin.perspective"id="rudraxplugin.wizard.new.custom"name="%wizard.name">
</wizard>
</extension>
<extension
point="org.eclipse.ui.views">
<view
class="org.eclipse.ui.navigator.CommonNavigator"icon="icons/sample.gif"id="rudraxplugin.navigator"name="%view.name">
</view>
</extension>
<extension
point="org.eclipse.ui.navigator.viewer">
<viewerActionBinding
viewerId="rudraxplugin.navigator">
<includes>
<actionExtension
pattern="org.eclipse.ui.navigator.resources.*">
</actionExtension>
</includes>
</viewerActionBinding>
<viewerContentBinding
viewerId="rudraxplugin.navigator">
<includes>
<contentExtension
pattern="org.eclipse.ui.navigator.resourceContent">
</contentExtension>
<contentExtension
pattern="org.eclipse.ui.navigator.resources.filters.*">
</contentExtension>
<contentExtension
pattern="org.eclipse.ui.navigator.resources.linkHelper">
</contentExtension>
<contentExtension
pattern="org.eclipse.ui.navigator.resources.workingSets">
</contentExtension>
</includes>
</viewerContentBinding>
</extension>
<extension
point="org.eclipse.ui.perspectives">
<perspective
class="rudraxplugin.perspectives.Perspective"id="rudraxplugin.perspective"name="%perspective.name">
</perspective>
</extension>
<extension
point="org.eclipse.ui.perspectiveExtensions">
<perspectiveExtension
targetID="rudraxplugin.perspective">
<view
id="rudraxplugin.navigator"minimized="false"ratio="0.25"relationship="left"relative="org.eclipse.ui.editorss">
</view>
</perspectiveExtension>
</extension>
<extension
id="rudraxplugin.projectNature"point="org.eclipse.core.resources.natures">
<runtime>
<run
class="rudraxplugin.natures.ProjectNature">
</run>
</runtime>
</extension>
</plugin>
Также я использовал этот учебник, чтобы пройти процесс разработки.
https://cvalcarcel.wordpress.com/2009/07/08/
Любая помощь будет оценена.
Используйте следующий код для добавления природы в проект:
IProject project = .... get the project you want to modify
IProjectDescription description = project.getDescription();
String [] natures = description.getNatureIds();
String [] newNatures = new String[natures.length + 1];
System.arraycopy(natures, 0, newNatures, 0, natures.length);
newNatures[natures.length] = "org.eclipse.php.core.PHPNature";
description.setNatureIds(newNatures);
project.setDescription(description, null);
Других решений пока нет …