使用 Gemini 构建自己的 IDE

  • Jonathan Allen
  • 臧秀涛

2013 年 6 月 26 日

话题:架构

你的项目中的领域特定语言是否需要自己的 IDE?Visual Studio Shell是选择之一,但是过于庞大不易部署,而且很难使用。Tim Jones 的Gemini 框架是一个轻量级替代方案。

Gemini 基于一组松散耦合的模块,开发者可以根据需求的变化来替换这些模块。开发者可以直接使用下面这些标准组件

  • Shell
  • MainMenu(主菜单)
  • StatusBar(状态栏)
  • ToolBars(工具栏)
  • Toolbox(工具箱)
  • UndoRedo(撤销 / 恢复)

这些组件依赖于AvalonDockCaliburn 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++ 版本。

查看英文原文:Build Your Own IDE with Gemini

架构