你的项目中的领域特定语言是否需要自己的IDE?Visual Studio Shell是选择之一,但是过于庞大不易部署,而且很难使用。Tim Jones的Gemini框架是一个轻量级替代方案。
Gemini基于一组松散耦合的模块,开发者可以根据需求的变化来替换这些模块。开发者可以直接使用下面这些标准组件:
Shell
MainMenu(主菜单)
StatusBar(状态栏)
ToolBars(工具栏)
Toolbox(工具箱)
UndoRedo(撤销/恢复)
这些组件依赖于AvalonDock、Caliburn Micro和MEF。
还有一些可选的模块,而且每个模块都有自己的NuGet包:
CodeCompiler(代码编译器):用于和C#代码一起工作,它依赖于Roslyn编译器。
CodeEditor(代码编辑器):面向C#源代码,它基于AvalonEdit。
ErrorList(错误列表):通用的错误列表。
GraphEditor(图形编辑器):通用的图形/节点编辑界面。
Inspector(检查器):类似于属性网格,但是“允许每个编辑器定制自己的视图”。
Inspector.Xna:Inspector views for 用于Xna数据类型的检查器视图。
Output(输出):通用输出窗口。
PropertyGrid(属性网格):标准的属性网格布局。
Xna:用于处理XNA内容的工具。
Gemini基于Apache 2许可证发布,源代码可以从GitHub上获取。Tim Jones目前已将其应用到了自己的3款工具中:
Meshellator:面向.NET 4.0的3D资源导入库,支持Autodesk 3DS和Lightwave OBJ等格式。
Rasterizr
SlimShader:一款Direct3D着色程序字节码解析器,有.NET版本和C++版本。
本文来自云栖社区合作伙伴“doNET跨平台”,了解相关信息可以关注“opendotnet”微信公众号