更新2.2.2版本的基础内容

This commit is contained in:
寂静的羽夏 2025-05-02 20:33:57 +08:00
parent f6d731b520
commit a09736cc75
4 changed files with 70 additions and 2 deletions

View File

@ -0,0 +1,68 @@
---
title: WingHexExplorer2 v2.2.2 正式版发布
---
一个自由的强大免费的十六进制编辑器,基于 QT C++ 进行开发,作者是寂静的羽夏。
如有 Bug, 欢迎反馈到 [Github](https://github.com/Wing-summer/WingHexExplorer2/issues) 上,如果你访问这有困难的话,也可以反馈到 [Gitee](https://gitee.com/wing-cloud/WingHexExplorer2/issues) 上。如果实在不行,可以通过我的 [博客园](https://www.cnblogs.com/wingsummer) 上公告栏的任意一种联系方式来告诉我。不过我还是希望你反馈到 Github 上方便我写递交注释的。
开源不易,也欢迎赞助或者参与代码和文档贡献,我默认会将您放入鸣谢标签的内容进行鸣谢。
许可证GNU 通用公共许可证 第 3 版
---
![软件界面]({{"/assets/postimg/devlog-20250502/screenshot.png" | relative_url }}){: .align-center}
---
## 最新发布日志
  该仓库仅提供基于 QT6 的十六进制编辑器安装包,对于 Windows 采用 InnoSetup 安装包。对于 Linux 采用 run 自解压安装文件进行安装,请在终端使用命令行使用 root 权限进行,若要卸载请到`/opt/WingHexExlorer2`下进入终端使用 root 权限执行`uninstall.sh`完成卸载。 **在 Linux 上,如果你有对应的编译环境,我不推荐使用 run 安装文件方式。** 因为为了保证安装包的通用性,我在里面部署了大量的库,包括对应的 glic 和 ld-linux和对可执行文件做了`patch`,让文件总体积膨胀,这是一个很不划算的事情。建议使用`mkinstaller`下的`pyscript`进行安装。
  **本软件不会以任何理由主动向你收取费用,你通过下载渠道给的费用一分钱也不会到我这里,请注意。**
  如有 Bug ,请到`Github`或者`Gitee`提交`issue`。如果有功能建议,也可以通过`issue`,不过我更建议 **到 Github 的 discussion 区提交**
  该工具的定位是对二进制的编辑和分析。**欢迎热心的大佬一起共建基础开源工具**。
  目前只有我一个人开发,我不可能能够把每个功能做好测试,尤其是做 **高风险** 的操作,点名在 root 权限下操作文件。
  我可能不会对每个 Bug 能够积极响应,不过对大家的建议和需求我会尽可能地尽早回复和评估处理。
  其实`v2.0.0`我原本打算让内置脚本编辑器使用体验很顺滑,主要是代码`auto-complete`提示很好用,但由于我精力有限,我只提供了内置公共方法提供了填充支持,对于局部变量类型的支持,我没有做。这个是最麻烦的一件事,首先我得很清楚`AngelScript`的编译流程。现在我只是懂得了大概,对于类型推断这个还是挺复杂的。更不幸的是,`AngelScript`的语法树生成、变量类型推断和字节码生成被融合在一块,导致我首先为了效率第一步做的就是只保留语法树生成和变量推断的部分。而它生成的信息不足以我去做`auto-complete`,我还需要添加一些跟源码绑定的信息才能够正常实现。**我甚至为了这件事买了本《编译原理》去研究,但目前项目的热度不足以支持我用爱继续发电把我之前都没做过的这个事情继续做下去。** 当然,如果`Github`上星过`800``Gitee`星过`1000`倒是可以考虑考虑,不过不要刷,星星数目多了也不给我带来什么物质上的东西,:)。
## 插件版本兼容性
  软件版本分为三个部分,对插件重点关注中间的数字,也就是次版本号。当数字发生变化时,那说明插件的 API 发生改变,已经不兼容。对于我想要单文件实现插件开发,我目前没有很好的办法做兼容处理,那就先这样。
## 更新内容
  以下是相对于上一个版本的增强和修复日志:
- AngelScript 高亮规则修复和调整
- 脚本编译更细致的报错和提示行号列号
- 更好的词法分析器
- 更好的基于纯词法分析代码填充提示新增:全局变量、非 auto 推断变量类型成员、宏的提示、类名、函数内局部变量
- 脚本相关新增:支持执行时间限制、支持 #define / #if / #ifudef / #else / #endif / #undef 宏支持
- 将脚本运行限制在主线程进行
- 脚本控制台目前功能得到了增强,增加全局变量功能和相关管理宏:#ls / #del / #cls
- 修复 WingCStruct 的嵌套结构体读取为字典时成员丢失的问题
- 修复查找功能通配符搜索功能损坏的问题
- 新增十六进制编辑的主动重载功能,以解决大文件读取文件时的一些异常需重载继续
- 修复禁用脚本可能发生的崩溃问题
- 移除数据可视化功能和相关 API
- 优化 WingAngelAPI 脚本注册代码
- 脚本引擎单例化,减少不必要的传参
- 数值显示增加无符号切换格式
- 修复克隆页右键菜单功能无效
- 修复终端主题修改输出颜色不随之改变的问题
- 优化文本预览功能体验
- 新增一些右键菜单选项,优化用户体验
- 更新上游依赖库
## 后面更新
  我将会根据知名度我会酌情偏向更新文档内容。
  之后暂停更新新功能,如果发现有 Bug 月更,恶性 Bug 周更,如果赞助比较多我就提高点更新频率。

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

View File

@ -46,8 +46,8 @@ header:
- 友好的标注可视化 - 友好的标注可视化
- **多选区支持** (按住 <kbd>Shift</kbd> 会增加选区, <kbd>Alt</kbd> 会裁剪选区。在含有多个选区的情况下,不按住任何键拖放的选区会在鼠标释放按键之后消失。按住 <kbd>Ctrl</kbd> 选区会取消原有的选择的内容,同时按住 <kbd>Shift</kbd><kbd>Alt</kbd> 视为 <kbd>Ctrl</kbd> 的操作) - **多选区支持** (按住 <kbd>Shift</kbd> 会增加选区, <kbd>Alt</kbd> 会裁剪选区。在含有多个选区的情况下,不按住任何键拖放的选区会在鼠标释放按键之后消失。按住 <kbd>Ctrl</kbd> 选区会取消原有的选择的内容,同时按住 <kbd>Shift</kbd><kbd>Alt</kbd> 视为 <kbd>Ctrl</kbd> 的操作)
- **强大的脚本系统** 用于批量分析二进制数据AngelScript - **强大的脚本系统** 用于批量分析二进制数据AngelScript
- **强大的插件系统** 只须头文件就可以开发插件,实现对软件的较高自由度定制和增强,并提供组件注册和基础的脚本系统函数绑定 - **强大的插件系统** ,实现对软件的较高自由度定制和增强,并提供组件注册和基础的脚本系统函数绑定
- **内置脚本编辑器** ,提供基础的代码填充和调试功能,并且支持 **ClangFormat** 对代码进行格式化 - **内置脚本编辑器** ,提供代码填充和调试功能,并且支持 **ClangFormat** 对代码进行格式化
- 内置暗黑和浅色主题 - 内置暗黑和浅色主题
## 发行版下载 ## 发行版下载