开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

楼主: chungbin
收起左侧

[易相关软件分享] 易承语言 ycIDE - 每日更新日志

[复制链接]
结帖率:100% (2/2)
发表于 2026-2-5 13:28:29 | 显示全部楼层   四川省成都市
期待楼主新版面试
回复 支持 反对

使用道具 举报

结帖率:92% (12/13)

签到天数: 5 天

 楼主| 发表于 2026-1-28 18:00:55 | 显示全部楼层   泰国

2026年1月28日 - ycIDE开发测试V0.0.0.19

  • 优化可视化设计器和组件箱的状态保存与恢复

    • 优化组件箱和可视化设计器的主题应用不立即刷新问题
    • 修复组件箱的保存状态

2026年1月27日 - ycIDE开发测试V0.0.0.18

  • 改进新建项目向导

    • 支持选择项目模板(空项目、控制台应用、GUI应用)
    • 支持设置项目名称和保存路径
    • 创建项目时自动生成基本目录结构和初始文件
  • 嵌套流程控制功能完善

    • 修复嵌套 .如果()``.如果真() 命令的流程线绘制,现在多层嵌套能正确显示
    • 优化嵌套标记格式:深度1使用 \u200C,深度2使用 \u200C\u200B\u200C,依此类推
    • 修正深度计算逻辑:通过统计 \u200C/\u200D 字符数量确定嵌套层级
    • 修复 BuildNestingMarker() 函数,生成正确格式的嵌套标记
  • Enter键行为修复

    • 修复在嵌套流程控制中按 Enter 键导致结构异常的问题
    • Enter 键和鼠标点击现在产生一致的格式化结果
    • 检测下一行是否已存在,避免重复创建行
  • 嵌套缩进优化

    • 增加嵌套偏移量从 15 像素到 20 像素
    • 嵌套命令和流程线更加清晰地向右缩进
    • 每层嵌套偏移:深度1=20px,深度2=40px,深度3=60px...
  • 代码质量改进

    • 添加调试日志功能 LogFlowLine() 便于问题追踪
    • 优化 IsFlowControlLine() 函数,正确跳过嵌套标记字符
    • 重构 GetNestingDepth() 函数,简化嵌套深度计算逻辑

2026年1月27日 - ycIDE开发测试V0.0.0.17

  • 编译器模块初步实现
    • 新增 Compiler.hCompiler.cpp 文件
    • 实现基础的编译器类 Compiler,包含编译入口函数 Compile() 和错误处理机制
    • 支持将源代码转换为中间表示(IR),为后续生成目标代码做准备
    • 实现简单的语义分析,检查变量声明和类型匹配


PixPin_2026-01-28_16-59-48.gif
回复 支持 1 反对 0

使用道具 举报

结帖率:100% (2/2)

签到天数: 20 天

发表于 2026-1-26 15:18:11 | 显示全部楼层   四川省宜宾市

哎呦,哎呦,这个真厉害啊  大佬
回复 支持 反对

使用道具 举报

结帖率:92% (12/13)

签到天数: 5 天

 楼主| 发表于 2026-1-26 13:37:54 | 显示全部楼层   浙江省杭州市

接下来的更新得到年后去了,2月1号回国然后回家过年,这期间是没有更新的
回复 支持 反对

使用道具 举报

结帖率:92% (12/13)

签到天数: 5 天

 楼主| 发表于 2026-1-26 13:31:00 | 显示全部楼层   浙江省杭州市

2026年1月26日 - ycIDE开发测试V0.0.0.16

面板边框拖动调整宽度功能

  • 支持AI聊天窗口和资源管理器窗口左右交换

  • 优化主题和支持主题文件加载

  • AI聊天面板边框拖动

    • 支持拖动边框调整AI面板宽度
    • 正常模式下拖动左边框,交换模式下拖动右边框
    • 鼠标悬停时显示蓝色高亮提示
    • 边缘5像素区域支持穿透到主窗口进行窗口缩放
  • 资源管理器边框拖动

    • 支持拖动边框调整资源管理器宽度
    • 正常模式下拖动右边框,交换模式下拖动左边框
    • 鼠标悬停时显示蓝色高亮提示和调整光标
  • 性能优化 - 消除拖动闪烁

    • 主窗口添加 WS_CLIPCHILDREN 样式,避免子窗口区域重绘
    • 新增 WM_UPDATE_PANEL_LAYOUT 自定义消息,面板拖动时只更新相关窗口
    • 标签栏添加 WM_ERASEBKGND 处理,阻止背景擦除闪烁
    • 使用 LockWindowUpdateSWP_NOCOPYBITS 避免中间状态显示
    • 添加节流机制(约120fps)和 PostMessage 异步更新
    • 消息队列合并,丢弃重复的布局更新消息
  • 其他改进

    • 修复坐标处理使用 GET_X_LPARAM/GET_Y_LPARAM 替代 LOWORD/HIWORD,解决负坐标溢出问题
    • 移除标签栏"没有打开的文件"提示
    • 面板交换按钮点击后正确刷新AI窗口显示

