我想在我的程序中创建一个支持插件。 例如,在我的程序中,一个选项卡中有几个选项卡是编辑器,其中代码也写在该选项卡中,其中有一个按钮运行。 按下按钮后,会发生源代码编译及其执行。 工作结果显示在另一个选项卡中。 我想找到这样一个组件: 语法高亮显示,调试器,解决方案资源管理器的模拟
非常感谢您的回答。 我想更清楚地提出我的问题。 我想做类似于下面屏幕截图中显示的内容
在单个选项卡上有编辑器,在另一个选项卡上显示结果。 要编写插件,我想使用C#。
答案 0 :(得分:0)
我想最好的起点是AvalonDock from CodePlex,特别是你要做的是选项卡式用户界面。
请记住,即使使用TabbedWindows框架,构建/调试和语法突出显示也不是免费的,您必须自己找到图标并设计UI。
对于代码着色,还有许多组件,也是免费的,如Scintilla .NET
答案 1 :(得分:0)
您显然明白Visual Studio是一个非常复杂的应用程序,因此重写部分内容将很困难。有一些组件可以帮助您,例如ICSharpCode文本编辑器。事实上,整个项目可能非常有价值。
但是,在考虑插件并实际编写代码时,我会亲自走MEF路线。实际上,这是VS.NET 2010用于扩展的框架。为您的用户/开发人员提供一组代码库(如SDK),并让他们使用Visual Studio Express版本编写正确的代码:)
答案 2 :(得分:0)
作为源代码编辑器,您可以使用AvalonEdit(这很棒,在某些方面甚至比VS代码编辑器更好),解决方案资源管理器相当容易创建和调试器太过语言特定而不是可重用的组件(您没有指定您正在开发的语言!)。
整个事情可以打包到AvalonDock,所以你得到了可拖动和可停靠的面板 - 它甚至有VS 2010般的皮肤(再次 - 即使只有非常基本的WPF知识也很容易实现)
或者您可以使用Visual Studio Isolated Shell - 它允许您在程序中使用Visual Studio界面(最终用户不必安装VS!),但它需要广泛的VS API知识(如果你曾经开发过VS扩展,你知道我在说什么)。例如,Civilization V在它的modding环境中使用了这种方法,但结果却像使用自定义闪屏一样剥离了VS,而不是专业产品。有很多按钮和配置。不起作用的选项,这些程序可以预期的一些功能(以及在自定义应用程序中很容易做到)没有进入,因为将它们植入VSIS等几乎是不可能的......
编辑:您最终也可能对this感兴趣。