天工IDE是面向“道语言(Dao Language)”的桌面开发工具原型,提供从工程管理到编辑、构建、运行的闭环体验,降低写道语言项目的门槛。
项目包含:工程管理(打开项目目录、项目树展示、监听目录变更、新建/重命名/删除文件与目录、在项目根目录一键生成类模板与入口模板);编辑器能力(Monaco 编辑器接入、道语言语法高亮、基于编译器 meta 动态注册关键字/类型/保留字、撤销重做/剪切复制粘贴/查找替换、自动保存开关、全项目查找与替换);构建与运行(调用 tgc build/run/native,推导 .dao/.exe 产物路径,提供编译/运行双控制台输出,运行过程支持输入与停止;支持对 .dao 产物执行 tgc dump 以文本方式查看结构化内容)。整体流程为:打开项目→编辑源码→一键编译生成 .dao→运行或打包生成 .exe→在控制台查看输出并进行交互。
项目采用 Electron + React + Monaco + TypeScript + Vite 技术栈实现:Electron 主进程负责窗口创建、IPC 通道、文件系统读写与目录监听、调用 tgc 子进程执行 meta/build/run/native/dump,并将运行时 stdout/stderr 实时回传到渲染进程,同时支持向运行进程写入 stdin 与停止运行;preload 通过 contextBridge 暴露统一的 window.daoApi,隔离渲染层与 Node 能力。渲染进程以 React 组织主布局(标签页/控制台/菜单)、项目树、设置面板与编辑器区域;Monaco 注册道语言语法高亮,并消费 tgc meta 输出动态生成关键字与类型集合,提升一致性;构建产物默认写入项目根目录 .道工程/构建,避免污染源码目录。实现难点主要在:跨进程 IPC 设计与类型约束、子进程生命周期管理(并发运行/停止/日志流转/输入转发)、项目树刷新与目录监听的稳定性、以及 meta 缓存与编辑器高亮的动态更新一致性。