2026年1月23日 - ycIDE开发测试V0.0.0.15

语法检查功能 - 词法和语法分析器实现(基础框架完成)

  • 词法分析器(Lexer)

    • 新增 Lexer.hLexer.cpp 文件
    • 实现Token类型定义:关键字、数据类型、标识符、字面量、运算符、分隔符等
    • 支持易语言特有语法:中文关键字、中文标识符、特殊运算符(×÷≠等)
    • 实现注释识别(单引号和双斜杠注释)
    • 支持字符串字面量和转义字符
    • 完整的数字识别(整数、小数、科学计数法)
    • 错误Token标记和错误信息提示
    • 动态加载支持:从KeywordManager和LibraryParser获取关键字和命令(不再硬编码)
  • 语法分析器(Parser)

    • 新增 Parser.hParser.cpp 文件
    • 定义AST(抽象语法树)节点类型:程序、声明、语句、表达式等
    • 实现递归下降解析器
    • 支持的语法结构:
    • 变量声明、常量声明
    • 子程序定义
    • 赋值语句、如果语句、循环语句(判断循环、计次循环)
    • 返回语句、跳出循环、继续循环
    • 运算符优先级处理(逻辑运算、比较运算、算术运算)
    • 函数调用、数组访问
    • 语法错误检测和错误恢复机制
    • 提供CheckSyntax接口用于快速语法检查
  • 语法检查器(SyntaxChecker)

    • 新增 SyntaxChecker.hSyntaxChecker.cpp 文件
    • 封装Lexer和Parser,提供简单易用的检查接口
    • 支持设置KeywordManager和LibraryParser作为数据源
    • 提供Check方法进行完整语法检查
    • 提供CheckLine方法进行单行快速检查
    • 支持获取Token列表用于语法高亮
  • 编辑器集成(部分完成)

    • 在YiEditor.h中添加syntaxErrors字段和syntaxCheckEnabled标志
    • 在YiEditor.cpp中添加PerformSyntaxCheck函数
    • 初始化全局SyntaxChecker实例
    • EditorDocument默认启用语法检查
    • 待完成:错误标记绘制、鼠标悬停提示、性能优化(详见语法检查集成说明.txt)
  • 测试程序

    • 新增 test_syntax.cpp 测试程序
    • 包含词法分析器测试、语法分析器测试、语法检查测试
    • 可用于验证和调试语法检查功能
  • 文档

    • 新增 语法检查说明.md 详细说明使用方法
    • 新增 语法检查集成说明.txt 说明待完成的集成工作
  • 版本更新

    • 版本号更新至 V0.0.0.15



PixPin_2026-01-26_12-30-38.png
912F82940FF76C83BC9DC8902CFA49E2.gif
回复 支持 反对

使用道具 举报

发表于 2026-1-24 00:19:56 高大上手机用户 | 显示全部楼层   四川省*
这更新速度牛逼
回复 支持 反对

使用道具 举报

结帖率:92% (12/13)

签到天数: 5 天

 楼主| 发表于 2026-1-19 16:47:00 | 显示全部楼层   泰国
本帖最后由 chungbin 于 2026-1-19 16:50 编辑

2026年1月19日 - ycIDE开发测试V0.0.0.13

可视化设计器多文档状态隔离与保存功能修复

  • 多文档状态独立管理

    • 修复了多个窗口文件(.efw)之间属性互相影响的问题
    • TabBar切换标签时先保存旧标签状态(2002消息),再加载新标签状态(2000消息)
    • 每个标签使用独立的FormInfo对象存储在TabBarData.editorData中
    • 切换标签时正确恢复各自的窗口属性、控件和选择状态
  • 文件保存功能完善

    • 修复了ToJson/FromJson字段名不匹配导致的保存失败问题(统一使用name/title/width/height)
    • 修复了关闭标签弹窗中点击"保存"按钮不能保存VisualDesigner文件的问题
    • 添加了editorType==2的保存分支,正确调用VisualDesigner::SaveFile
    • 修复了保存后资源管理器文件修改标记不清除的问题
    • 在IDM_SAVE和关闭标签保存中添加ExplorerSetFileModified(filePath, false)调用

