写点什么

使用 Gemini 构建自己的 IDE

  • 2013-06-26
  • 本文字数:629 字

    阅读完需:约 2 分钟

你的项目中的领域特定语言是否需要自己的 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++ 版本。

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

2013-06-26 08:513181
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 147.2 次阅读, 收获喜欢 35 次。

关注

评论

发布
暂无评论
发现更多内容

JVM进阶(八):Stop The World

No Silver Bullet

JVM STW 2月月更

如何写出格式清晰的代码

蜜糖的代码注释

Java 2月月更

DeepMind公司最新ai技术参加Codeforces击败大部分选手

你?

JavaScript 数组常见操作 (二)

编程三昧

JavaScript 前端 2月月更

视野 | KeyDB:为 Web 应用而生的高性能 Redis 分支

RadonDB

数据库 redis 后端 RadonDB

《也许你该找个人聊聊》读书笔记 - 直面的勇气

懒时小窝

读书笔记 读书感悟

为什么你辛苦肝的博客没人看?搭框架、排版、画图技巧这些你真的懂么?

码哥字节

排版规范 写作技巧 2月月更

暂时不在更新

你?

JVM进阶(十一):JAVA G1收集器

No Silver Bullet

G1 JVM 垃圾收集器 2月月更

JS事件详解和js事件委托

编程江湖

一个老程序员的计算机视觉蹒跚学习之路| 社区征文

老猿Python

AI OpenCV 计算机视觉 图像处理 新春征文

架构实战营 毕业设计项目

红莲疾风

「架构实战营」

JVM进阶(十):年老代收集器

No Silver Bullet

CMS JVM 2月月更 年老代收集器

了解一下DDD领域驱动设计

蜜糖的代码注释

Java DDD 领域模型 2月月更

Java常见数据结构详解

编程江湖

Hadoop运行环境搭建

编程江湖

hadoop

Apache Druid 在 Shopee 的工程实践

Shopee技术团队

数据库 后端 Apache Druid

M3U8 视频封装格式的深度解析 | 社区征文

liuzhen007

音视频 新春征文 2月月更

URL中的空格、加号究竟应该使用何种方式编码

Gopher指北

HTTP url Go 语言

GitLab + Jenkins + ACK 自动化部署方案

百瓶技术

运维 jenkins 自动化部署 #GitLab ACK

让所有工具变成你的锤子 — 邂逅《Every Tool's a Hammer》

蔡超

方法论 学习笔记 软件架构

要重复阅读的一个原因:思维模型驱动学习的过程

panda

思维模型 阅读

创业方法论(10/100)

hackstoic

创业 商业分析

Web Components系列(一) —— 概述

编程三昧

前端 组件化 2月月更

【初探云原生】服务注册中心对比总结

路上的小崔哥

微服务 云原生 注册中心

一人走路不孤独,小度化身百度地图导航NPC,伴你回家路

百度大脑

Netflix是如何做决策的? | 6. 实验是数据科学的主要关注点

俞凡

数据分析 netflix 大厂实践 2月月更

一个cpp协程库的前世今生(二十五)channel

SkyFire

c++ cocpp

Pulsar 在云原生消息引擎领域为何如此流行?| 社区征文

老周聊架构

云原生 Apache Pulsar 新春征文 2月月更

Spring Cloud Alibaba Nacos 服务注册与发现功能实现!

王磊

SpringCloud Alibaba

聚力同行,迈向零碳未来

大咖说

云计算 阿里巴巴 阿里云 数智化

使用Gemini构建自己的IDE_架构_Jonathan Allen_InfoQ精选文章