SharpDevelop:开发插件

本文关键字:插件 开发 SharpDevelop | 更新日期: 2023-09-27 18:15:54

我想实现一个小功能(获得WPF控件的默认StyleControlTemplate),这是在SharpDevelop vs. Visual Studio中缺失的。我面临的问题是,我不理解什么被认为是WpfDesign的公共API表面。我想扩展的设计器插件。

是否有一个既定的机制来声明其他插件可以以什么方式扩展它们(在SharpDevelop架构中明确允许插件扩展其他插件)?

SharpDevelop:开发插件

公共API界面是WpfDesign中的所有公共类型。设计组件。您可以直接引用它们,并在插件的.addin文件中指定,以便在加载插件之前加载设计器插件。

<Manifest>
    <Identity name="YourAddInId"/>
    <Dependency addin="ICSharpCode.AvalonEdit" requirePreload="true"/>
</Manifest>

使用公共类型是扩展现有插件的最简单方法。您引用了设计器程序集,但没有将它们本地复制到外接程序的输出目录。

还有其他方法可以使用插件系统中的扩展路径扩展SharpDevelop。这允许您拥有不相互依赖的添加项。据我所知,WPFDesigner插件没有定义任何扩展点/路径,所以我只是直接引用设计器程序集并使用它们。

另一种可以考虑的方法是直接将更改添加到SharpDevelop源代码中,并提交一个pull请求,这样它们就可以直接包含在SharpDevelop中。然而,一个插件可能是有用的,作为一个概念的证明。