Eclipse 如何在现有网页编辑器调色板中提供自定义组件

Eclipse 如何在现有网页编辑器调色板中提供自定义组件,eclipse,eclipse-plugin,Eclipse,Eclipse Plugin,我想在网页编辑器调色板中添加一个名为“myHTMLComponent”的新自定义组件。 所以,一旦用户用WPE打开任何html页面,MyHtmlComponent就会出现在那里。 我该如何做所需的工作,而且这个组件还需要相应地生成代码更改。如何达到预期的效果 我能从中得到什么信息吗。 我已经创建了standardmetadata标记,但是接下来呢 最后,我找到了问题的解决办法 要在调色板中添加新类别,我们需要在plugin.xml中使用pagedesignerextension,如下所示- &l

我想在网页编辑器调色板中添加一个名为“myHTMLComponent”的新自定义组件。 所以,一旦用户用WPE打开任何html页面,MyHtmlComponent就会出现在那里。 我该如何做所需的工作,而且这个组件还需要相应地生成代码更改。如何达到预期的效果

我能从中得到什么信息吗。
我已经创建了standardmetadata标记,但是接下来呢

最后,我找到了问题的解决办法

要在调色板中添加新类别,我们需要在plugin.xml中使用pagedesignerextension,如下所示-

<extension
point="org.eclipse.jst.pagedesigner.pageDesignerExtension">
<paletteFactory
class="com.comp.myeditor.palette.CustomEditorPaletteFactory">
</paletteFactory>
</extension>
这将在调色板中创建组件类别,我们可以使用ComponentDrawer根据需要添加任意多的组件

用于在现有类别中添加新类别- 将其添加到构造函数中-

super();
        this._paletteContext = PaletteItemManager.createPaletteContext(file);
        this._manager = PaletteItemManager.getInstance(_paletteContext);
然后像这样使用调色板分组-

PaletteGroup controls = new PaletteGroup("CUST HTML");
        super.add(controls);

        ToolEntry tool = new SelectionToolEntry("CUST Cursor",
                "Cursor DESCRIPTION");

        controls.add(tool);
        setDefaultEntry(tool);
//Custom Marquee
        controls.add(new MarqueeToolEntry("Marquee", "Marquee Desc"));

        controls.add(new PaletteSeparator());
//This class maintins or load all categories features
        controls.add(new CustomComponentToolEntry("Custom Component", "Custom Component Descrition", 

这真的是一个好的开始,但我找不到任何教程或书,更深入地在这个问题上。例如,我不想替换默认调色板,但这段代码使用了“new paleteroot()”,我丢失了HTML标记。此外,我希望我的新自定义组件使用拖放功能表现为HTML标记,但我不知道如何操作

更多信息: 我发现这段代码非常有用,而文件来自((FileEditorInput)editorInput.getFile()


这是一个非常有趣的话题,我认为我们是记录eclipse这一特性的先驱。这里还有另一个优点,我想个性化标签。。。e、 g.类似的,我想实现的是添加一个像“MY TRUEFALSE tag”这样的标记,然后当被选中并将其放置在HTML设计器中时,我想变成像
YESNO
这样的东西,我想我可以通过使用tagTransformOperation扩展来实现它。。。如果你知道如何实施,请让我知道。还有其他扩展(tagConverterFactory、elValueResolver)。我在这里猜!求你了,我需要你的帮助

<extension point="org.eclipse.jst.pagedesigner.pageDesignerExtension">
   <paletteFactory ...>
   <tagTransformOperation id="plugin.tagTransformOperation1XXXXXX">...

...
解决方案??(中文)-使用tagConverterFactory解决

实际上,你需要打一个超级电话,然后现有的组件就会出现在那里。。对于你的澄清,我已经更新了上面的回复。我已经按照本教程下载了示例代码,但是在运行示例项目之后,我无法显示新的自定义类别。还有什么我需要做的吗?
PaletteRoot paletteRoot = DesignerPaletteRootFactory.createPaletteRoot(file);
<extension point="org.eclipse.jst.pagedesigner.pageDesignerExtension">
   <paletteFactory ...>
   <tagTransformOperation id="plugin.tagTransformOperation1XXXXXX">...