写点什么

使用 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:512944
用户头像
臧秀涛 略懂技术的运营同学。

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

关注

评论

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

浅析分布式系统之体系结构-事务与隔离级别(多对象、多操作)下篇

snlfsnef

这篇SpringCloud GateWay 详解,你用的到

牧小农

SpringCloud Gateway

谈谈远程工作 | 社区征文

大菠萝

初夏征文

Java—并发容器

武师叔

6月月更

Vue-6-计算属性

Python研究所

6月月更

InfoQ 极客传媒 15 周年庆征文|Webpack 性能优化措施汇总

No Silver Bullet

性能优化 前端 webpack 6月月更 InfoQ极客传媒15周年庆

Es6新特性——箭头函数

大熊G

JavaScript 前端 6月月更

【高并发】关于线程池,蚂蚁金服面试官问了我这些内容!!

冰河

并发编程 多线程 高并发 异步编程 6月月更

数据结构进阶(一)稀疏矩阵

No Silver Bullet

稀疏矩阵 6月月更

Fabric.js 动态设置字号大小 🎄

德育处主任

canvas 前端可视化 FabricJS Fabric.js 6月月更

【LeetCode】 极大极小游戏Java题解

Albert

LeetCode 6月月更

485天,远程办公的 21 条心得分享|社区征文

悟空聊架构

远程办公 悟空聊架构 热门活动 初夏征文 社区征文

tornado环境搭建及基本框架搭建——熟悉的hello world

孤寒者

Python tornado 6月月更 hello world

5分钟了解攻防演练中的红蓝紫

穿过生命散发芬芳

6月月更 攻防演练

WWDC22 开发者需要关注的重点内容

37手游iOS技术运营团队

iOS16 WWDC22 Xcode14 iPadOS16 macOS10.16

spring的BeanFactory和ApplicationContext

程序员欣宸

Java spring 6月月更

【sql语句基础】——删(delete) /改(update)

写代码两年半

数据库 sql :MySQL 数据库 6月月更

你还不懂线程池的设计及原理吗?掰开揉碎了教你设计线程池

C++后台开发

线程 线程池 后端开发 Linux服务器开发 C++后台开发

Linux开发_ Linux命令复习与文件目录复习

DS小龙哥

6月月更

详解Java中的值传递

工程师日月

6月月更

浅谈居家办公后的感想| 社区征文

雪雷

居家办公 初夏征文

InfoQ 极客传媒 15 周年庆征文|Dubbo入门实战:Spring + Zookeeper + Dubbo

No Silver Bullet

zookeeper 架构 dubbo 6月月更 InfoQ极客传媒15周年庆

SDN系统方法 | 5. 交换机操作系统

俞凡

架构 网络 sdn SDN系统方法

safePoint讲解及其安插思路分析

北洋

6月月更

开源项目那么多,这次带你了解个版本的区别,明白alpha版、beta版、rc版是什么意思

迷彩

开源 记录 6月月更

测试基础之:黑盒测试

甜甜的白桃

测试用例 黑盒测试 6月月更

C#入门系列(十一) -- 多维数组

陈言必行

C# 6月月更

Django 介绍与安装

海拥(haiyong.site)

django 6月月更

网络流媒体协议的联系与区别(RTP RTCP RTSP RTMP HLS)

赖猫

音视频 流媒体

有哪些ABAP关键字和语法,到了ABAP云环境上就没办法用了?

汪子熙

云原生 SAP abap Netweaver 6月月更

利用 VSCode 的代码模板提高 MobX 的编码效率

岛上码农

flutter ios 前端 安卓开发 6月月更

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