Eclipse3.4(WTP3.0)でのJSPエディタの補完方法がわかんない。。。
以前書いたショートカットキーが効かない問題はクリーンビルドしたらなんかうまくいきました。
以下のようなメッセージが出てうまくインストールできない問題は、artifacts.xmlとcontent.xmlを消してBuild Siteしたらうまくいきました。
An error occurred during provisioning.
Error reading signed content.
The file "C:\eclipse-jee-ganymede-win32\eclipse\plugins\org.seasar.sastrutsplugin_0.0.9.jar" does not exist
で、Eclipse3.4(WTP3.0)でのJSPエディタの補完方法ですが、わかりません。。。
Eclipse3.3(WTP2.0)なら以下でうまくいきます。
<extension point="org.eclipse.wst.sse.ui.editorConfiguration"> <sourceViewerConfiguration class="org.seasar.sastrutsplugin.ui.editor.configuration.JSPConfiguration" target="org.eclipse.jst.jsp.core.jspsource.source"> </sourceViewerConfiguration> </extension>
調べていたらorg.eclipse.wst.sse.ui.internal.ExtendedConfigurationBuilder#getConfigurationでは、
getConfigurationsでかえってきたListの最初の要素を返している。targetIDがorg.eclipse.jst.jsp.core.jspsource.source。
このメソッド自体はorg.eclipse.wst.sse.ui.internal.StructuredTextEditor.createSourceViewerConfiguration()から呼ばれる。
拡張ポイントを調べていってclass属性にかかれたクラスのインスタンス化をおこなっている。
/** * Returns a configuration for the given extensionType matching the * targetID, if one is available. If more than one configuration is * defined, the first one found is returned. * * @param extensionType * @param targetID * @return a configuration object, if one was defined */ public Object getConfiguration(String extensionType, String targetID) { if (targetID == null || targetID.length() == 0) return null; List configurations = getConfigurations(extensionType, targetID); if (configurations.isEmpty()) return null; return configurations.get(0); }
Eclipse3.3ならgetConfigurationsでかえってくるのは自作したコンフィギュレーションクラス1つだけ。
Eclipse3.4の場合、これに加えてorg.eclipse.wst.jsdt.web.support.jsp.JSDTStructuredTextViewerConfigurationJSPも返ってくる。
で最初の要素はJSDTStructuredTextViewerConfigurationJSPになっている。これが原因かな。
org.eclipse.wst.jsdt.web.support.jsp_1.0.0.v200804302218.jar内にあるplugin.xmlでは以下のようになっている。
<extension point="org.eclipse.wst.sse.ui.editorConfiguration"> <sourceViewerConfiguration class="org.eclipse.wst.jsdt.web.support.jsp.JSDTStructuredTextViewerConfigurationJSP" target="org.eclipse.jst.jsp.core.jspsource.source" />
SpringIDE
https://anonsvn.springframework.org/svn/spring-ide/trunk/org.springframework.ide.eclipse.beans.ui.editor/plugin.xml
を見てみると以下のようになっている。これはXMLの場合だけど。
<extension point="org.eclipse.core.runtime.contentTypes"> <content-type id="beansConfig" name="%contentTypeName" base-type="org.eclipse.core.runtime.xml" priority="normal" default-charset="UTF-8"> <describer class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber"> <parameter name="element" value="beans" /> </describer> </content-type> </extension> <extension-point id="namespaces" name="%contributionName" schema="schema/namespaces.exsd" /> <extension point="org.eclipse.wst.sse.ui.editorConfiguration"> <sourceViewerConfiguration class="org.springframework.ide.eclipse.beans.ui.editor.BeansStructuredTextViewerConfiguration" target="org.springframework.ide.eclipse.beans.ui.editor.beansConfig" /> <contentOutlineConfiguration class="org.springframework.ide.eclipse.beans.ui.editor.outline.BeansContentOutlineConfiguration" target="org.springframework.ide.eclipse.beans.ui.editor.beansConfig" /> </extension> <extension point="org.eclipse.wst.sse.core.modelHandler"> <modelHandler id="org.springframework.ide.eclipse.beans.ui.editor.handler.beansConfig" default="false" associatedContentTypeId="org.springframework.ide.eclipse.beans.ui.editor.beansConfig" class="org.springframework.ide.eclipse.beans.ui.editor.BeansModelHandler"> </modelHandler> </extension>
JBoss Tools
http://anonsvn.jboss.org/repos/jbosstools/trunk/as/plugins/org.jboss.ide.eclipse.as.ui.mbeans/plugin.xml
も同じ感じですね。
contentTypesやmodelHandlerも書かなきゃいけないのかな。JSPエディタの補完をやっているサンプルがあればいいのだが。。。