2026年1月18日 - ycIDE开发测试V0.0.0.12

文件修改状态通知机制优化

  • 即时通知替代定时器轮询
    • 所有TableEditor子类(DataTypeEditor、GlobalVarEditor、DllEditor、ConstantEditor)现在使用 SetModified(true) 代替直接设置 m_modified = true
    • SetModified 方法在状态变化时自动调用 NotifyModified() 向主窗口发送通知
    • VisualDesigner(可视化设计器)也添加了相同的通知机制
    • 移除了DllEditor中重复的手动SendMessage通知代码

TAB键导航功能

  • 表格编辑器TAB键行为修复

    • TAB键现在移动焦点到下一个可编辑单元格,而不是插入制表符
    • Shift+TAB移动到上一个可编辑单元格
    • 自动跳过复选框列(通过 IsCellTextEditable 虚方法判断)
    • 到达行末自动跳到下一行第一个可编辑列
  • 为所有编辑器添加 IsCellTextEditable 实现

    • ConstantEditor:col==3(公开)不可编辑
    • GlobalVarEditor:col==3(公开)不可编辑
    • DataTypeEditor:数据类型行col==1、成员行col==2/3不可编辑
    • DllEditor:命令行col==2、参数行col==2/3不可编辑

标签页关闭逻辑修复

  • 修复关闭标签后编辑器不切换的问题
    • 关闭一个标签后,如果还有其他标签,现在会自动切换到新的活动标签对应的编辑器
    • TabBar::CloseTab 在删除标签后发送 WM_COMMAND(2000) 通知主窗口切换

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 属性加载、多文档隔离、文件保存


1FD12BA8D719983678695657E21EEBC4.png

D8260B634CC7AA46A9E30EB6A2C27D35.png
回复 支持 反对

使用道具 举报

结帖率:92% (12/13)

签到天数: 5 天

 楼主| 发表于 2026-1-18 12:38:28 | 显示全部楼层   泰国

2026年1月18日 - ycIDE开发测试V0.0.0.11

GlobalVarEditor(全局变量编辑器)已基本完善

  • 多选功能优化

    • 点击单元格自动清除多选状态
    • Delete键支持批量删除多选的行(从后往前删除避免索引错乱)
    • 行号区域点击立即选择该行
    • 拖动选择多行支持
  • 回车键插入新行

    • 任意行按回车都能在当前行下方插入新行(修复之前只能在最后一行插入的问题)
    • 编辑模式和非编辑模式下都可使用
    • 支持选中多行时在最后一行后插入
  • Backspace键修复

    • 修复编辑模式下Backspace无法删除文字的问题
  • 变量名自动命名

    • 插入新变量时自动生成不重复的变量名(新变量、新变量1、新变量2...)
    • 新变量默认不公开

编辑器光标统一优化

  • 所有编辑器光标宽度统一为1像素
    • GlobalVarEditor光标从2像素改为1像素
    • TableEditor光标从2像素改为1像素
    • YiEditor(源代码编辑器)光标从2像素改为1像素
    • DataTypeEditor、DllEditor已经是1像素保持不变

开发计划

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


待开发功能

高优先级

序号 功能 描述 预计工时 状态
1 可视化设计器 设计窗口组件 最少一个星期 未开始

中优先级

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

低优先级

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

已知BUG

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

功能建议/想法


已完成功能

功能 完成日期 备注
数据类型补全 2026-01-15 YiEditor/DllEditor支持拼音匹配
数据类型从支持库加载 2026-01-15 FneParser/LibraryParser
exe版本信息 2026-01-15 VERSIONINFO资源
自定义数据类型编辑器 2026-01-17
全局变量编辑器 2026-01-18 多选删除、回车插入、光标统一


回复 支持 反对

使用道具 举报

结帖率:92% (12/13)

签到天数: 5 天

 楼主| 发表于 2026-1-18 12:28:26 | 显示全部楼层   泰国

2026年1月18日 - ycIDE开发测试V0.0.0.11

