x01.TestViewContent: 插件测试

开发神器 SharpDevelop 的插件系统,很有学习的必要。

1.首先在 github 上下载源代码,确保编译运行无误。

2.在 AddIns/Misc 下添加 SharpDevelop 插件项目 x01.TestViewContent,然后添加 ICSharpCode.Core 和 ICSharpCode.SharpDevelop 引用,设置这两个引用的 Local Copy 为 false;在项目属性上选编译输出为  “..\..\..\..\AddIns\AddIns\Misc\TestViewContent\”,可参考其他插件。设置 TestViewContent.addin 的文件属性 Local copy 为 Always。

3.添加类 TestViewContent.cs, 内容如下:

 1 /**
 2  * TestViewContent.cs (c) 2015 by x01
 3  */
 4 using System;
 5 using System.Windows.Forms;
 6 using ICSharpCode.SharpDevelop.Gui;
 7 
 8 namespace x01.TestViewContent
 9 {
10     /// <summary>
11     /// Description of TestViewContent.
12     /// </summary>
13     public class TestViewContent : AbstractViewContent
14     {
15         Control control;        
16         
17         public override Control Control {
18             get {
19                 return control;
20             }
21         }
22         
23         public TestViewContent() : base("Test")
24         {
25             Panel panel = new Panel();
26             panel.Dock = DockStyle.Fill;
27             
28             TextBox textbox = new TextBox();
29             textbox.Text = "Hello world!";
30             textbox.Dock = DockStyle.Fill;
31             textbox.Multiline = true;
32             textbox.Height = 500;
33             
34             panel.Controls.Add(textbox);
35             
36             this.control = panel;
37         }
38     }
39 }
TestViewContent

4.添加类 TestCommand.cs,内容如下:

 1 /**
 2  * TestCommand.cs (c) 2015 by x01
 3  */
 4 using System;
 5 using ICSharpCode.SharpDevelop;
 6 using ICSharpCode.SharpDevelop.Gui;
 7 
 8 namespace x01.TestViewContent
 9 {
10     /// <summary>
11     /// Description of TestCommand.
12     /// </summary>
13     public class TestCommand : AbstractMenuCommand
14     {
15         public override void Run()
16         {
17             WorkbenchSingleton.Workbench.ShowView(new TestViewContent());
18         }
19     }
20 }
TestCommand

5.修改 TestViewContent.addin 后的内容如下:

 1 <AddIn name        = "x01.TestViewContent"
 2        author      = "Administrator"
 3        url         = ""
 4        description = "TODO: Put description here">
 5     
 6     <Runtime>
 7         <Import assembly = "x01.TestViewContent.dll"/>
 8     </Runtime>
 9     
10     <!-- Extend the SharpDevelop AddIn-Tree like this:
11     <Path name = ...>
12         <.../>
13     </Path>
14     -->
15     <Path name="/Workspace/Autostart">
16         <Class id="TestCommand"
17                class="x01.TestViewContent.TestCommand" />
18     </Path>
19 </AddIn>

关键部分是 15-18行。

6.编译生成该插件项目。OK!这时,你会惊奇的发现,不需重新编译整个 Solution,直接进入 bin 目录运行 SharpDevelop.exe 时,该插件已然可用。效果图如下:

posted on 2015-11-12 10:22  x01  阅读(442)  评论(0编辑  收藏  举报

导航