声明:该issue由ai编写
检查清单 | Checklist
功能描述 | Description
对设定窗口(Ink Canvas/Windows/SettingsViews/,net10 主线)实测后,与 #577 的描述一致。"乱"可以归纳为三类问题:
A. 跳转/组织结构缺陷(含可复现 bug)
首页快捷卡片死链 :HomePage.xaml:255 卡片 Tag="AutomationPage",但设置窗口注册表 SettingsWindow.xaml.cs:25-66 _pageTypes 没有该页面 (只有 AutomationWorkflowPage)→ 点击后 QuickNavCard_Click(HomePage.xaml.cs:13-18)走到 NavigateToPage 会触发 SettingsWindow.xaml.cs:423 警告:"NavigateToPage 找不到页面类型 [AutomationPage]"——首页"自动化"是空跳 。对照导航栏 SettingsWindow.xaml:470-473 已正确使用 AutomationWorkflowPage。
同功能双页面并存 :AutomationPage.xaml(518 行,legacy、未注册)与 AutomationWorkflowPage.xaml(849 行,导航用)并存;CloudStoragePage.xaml(200 行)仍在导航与注册表 (SettingsWindow.xaml:378-380),但 PR Migrate cloud storage management into Storage settings and remove legacy panel #480 已把云存储并入 StoragePage。
目录错位 :PluginMarketSourcesWindow 是 UserControl,却放在 SettingsViews/Pages/(Page 目录)。
B. 信息架构混乱(页面/入口过多重叠)
Pages/ 现有 43 个 XAML ,_pageTypes 注册 41 个 ;
四套并行分组:工具栏 3 页(组件/外观/菜单)+ 白板 3 页 + 主题 2 页 + 通知/公告 2 页 + 插件 4 项;
无导航项的隐藏/动态页(SettingsPage 容器、PluginSettingsPage 动态、WhiteboardTipsPage、PPTPageFlipPreviewPage)没有集中清单,只有 rules/settings_pages.md:58 注释提及 2 个。
C. 规范执行不一致
需求动机 | Motivation
期望设计(按建议分类)
第一类 · 修复
修 HomePage 死链卡:Tag 改为 AutomationWorkflowPage(或删除卡片);
顺带核对全部 QuickNavCard 的 Tag 与 _pageTypes 一致性(HomePage.xaml 共 2 处)。
第二类 · 清理
删除/合并无入口的 AutomationPage(若确无导航入口且功能已被 AutomationWorkflowPage 覆盖);
确认 StoragePage 已覆盖云存储后,从导航 + _pageTypes 移除 CloudStoragePage(延续 Migrate cloud storage management into Storage settings and remove legacy panel #480 );
同步更新 rules/settings_pages.md 的导航树与隐藏页清单。
第三类 · 规范化
PluginMarketSourcesWindow 移出 Pages/(或按规则明确其归属);
建立"页面注册清单"三态表:导航项 ∪ 隐藏页 ∪ 动态页(SettingsPage/PluginSettingsPage),在 rules/settings_pages.md 固化;
可选:增加 CI/PR 检查——Pages/*.xaml 与 _pageTypes、导航 Tag 三向一致性校验(类似现有 linter/jscpd 的机制)。
第四类 · 信息架构优化
工具栏/白板/主题/通知/插件按"组件 / 外观 / 菜单"统一模板收敛,减少入口数;
43 页按功能域(画布、工具、系统、内容、集成)重组,避免散页;
设置项标题+说明文案模板化(回应 在设置窗口内 充斥着大量描述不清的文字 图标混乱错误缺失 设置项位置排序混乱 各贡献者添加设置项时乱放 #577 "描述不清"),并强制走 NavStrings/*Strings 资源。
声明:该issue由ai编写
检查清单 | Checklist
功能描述 | Description
对设定窗口(
Ink Canvas/Windows/SettingsViews/,net10 主线)实测后,与 #577 的描述一致。"乱"可以归纳为三类问题:A. 跳转/组织结构缺陷(含可复现 bug)
HomePage.xaml:255卡片Tag="AutomationPage",但设置窗口注册表SettingsWindow.xaml.cs:25-66 _pageTypes没有该页面(只有AutomationWorkflowPage)→ 点击后QuickNavCard_Click(HomePage.xaml.cs:13-18)走到NavigateToPage会触发SettingsWindow.xaml.cs:423警告:"NavigateToPage 找不到页面类型 [AutomationPage]"——首页"自动化"是空跳。对照导航栏SettingsWindow.xaml:470-473已正确使用AutomationWorkflowPage。AutomationPage.xaml(518 行,legacy、未注册)与AutomationWorkflowPage.xaml(849 行,导航用)并存;CloudStoragePage.xaml(200 行)仍在导航与注册表(SettingsWindow.xaml:378-380),但 PR Migrate cloud storage management into Storage settings and remove legacy panel #480 已把云存储并入StoragePage。PluginMarketSourcesWindow是UserControl,却放在SettingsViews/Pages/(Page 目录)。B. 信息架构混乱(页面/入口过多重叠)
Pages/现有 43 个 XAML,_pageTypes注册 41 个;SettingsPage容器、PluginSettingsPage动态、WhiteboardTipsPage、PPTPageFlipPreviewPage)没有集中清单,只有rules/settings_pages.md:58注释提及 2 个。C. 规范执行不一致
rules/settings_pages.md规定"导航栏文字必须使用NavStrings资源,不得自行编写",但实际存在裸字符串/硬编码Tag;"Debug" 硬编码(规则自己也承认);_pageTypes、是否加导航、是否清理旧页面"没有强制检查 → 每次添加设置项靠自觉,正是 在设置窗口内 充斥着大量描述不清的文字 图标混乱错误缺失 设置项位置排序混乱 各贡献者添加设置项时乱放 #577 所说"各贡献者添加设置项时乱放"。需求动机 | Motivation
期望设计(按建议分类)
第一类 · 修复
HomePage死链卡:Tag改为AutomationWorkflowPage(或删除卡片);QuickNavCard的Tag与_pageTypes一致性(HomePage.xaml共 2 处)。第二类 · 清理
AutomationPage(若确无导航入口且功能已被AutomationWorkflowPage覆盖);StoragePage已覆盖云存储后,从导航 +_pageTypes移除CloudStoragePage(延续 Migrate cloud storage management into Storage settings and remove legacy panel #480);rules/settings_pages.md的导航树与隐藏页清单。第三类 · 规范化
PluginMarketSourcesWindow移出Pages/(或按规则明确其归属);SettingsPage/PluginSettingsPage),在rules/settings_pages.md固化;Pages/*.xaml与_pageTypes、导航Tag三向一致性校验(类似现有 linter/jscpd 的机制)。第四类 · 信息架构优化
NavStrings/*Strings资源。