 SharpDevelop  是一个用于制作C#或者VB.NET的项目而设计的一个编辑器,同时,这个编辑器本身就是使用C#开发的,而且公开了全部源代码,因此这个工具本身也是学习C#以及软件开发规范的一个很好材料。
  SharpDevelop  是一个用于制作C#或者VB.NET的项目而设计的一个编辑器,同时,这个编辑器本身就是使用C#开发的,而且公开了全部源代码,因此这个工具本身也是学习C#以及软件开发规范的一个很好材料。
SharpDevelop 这个轻型的开发工具支持多种程序语言,包括C#、java以及VB.NET,同时还支持多种语言界面,除了基于XML的文档提示工具,SharpDevelop 5还包含了诸如用光标插入、上下文动作、代码审查、增强的滚动条、后台语法检查、链接模式、抑制问题、自动命名变量等新功能。此外,开发人员将能够使用 Ctrl+F7组合键监视表达式以及从剪贴板环粘贴内容。

SharpDevelop插件:
SharpDevelop的插件系统更加强大,它的整个系统的基础就仅仅是一个插件管理系统,而你看到的所有的界面、功能统统都是以插件的形式挂入的。在这样的一个插件系统下,我们可以不修改基本系统,仅仅使用插件就构造出各种各样不同的系统。
1、AddInTree 插件树
SharpDevelop 中的插件被组织成一棵插件树结构,树的结构是通过 Extension(扩展点)中定义的Path(路径)来定义的,类似一个文件系统的目录结构。系统中的每一个插件都在配置文件中指定了 Extension,通过Extension中指定的 Path 挂到这棵插件树上。在系统中可以通过 AddTreeSingleton对象来访问各个插件,以实现插件之间的互动。
2、 AddIn 插件
在 SharpDevelop 的概念中,插件是包含多个功能模块的集合(而不是我过去认为的一个功能模块)。在文件的表现形式上是一个addin配置文件,在系统中对应 AddIn 类。
3、Extension 扩展点
SharpDevelop中的每一个插件都会被挂到 AddInTree(插件树) 中,而具体挂接到这个插件树的哪个位置,则是由插件的 Extension 对象中的 Path 指定的。在addin 配置文件中,对应于 。例如下面这个功能模块的配置
lt;Extension path = "/SharpDevelop/Workbench/Ambiences">
指定了扩展点路径为 /SharpDevelop/Workbench/Ambiences ,也就是在插件树中的位置。
4、Codon
这个是一个比较不好理解的东西,在 SharpDevelop 的三个作者写的书的中译版中被翻译为密码子,真是个糟糕的翻译,可以跟Handle(句柄)有一拼了。词典中还有一个翻译叫“基码”,我觉得这个也不算好,不过还稍微有那么一点意思。5、Command 命令
正如前文所述,Codon描述了一个功能模块,而每个功能模块都是一个 ICommand 的实现。最基本的 Command 是 AbstractCommand,根据Codon的不同对应了不同的 Command。例如 MenuItemCodon 对应 MenuItemCommand 等等。
6、Service 服务
插件系统中,有一些功能是整个系统都要使用的,例如文件访问、资源、消息等等。这些功能都作为插件系统的一个基本功能为整个系统提供服务,我们就叫“服务”好了。为了便于访问,这些服务都统一通过 ServiceManager 来管理。其实服务也是一种类型的插件,它们的扩展点路径在目录树中的 /Workspace/Services 中。
理解了这几个基本的概念之后,就可以看看 SharpDevelop 的代码了。从 src/main/startup.cs 看起吧,之后是addin.cs、addinTree.cs 等等。
 
         JetBrains PhpStorm  最新版 v2020.2.1
                                        JetBrains PhpStorm  最新版 v2020.2.1
                                     PyCharm  专业版 v2023.1.1
                                        PyCharm  专业版 v2023.1.1
                                     Rider 2019  最新版
                                        Rider 2019  最新版
                                     UltraEdit  官方版 v29.00
                                        UltraEdit  官方版 v29.00
                                     phpstorm 2019  官方版
                                        phpstorm 2019  官方版
                                     IDM UEStudio  中文版  v19.20.0.38
                                        IDM UEStudio  中文版  v19.20.0.38
                                     
     
                                         
                                         
                                         
                                         
                                         
                                         
                                         
                                         
                                         
                                         
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                 
                                 
                                 
                                 
                                 
                                 
                                