GlobalVarEditor(全局变量编辑器)已基本完善

  • 多选功能优化

    • 点击单元格自动清除多选状态
    • Delete键支持批量删除多选的行(从后往前删除避免索引错乱)
    • 行号区域点击立即选择该行
    • 拖动选择多行支持
  • 回车键插入新行

    • 任意行按回车都能在当前行下方插入新行(修复之前只能在最后一行插入的问题)
    • 编辑模式和非编辑模式下都可使用
    • 支持选中多行时在最后一行后插入
  • Backspace键修复

    • 修复编辑模式下Backspace无法删除文字的问题
  • 变量名自动命名

    • 插入新变量时自动生成不重复的变量名(新变量、新变量1、新变量2...)
    • 新变量默认不公开

编辑器光标统一优化

  • 所有编辑器光标宽度统一为1像素
    • GlobalVarEditor光标从2像素改为1像素
    • TableEditor光标从2像素改为1像素
    • YiEditor(源代码编辑器)光标从2像素改为1像素
    • DataTypeEditor、DllEditor已经是1像素保持不变

开发计划

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


待开发功能

高优先级

序号 功能 描述 预计工时 状态
1 自定义数据类型编辑器 支持用户自己自定义数据类型 半天时间 已完成
2 全局变量编辑器 整个程序都能调用的变量 半天时间 已完成
3 可视化设计器 设计窗口组件 最少一个星期 未开始

中优先级

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

低优先级

序号 功能 描述 预计工时 状态
1 多语言支持(i18n) 实现界面语言切换,支持中文/英文等多语言 2-3天 未开始

已知BUG

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

功能建议/想法


已完成功能

功能 完成日期 备注
数据类型补全 2026-01-15 YiEditor/DllEditor支持拼音匹配
数据类型从支持库加载 2026-01-15 FneParser/LibraryParser
自定义数据类型编辑器 2026-01-17
全局变量编辑器 2026-01-18


回复 支持 反对

使用道具 举报

结帖率:92% (12/13)

签到天数: 5 天

 楼主| 发表于 2026-1-17 18:13:10 | 显示全部楼层   泰国
本帖最后由 chungbin 于 2026-1-17 18:15 编辑

2026年1月17日 - ycIDE开发测试V0.0.0.10

DataTypeEditor(自定义数据类型编辑器)已基本完善

  • 单元格编辑功能修复

    • 修复成员名左边距过大问题(移除多余缩进)
    • 点击单元格时光标定位到点击位置(使用GDI+测量文本宽度计算)
    • 修复无法输入文字问题(添加SetFocus焦点设置)
  • 展开/收缩功能

    • 点击行号区域的折叠按钮(-/+)可展开或收缩数据类型的成员列表
    • 折叠状态正确保存和恢复
  • 多行选择功能

    • 点击行号区域可选中整行
    • 支持拖动选择多行(从行号区域开始拖动)
    • 支持从表格右侧空白区域开始拖动选择
    • 支持从数据行下方的完全空白区域开始拖动选择
    • 选中行显示半透明蓝色高亮
    • 行号区域显示镜像光标(水平翻转的箭头)
    • 点击非行号区域自动清除行选择

2026年1月15日 - ycIDE开发测试V0.0.0.9

YiEditor(代码编辑器)数据类型补全功能

  • 数据类型补全

    • 新增了数据类型的补全
    • 支持拼音首字母匹配(如输入"zsx"匹配"整数型")
    • 补全窗口支持键盘导航(上下方向键、Enter/Tab/空格确认、Escape取消)
    • 支持鼠标点击选择和滚轮滚动
  • 表格行智能识别

    • 只有表格中的数据类型列(第2列)触发数据类型补全
    • 其他列(命令名、参数名、备注等)保持手动输入,不弹出补全窗口
    • 普通代码行使用命令补全,不触发数据类型补全
  • 数据类型从支持库加载

    • 数据类型不再硬编码,改为从FNE支持库动态加载
    • FneParser扩展支持解析LIB_DATA_TYPE_INFO结构
    • LibraryParser提供GetAllDataTypeNames()统一获取所有数据类型
    • 包含基础数据类型(整数型、文本型等)和支持库自定义数据类型
  • 资源管理器

    • 修复了资源管理器的文件名显示emoji为方框问题

1631A5A2DCDECD4D1CCCE156EB57E456.png

4ccd45014d50da859e27ff9dd6967ba7.png

2345B9BF4D0CA42351F13A451229AEA7.png
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表