BT

New Early adopter or innovator? InfoQ has been working on some new features for you. Learn more

Build Your Own IDE with Gemini

| by Jonathan Allen on Jun 26, 2013. Estimated reading time: 1 minute |

Do you need your own IDE for your project’s domain specific language? One option is Visual Studio Shell, but that is often far too massive to deploy and can be difficult to work with. A lightweight alternative is the Gemini framework by Tim Jones.

Gemini is based on a set of loosely coupled modules that you can replace as your needs change. Out of the box you get these standard components:

  • Shell
  • MainMenu
  • StatusBar
  • ToolBars
  • Toolbox
  • UndoRedo

These core components rely on AvalonDock, Caliburn Micro, and MEF.

There are several optional modules, each of which has its own NuGet package:

  • CodeCompiler: For working with C# code. This relies on the Roslyn copmpiler.
  • CodeEditor: For C# source files, this is based on AvalonEdit.
  • ErrorList: Generic error list
  • GraphEditor: A general purpose graph / node editing UI.
  • Inspector: Similar to a property grid, but it “allows each editor to customize its own view”
  • Inspector.Xna: Inspector views for Xna data types.
  • Output: Generic output window
  • PropertyGrid: Standard property grid layout
  • Xna: Tools for working with XNA content.

Gemini is released under the Apache 2 license and the source is available on GitHub and is currently used in three of Tim Jones’ tools.

  • Meshellator: 3D asset import library for .NET 4.0. Supported formats are Autodesk 3DS and Lightwave OBJ.
  • Rasterizr
  • SlimShader: SlimShader is a Direct3D shader bytecode parser for .NET and C++.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and dont miss out on content that matters to you

BT