Conversation
- 升级 actions: checkout@v6, setup-dotnet@v5, upload-artifact@v6 - 添加 concurrency 并发控制,避免重复运行浪费 CI 分钟 - 添加最小权限 permissions 声明 - 添加 NuGet 包缓存加速 restore - ci-dev.yml: 移除微软模板 boilerplate、未使用的 setup-msbuild 和签名代码 - format job: 移除多余 restore 步骤(dotnet format 隐式 restore) - 步骤名称中文化并适配 EasyCon 项目
- EasyConForm 实现 IControllerAdapter,集成 VPadService - 恢复虚拟手柄显示、按键映射窗口、录制时的控制器启用 - VPadService: 中键隐藏时同时隐藏窗口,ESC键支持同样功能 - 脚本运行时解除键盘钩子避免冲突
动态测试 searchImg_test 中 GetImage() 返回的 Bitmap 未被释放, 60FPS 下每秒泄漏约 360MB GDI 内存。 将 monitorTimer 和 searchTestTimer 两条独立采集路径合并为单一 monitorTimer 驱动的采集循环:采集一帧 → 渲染到监控 → 按需搜索, 消除重复采集和锁竞争。
* [cc提交] fix: 修复二元表达式解析器遇到EOF时死循环的问题 在ParseExpression中,当一元运算符优先级满足条件但游标已到EOF时, 解析器会反复尝试读取而不前进,导致死循环。增加CursorEOF检查。 * style: auto-fix dotnet format [skip ci] --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* [cc提交] feat: 将WPF AvalonEdit编辑器替换为Avalonia AvaloniaEdit,移除UseWPF依赖 - 新增ScriptEditorControl/ScriptEditorHost/EcsHighlightingLoader到Avalonia.Core - XSHD语法高亮文件从UI.Common迁移至Avalonia.Core - EasyConForm和MainForm改用WinFormsAvaloniaControlHost嵌入编辑器 - 集成SearchPanel搜索、CustomFoldingStrategy代码折叠、文件拖放 - 修复AvaloniaEdit 12 Load(string) stub问题(改用FileStream) - 修复编辑器焦点时菜单快捷键透传(移除ProcessCmdKey拦截) - 删除WPF相关代码:FindPanel、CodeCompletion、EcpCompletion * style: auto-fix dotnet format [skip ci] * [cc提交] feat: 实现代码补全功能并修复菜单快捷键透传问题 - 新增CodeCompletionController/EcpCompletionProvider/EcpCompletionData - 支持关键词、变量($)/常量(_)/图片标签(@)补全,Ctrl+Space手动触发 - 集成到ScriptEditorControl,暴露EnableAutoCompletion开关和SetImgLabelProvider - EasyConForm和MainForm接入补全并绑定配置开关 - 修复菜单快捷键在编辑器焦点时不透传的问题(移除ProcessCmdKey拦截) - 修复AvaloniaEdit 12 Load(string) stub问题 - CodeCompletionController改为internal,移除多余GetImgLabel委托类型 --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
- 新增Core层服务接口(ICaptureService/IConfigService/IDeviceService等) - 实现Avalonia.Core服务层(CaptureService/ConfigService/DeviceService等) - 新增EasyMainWindow View/ViewModel作为Avalonia主窗口 - WinForms通过EasyConForm.Avalonia嵌入Avalonia视图 - 新增DialogService桥接WinForms对话框
- 移除旧的flatten导入机制,改为Compilation.Create自动扫描lib目录下的.ecs文件 - SyntaxTree新增IsLib标记区分库脚本与主脚本 - Binder实现两阶段绑定:lib独立作用域→主脚本作用域,lib函数注册到主作用域可调用 - Parser添加lib脚本解析限制,顶层只允许变量/常量/函数定义 - 新增LibTests测试覆盖自动加载、解析限制、作用域隔离等场景 (cherry picked from commit 16b31394b3f5296e6b3c000f82ac1a69959de621)
- 修复EasyConForm启动窗口在高DPI下显示过小的问题,添加AutoScaleDimensions和AutoScaleMode.Font - 将EasyConForm相关文件从Forms/移至App/目录,与MainForm同目录 - 为AlertConfigForm和EasyConFormAvalonia拆分Designer.cs,UI属性移入设计器 - AlertConfigForm添加应用图标,与EasyConForm一致
* [cc提交] feat: 新增 EasyCon.WinInput 项目,支持手柄/键盘输入绑定 - 新建 EasyCon.WinInput 类库,包含 GamepadInputBinder、KeyboardInputBinder、GamepadMapper 等组件 - 将 KeyBinder 和 LowLevelKeyboard 从 Avalonia.Core 迁移至 WinInput - 新增 IInputBinder 接口到 EasyCon.Core - 更新 VPadService、JCPainter 适配新结构 - EasyConForm 集成游戏手柄输入绑定 - 新增 GamepadApiDemo 工具项目 * [cc提交] fix: PR#41 code review 修复 — 封装LowLevelKeyboard、线程安全、.gitignore修正 - IInputBinder 新增 RegisterEscapeKey,通过 VPadService 暴露 ESC 注册 - LowLevelKeyboard 改为 internal,EasyConForm 不再直接引用 - GamepadInputBinder._enabled 加 volatile 修复线程安全 - .gitignore 替换 **.md 为具体文件名 - 删除 EasyConForm 中注释代码 - 新增 EasyCon.WinInput.Tests 项目,GamepadMapper 11 项单元测试 * [cc提交] fix: 移除 test.bat 中硬编码的 -f net10.0,修复 net10.0-windows 项目测试失败
- 新增 ThemeManager 语义化颜色类,事件驱动架构,各窗体独立订阅 - 新增 DarkMenuColors 暗色菜单渲染器 - 新增 ecp-dark.xshd 暗色语法高亮(VS Code Dark+ 风格) - ConfigState 新增 DarkMode 属性,JSON 持久化 - EasyConForm: 设置菜单新增深色模式开关,ApplyTheme 统一管控颜色 - CaptureVideoForm: 订阅 ThemeChanged 事件,ForceClose 生命周期管理 - ScriptEditorControl: IsDarkTheme 属性切换背景/前景/语法高亮 - CaptureService: 不再感知主题,移除 ApplyTheme
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.