# ycIDE 开发计划

> 记录待开发功能和任务计划，按优先级排序

---

## 待开发功能

### 高优先级

| 序号 | 功能         | 描述         | 预计工时     | 状态   |
|------|--------------|--------------|--------------|--------|
| 1    | 可视化设计器 | 设计窗口组件 | 最少一个星期 | 已基本完成 |
| 2    | 常量编辑器   | 常量表格编辑 | 一天         | 未开始 |

### 中优先级

| 序号 | 功能     | 描述               | 预计工时 | 状态     |
|------|----------|--------------------|----------|----------|
| 1    | 语法检查 | 提示语法错误与否   | 一个星期 | 进行中 |
| 2    | 编译器   | 编译为目标平台程序 | 一个月   | 未开始 |

### 低优先级

| 序号 | 功能             | 描述                                   | 预计工时 | 状态     |
|------|------------------|----------------------------------------|----------|----------|
| 1    | 多语言支持(i18n) | 实现界面语言切换，支持中文/英文等多语言 | 2-3天    | 未开始 |
| 2    | 丰富支持库       | 完善和扩展更多功能支持库，增加库函数覆盖面 | 持续进行 | 未开始 |

---

## 已知BUG

| 序号 | 问题描述                                 | 复现步骤                                     | 优先级 | 状态     |
|------|------------------------------------------|----------------------------------------------|--------|----------|
| 1    | 部分环境下表格列识别错误导致点击位置错位 | 代码编辑器的局部变量点击数组列变化的是静态列 | 低     | 未修复 |

---

## 功能建议/想法

- 

---

## 已完成功能

| 功能                 | 完成日期   | 备注                           |
|----------------------|------------|--------------------------------|
| 数据类型补全         | 2026-01-15 | YiEditor/DllEditor支持拼音匹配 |
| 数据类型从支持库加载 | 2026-01-15 | FneParser/LibraryParser        |
| 自定义数据类型编辑器 | 2026-01-17 | DataTypeEditor                 |
| 全局变量编辑器       | 2026-01-18 | 多选删除、回车插入、光标统一   |
| 可视化设计器基础功能 | 2026-01-19 | 属性加载、多文档隔离、文件保存 |

---

## 状态说明

- 未开始
- 进行中
- 已完成
- 暂停
- 取消

---

## 版本规划

### V0.1.0 (预计: 2026年2月)
- [x] 基础编辑器框架
- [x] 所有表格编辑器（数据类型、全局变量、DLL命令、常量）
- [ ] 可视化设计器完善
- [ ] 程序集代码编辑器增强

### V0.2.0 (预计: 2026年3月)
- [ ] 语法检查
- [ ] 代码提示优化
- [ ] 编译器集成

---

*最后更新: 2026年1月19日*

已实现的"插入"菜单功能：

菜单项	文件扩展名	文件内容	打开方式
程序集	.eyc	易语言程序集代码模板	YiEditor
DLL命令	.ell	空的DLL命令文件	DllEditor
自定义数据类型	.edt	包含示例数据类型的模板	提示创建成功（编辑器待集成）
全局变量	.egv	全局变量定义文件头	提示创建成功（编辑器待集成）
常量	.ecs	常量定义文件头	提示创建成功（编辑器待集成）
窗口	.efw	JSON格式的窗口设计信息	提示创建成功（可视化设计器待集成）
类模块	.ecm	包含初始化和销毁方法的类模块模板	YiEditor
每个功能的实现流程：

在项目目录中生成唯一的文件名（递增编号避免重名）
创建对应类型的初始内容
将文件写入磁盘
调用 ProjectManager::AddFileToProject() 添加到项目
调用 ExplorerLoadProject() 刷新资源管理器
调用 ExplorerSelectFile() 选中新文件
对于已支持的编辑器类型（YiEditor、DllEditor），自动打开文件进行编辑
文件类型说明：

.eyc - 易语言源代码文件（程序集/类模块）
.ell - DLL命令声明文件
.edt - 自定义数据类型定义文件
.egv - 全局变量定义文件
.ecs - 常量定义文件
.efw - 窗口设计文件（JSON格式）
.ecm - 类模块文件
