ILBC 见 《ILBC 规范》 https://www.cnblogs.com/KSongKing/p/10354824.htm
发起这个项目的原因是, 本来想用 VsCode 来写 InnerC 的, InnerC 是一个 用 C 语言 写 C 语言 编译器 的 项目,
这就需要 用 VsCode 开发一个 C 语言 项目,
结果发现, 用 VsCode 开发 C 项目 还挺麻烦的, 需要自己配置这配置那,
所以, 我想 ILBC 需要开发一款 自己 的 IDE, 暂命名为 “ILBC Studio” 。
ILBC Studio 支持 ILBC 系列语言: InnerC , D# , c3 , EScript 等等 。
从 ILBC Studio 这个名字可以看出来, ILBC Studio 会沿袭 Visual Studio 风格, 比如 解决方案 (.sln), 项目文件 (.xxproj),
以及 解决方案 和 项目 架构,
当然, 内部实现 不一定 一样 。 比如 解决方案 和 项目文件 的 内部格式 不一定 一样, 我们会有 自己的 定义 。
但从 使用风格 和 使用习惯 上, 会是和 Visual Studio 相似的 。
ILBC Studio 基于 C# WinForm , Xilium.CefGlue , jWebForm 。
jWebForm 见 《我发起并创立了一个 Javascript 前端库 开源项目 jWebForm》 https://www.cnblogs.com/KSongKing/p/10326119.html ,
C# WinForm , Xilium.CefGlue , jWebForm 用于 开发 界面, 然后 再 加入 编译器 和 调试器 。
编译器 本身就是 ILBC 项目 的一部分, 也会 逐步开发 。
调试器 也是自己开发, 调试器 原理 初步可以 推断 由 操作系统 提供 专用 的 中断 来 支持 调试进程 。
为什么要用 .Net / C# WinForm 和 Cef (Chrome) + Js 来 开发界面 ?
.Net / C# 很好的 解决了 平台兼容性 问题, 如果用 C++ , 很可能在 Win 8 上能用, 在 Win 10 上有问题, 总之各种 奇奇怪怪 的 本地问题 。
比如 开发 的 时候 就可以看到, C++ 的 各种 奇奇怪怪 的 兼容包, 本地库 。 呵呵
而且 .Net / C# 简单 。
至于 Cef (Chrome) + js , 主要是 一方面 VsCode 就是用 Electron (Chrome + js) 开发的,
另一方面, 不知怎的, 用 js 开发 界面 感觉 很灵活 。
我以前也说过, 现在是 用 Js 可以写 Office 的 时代 。
而 浏览器(Chrome) 解决了 排版问题, 这是一个 基础问题, 是一个 大问题 。(“排版” 一词 由 网友 提供)
所以, 在 浏览器 上 开发 编辑界面 应该 是 有利 的 。
jWebForm 会 提供一个 EditArea 控件 来 实现 一个 编辑区域 功能, 可以编辑 文本 、 图片 等等 。
可以形象的把 EditArea 控件 称为 “小 Word” 。