写点什么

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

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

关注

评论

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

一个cpp协程库的前世今生(五)协程执行环境env

SkyFire

c++ cocpp

元宇宙很好,但VR开发者不准备停留在这里

脑极体

腾讯云数据库2021年成绩单,请检阅!

腾讯云数据库

tdsql 国产数据库

Postman 使用教程 - 手把手教你 API 接口测试

蒋川

Postman 接口测试

2022 让我们登上更大的舞台

坚果

28天写作 12月日更 2021年终总结 盘点 2021

向未来飞驰:武汉推开了AI产业化和产业AI化的三重门

脑极体

性能提升40%!阿里云神龙大数据加速引擎获TPCx-BB世界排名第一

阿里云弹性计算

阿里云 神龙

最好的 6 个免费天气 API 接口对比测评

蒋川

API 天气api

『征文精选』ShardingSphere-Proxy:Base 事务基于 Seata 验证

SphereEx

数据库 架构 开源社区 ShardingSphere SphereEx

一个cpp协程库的前世今生(四)协程上下文ctx

SkyFire

c++ cocpp

盘点 2021|一个 SAP 成都研究院开发工程师的2021年度总结:既没有厚积,也未能薄发

汪子熙

程序员 28天写作 12月日更 盘点2021 盘点 2021

瞰见 | 美股新贵Confluent背后的卡夫卡,不是那个魔幻小说家

OpenTEKr

狄安瞰源

当MySQL执行XA事务时遭遇崩溃,且看华为云如何保障数据一致性

华为云开发者联盟

MySQL 华为云

皮皮APP x 武汉市社会心理服务指导中心 联合开展社交讲座

联营汇聚

一个cpp协程库的前世今生(三)cocpp的核心框架结构

SkyFire

c++ cocpp

五天玩转EMAS Serverless训练营

移动研发平台EMAS

阿里云 #Serverless #EMAS

关于内核堆溢出漏洞的分析

网络安全学海

黑客 网络安全 信息安全 安全漏洞 渗透测试·

瞰见|即将上市的云明星 HashiCorp 走过的开源之路

OpenTEKr

开源 狄安瞰源

CentOS 停服,龙蜥社区已上线解决方案专区

OpenAnolis小助手

centos 国产操作系统 龙蜥社区

建木持续集成平台v2.1.1发布

Jianmu

DevOps CI/CD 开源软件

Java 数据持久化系列之 HikariCP (一)

程序员历小冰

持久化 HikariCP 28天写作 12月日更

KubeEdge 王泽锋:只有代码没有生命力,凝聚开发者的社区才能活力无限Vol.8

OpenTEKr

大话开源

seata分布式事务TCC模式介绍及推荐实践

恒生LIGHT云社区

分布式 分布式事务 seata TCC

LabVIEW图像分割算法(基础篇—6)

不脱发的程序猿

机器视觉 图像处理 LabVIEW 图像分割算法

祝大家元旦快乐,分享一些知识演讲

石云升

28天写作 12月日更

如何打造一个云原生背景下的可观测平台?

淡泊明志、宁静致远

61 K8S之日志系统部署

穿过生命散发芬芳

k8s 28天写作 12月日更

如何将List<Integer>转换为int[]数组

liuzhen007

Java 28天写作 12月日更

Hoo虎符研究院 | 币海寻珠最新一期的DAO生态

区块链前沿News

DAO Hoo 虎符交易所 虎符研究院

回顾 2021,拥抱 2022~

阿策小和尚

盘点2021

.NET6新东西--Logging Source Generator

喵叔

28天写作 12月日更

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