ycIDE - 开发测试版 v0.0.5-beta.14(2026-07-17)
新增功能
[新增] 取变量地址 / 取变量数据地址 可以用了 :以前调用这两个命令会编译失败(链接错误)。现在完整实现——取变量数据地址 对文本/字节集/数组返回数据缓冲区地址(长度为 0 返回 0),其它类型与 取变量地址 相同。
注意 64 位环境地址请用长整数型变量接收 :写成整数型会在问题面板直接报错并拒绝编译(地址会被截断成无效值);指针到整数、指针到字节集 等命令读到无效地址时现在返回 0/空字节集,不会再让程序崩溃。
[新增] AI 面板显示编辑进行中状态 :AI 修改文件时实时显示「正在编辑 xx…」(以前只有完成后才出现 +N/-N 摘要)。
[新增] AI 面板自动滚动 :AI 输出内容超过可视区后自动跟随到最新内容;往上翻阅历史时不会被打扰,滚回底部后恢复跟随。
修复问题
[修复] 到文本(字节集) 显示成 字节集:41{232,191,153,…} 数字串 :现在按文本解出原文(与 到字节集 互为往返,读入文件 的内容能直接转成文本了)。调试输出 仍显示字节列表形态。
[修复] 到文本(日期时间型) 显示成 46220.4139… 数字 :现在显示「2026年7月17日9时56分37秒」,时刻为零只显示日期(与易语言 一致)。取文件时间 的结果可以直接拼进文本了。
[修复] 寻找文件 只返回一次就没了 :以前续查(首参数留空)永远返回空、还会把 . 目录项混出来。现在可以循环续查遍历目录,并按属性过滤:0=无任何特殊属性的普通文件、省略=除子目录外全部文件、含 16 时目录(连同 . 和 ..)一起返回。
[修复] 到字节集(数值) 给的是数字文本的字节 :到字节集 (到整数 (123)) 以前得到 "123" 三个字符的字节,现在按易语言给二进制原始字节(整数 4 字节 / 短整数 2 / 字节 1 / 长整数 8 / 小数 4 / 双精度 8)。文本仍按 UTF-8。
[修复] 取字节集数据 的起始位置 :照帮助从 1 开始计(省略默认为 1);读 8 字节长整数不再被错误截断成 32 位。
提示:取字节集内整数/置字节集内整数 的第二个参数是「偏移」,从 0 开始——两族命令基准不同,以各自帮助为准。
[修复] 到文本(小数型) 带一串噪声位 :3.14159 以前显示成 3.14159011840820,现在按小数型精度显示 3.14159。
[修复] AI 修改代码后,表格行 diff 底色缺两列 :数据类型列和备注列现在与整行底色连续。
ycIDE - 开发测试版 v0.0.5-beta.13(2026-07-16)
新增功能
[新增] 通用对话框组件可以在代码里用了 :以前调用会报「方法“打开”暂不支持在代码中调用」。现在按帮助文件语义完整实现:
.如果真 (打开文件通用对话框.打开 ())
文件号 = 打开文件 (打开文件通用对话框.文件名, , )
显示文件编辑框.内容 = 读入文本 (文件号, )
关闭文件 (文件号)
.如果真结束
「类型」属性支持全部四种:打开文件、保存文件、字体选择、打开帮助;
标题/文件名/过滤器/初始目录/默认文件后缀/文件必须存在/文件覆盖提示 等 22 个属性可在属性面板设置、也可在代码里读写;
过滤器照易语言格式:文本文件(*.txt)|*.txt|所有文件(*.*)|*.*;
用户点确定后「文件名」「初始过滤器」(字体选择则是字体各属性)自动回填,取消返回假。
修复问题
[修复] 打开文件/读入文件/写到文件 打不开中文路径 :文件名或目录带中文(如桌面上的 订阅链接狗狗云.txt)时 打开文件 返回 0。现在中文路径完全正常。
[修复] 读入文本 读「ANSI」编码的 txt 显示乱码 :现在自动识别编码——记事本常见的三种(ANSI/GBK、带 BOM 的 UTF-8、Unicode/UTF-16)都能正确读出,BOM 不会残留在文本开头。
[修复] 不带点的 结束 ()、返回 ()、跳出循环 ()、到循环尾 () 没有任何效果 :以前这些命令写成无点形态会被静默忽略(程序不退出、循环跳不出)。现在两种写法完全等效;「如果/循环」这类块结构关键字写成无点形态会给出明确的中文报错而不是静默失效。
ycIDE - 开发测试版 v0.0.5-beta.12(2026-07-16)
修复问题
[修复] 代码行里先敲空格再敲流程命令,流程线和文字对不齐 :比如先打一串空格再输入「如果」回车,生成的结构会带着这串空格落盘,流程线画在左边、文字却跑到很右边,还会多出一行看不见的空格行。现在行首的空格一律无效(空格只在文本字面量里有意义,比如 文本型变量 = “这种才允许 空格” 不受影响)。
[修复] 嵌套结构里的注释「失焦往右漂、点一下又弹回来」 :多层循环/判断里写的注释,编辑时位置正常,一失焦就往右挪一截。现在显示位置和编辑位置永远一致——都紧跟流程线。以前文件里已经错位的行(包括上面那种带空格的结构)不用改,打开就直接显示正常了。
[修复] 焦点在表格单元格里粘贴多行代码,整段代码全挤进单元格 :比如正在编辑变量名时按 Ctrl+V 粘贴一段代码,会变成 .局部变量 i信息框 (1) 信息框 (2)… 这种。现在多行内容自动作为代码行粘贴到子程序里(和在代码行里粘贴一样),单行内容仍然正常粘进单元格。
[修复] 表格行鼠标经过时只有「类型」「备注」列有背景色 :现在整行所有列(变量名/静态/数组等)都有一致的 hover 背景。
[修复] 双击问题面板定位到表格行时,闪烁高亮各列深浅不一 (类型/备注列偏深、其它列偏浅):现在整行闪烁颜色统一。
新增功能
[新增] 问题面板双行号 :以前只显示文本模式的行号(和表格左侧的行号对不上)。现在同时显示两个:「第 13 行, 第 1 列(文本 第 17 行)」——前面是表格模式行号(就是编辑器行号槽里看到的数字),括号里是文本模式行号。
ycIDE - 开发测试版 v0.0.5-beta.11(2026-07-16)
修复问题
[修复] 新建的编辑框运行后是黑底 :设计器里明明是白底,一运行就变黑,而且你根本没设过颜色。原因跟颜色属性无关 —— 是内部颜色表的一个占位项被错误匹配上了,导致所有没设过颜色的控件都拿到「全黑」。
触发条件很刁,所以之前一直没被发现:只要窗口上有一个标签,编辑框就是白的 ;只有「按钮 + 编辑框」这种没有任何控件设过颜色的窗口才会全黑。
同样受影响的还有列表框。
[修复] ≈(近似等于)没法用 :写 甲 ≈ 乙 会编译失败,报一串看不懂的 unexpected character <U+2248>。现在 ≈ 和它的同义写法 ?= 都能用了:
局_结果 = “Hello World” ≈ “Hello” ' 真
局_结果 = “中华人民” ≈ “中华” ' 真
注意它的语义是「后者是不是前者的开头」 (帮助原文:当比较文本在被比较文本的首部被包容时返回真),区分大小写 ,也不会把全角半角当成一样 —— “Hello” ≈ “hello” 是假 。这一点与易语言实测一致。
[修复] 到文本 (逻辑型) 印出「1」/「0」,而不是「真」/「假」 :
局_逻辑 = 真
调试输出 (到文本 (局_逻辑)) ' 以前印 1,现在印 真
调试输出 (到文本 (10 = 5)) ' 以前印 0,现在印 假
整数型仍然印数字,不受影响。
[修复] 文本比较的 < > ≤ ≥ 结果是乱的 :这个比较严重 —— 以前比的根本不是文本内容,而是变量在内存里的地址,所以结果既不是字典序也不是数值大小,而是碰运气 。最直观的例子是 “10” ≤ “10” 得「假」、同时 “10” ≥ “10” 得「真」,自相矛盾。现在统一按字典序 比较(与易语言一致):
局_结果 = “5” < “10” ' 假 —— 文本按字典序,“5” 排在 “10” 后面(首字符 5 > 1)
局_结果 = “10” < “5” ' 真
顺带修好了「同一个比较,写在命令参数里结果就不对」的问题 —— 到文本 (甲 = 乙) 以前和 局_结果 = 甲 = 乙 会给出不同答案,现在一致了。
[修复] 控制台程序里用文本比较会链接失败 (未定义符号: yc_text_compare)。窗口程序不受影响。
ycIDE - 开发测试版 v0.0.5-beta.10(2026-07-16)
修复问题
[修复] ÷ 相除算出来没有小数 :局_整数1 ÷ 局_整数2(20 ÷ 7)此前得到 2 ,小数部分整个丢了。原因是 ÷(相除)和 \(整除)被当成了同一种除法。易语言里这两个不一样:
局_小数 = 20 ÷ 7 ' 相除:恒得小数 → 2.857142857142857
局_整数 = 20 \ 7 ' 整除:只要整数商 → 2
现在 ÷ 恒返回双精度小数,\ 与 %(求余数)行为不变。左边已经是小数的写法(如 30 × #pi ÷ 180)此前碰巧是对的,所以这个问题只在两边都是整数 时才现形。
[修复] 你打印的 +、=、÷ 会变样 :引号里的全角运算符被当成运算符改写了 —— 写 “20 + 7 = 27”,打印出来是 20 + 7 == 27。现在引号内的文本一律原样输出。
[修复] 四舍五入 的第二个参数(被舍入的位置)没生效 :四舍五入 (3.14159, 2) 此前恒返回 3 而不是 3.14 —— 不管你填几,都等于舍入到整数。现在三档语义都按帮助工作:
四舍五入 (1056.65, 1) ' → 1056.7 保留小数点右边 1 位
四舍五入 (1056.65, 0) ' → 1057 舍入到整数(省略该参数时的默认)
四舍五入 (1056.65, -1) ' → 1060 舍入到小数点左边 1 位
[修复] 整个用括号括起来的表达式算错甚至编译不过 :(“甲” + “乙”) 这类写法此前根本编译不过 ,(20 + 7) × 2 这类也走了错误的路径。现在括号内的表达式会被正常翻译。
[修复] 把命令的返回值直接当条件会编译失败 :.如果 (是否运算正确 (局_小数)) 这类写法此前会报一串难懂的 C++ 错误(lambda … is not contextually convertible to 'bool')。涉及 .如果、.如果真、.判断开始、.判断循环首、.循环判断尾 等全部流程语句。
新增功能
[新增] 编译报错终于说人话了 :此前编译出错,给你看的是英文 C++ 报错 + 一个指向 temp/*.cpp(你从没写过的中间文件)的行号。现在会告诉你是哪个 .eyc 文件的第几行 、把那一行原样回显出来、配一句中文说明,并且区分「是你写错了」还是「是 ycIDE 生成代码的问题」—— 后者会明说「不是你的代码写错了,请反馈」。认不出来的报错会保留英文原文,不会不懂装懂。
已知差异(不打算改)
涉及 #pi 的三角函数结果与易语言有约 1e-11 的差别(求正弦 (30 × #pi ÷ 180) 我们得 0.5,易语言得 0.499999999987)。这是易语言的 #pi 被截断到了 10 位小数 (3.1415926535),而 ycIDE 用的是完整双精度 π(3.141592653589793)。sin(30°) 数学上就是 0.5,我们的结果是对的,故不跟随。
评分
查看全部评分