refactor(ui): 重构代码结构,调整文件路径和导入引用#122
Merged
Merged
Conversation
Contributor
hqwlkj
commented
May 26, 2026
- 将多个 UI 组件和模块从 src/ui 目录移动到 src/ui/views 目录
- 更新所有相关文件中的导入路径,确保引用正确
- 修改多个类型导入路径,从 session-types 改为 session/types
- 统一调整 hooks 和核心模块的导入路径,修正导入命名和位置
- 维护代码一致性,避免因路径更改导致的引用错误
- 重命名 session.ts 为 session/index.ts,并修改相关导入
- 调整部分导入钩子名称由 prompt 变更为 hooks,提升代码组织一致性
- 更新测试用例中的类型导入路径以匹配新的文件结构
- 修复权限请求流程中的 promptDraft 数据状态
- 将App.tsx中的设置读写及相关辅助函数移除 - 在ui/utils/index.ts新增对应工具函数实现,包括读取写入用户及项目设置 - 将DEFAULT_MODEL和DEFAULT_BASE_URL常量移至constants.ts统一管理 - 优化导入路径,修正组件和工具的引用路径 - 修改RawModeContext和openai-client模块中依赖import路径 - 统一和调整DropdownMenu相关组件的导入路径 - 使代码结构更清晰,职责划分更明确,提高维护性
- 将默认模型和基础URL常量移至settings模块,统一管理 - 实现用户配置和项目配置的读取、写入接口 - 提供获取用户和项目配置路径的工具函数 - 清理ui/utils中的相关冗余代码,简化代码结构 - 统一类型引用,调整session、session-types、settings和common之间的导入路径 - 移除AsciiArt模块内容,清理无用代码
- 将粘贴处理逻辑提取到单独的 usePasteHandling hook 中 - 将历史导航逻辑提取到单独的 useHistoryNavigation hook 中 - 用 hook 替代 PromptInput 内部状态管理,简化组件代码 - 支持大文本粘贴显示可折叠的占位符标记 - 实现粘贴内容的展开与折叠控制 - 重置粘贴状态时清理所有历史数据 - 修正状态同步,提升粘贴和历史浏览体验 - 对外提供相关类型定义和状态、操作接口
- 将 ui 目录下的多个模块移动至 ui/core 目录,调整相关导入路径以适配新结构 - 将 common 目录下部分模块重命名移动至 common/runtime 和 common/system,更新导入引用 - 更新测试文件中相关导入路径,确保测试代码正常执行 - 新增 session/utils.ts,抽取并集中管理 getCompactPromptTokenThreshold 与 getTotalTokens 方法 - 调整部分导入钩子名称由 prompt 变更为 hooks,提升代码组织一致性 - 修正部分日志及进程管理模块的导入路径到对应的 logging 和 system 子目录 - 更新 UI 组件和工具相关代码以适应新的模块路径和结构变化
- 将多个 UI 组件和模块从 src/ui 目录移动到 src/ui/views 目录 - 更新所有相关文件中的导入路径,确保引用正确 - 修改多个类型导入路径,从 session-types 改为 session/types - 统一调整 hooks 和核心模块的导入路径,修正导入命名和位置 - 维护代码一致性,避免因路径更改导致的引用错误 - 重命名 session.ts 为 session/index.ts,并修改相关导入 - 更新测试用例中的类型导入路径以匹配新的文件结构 - 将多处核心或公共模块导入路径调整为模块根目录的对应位置
- 在App视图中取消撤销提示框的草稿状态 - 修改DropdownMenu标题颜色为#229ac3,增强视觉统一 - 精简McpStatusList的状态文本样式,去除加粗效果 - 将UndoSelector中的标题文字颜色改为#229ac3,提升界面一致性
- 将会话相关的工具函数从 session/index.ts 中移除 - 在 session/utils.ts 中重新实现并导出这些工具函数 - 调整了导入路径,改用新的工具函数模块 - 修正了多个文件中对 executeValidatedTool 的导入路径 - 统一了 SkillsDropdown 组件中的 DropdownMenu 导入名称
- 将 getExtensionRoot 函数从 session/utils.ts 移除 - 在 session/utils.ts 中重新导出 prompt.ts 中的 getExtensionRoot 函数 - 调整 prompt.ts 中 getExtensionRoot 函数的导出为 export - 优化了 getExtensionRoot 函数的注释和环境兼容处理逻辑
- 在权限请求未通过时清理提示草稿,避免残留内容 - 当权限被拒绝时不再重复清空提示草稿 - 取消欢迎界面的重复显示,优化视图切换逻辑
- 将核心模块文件名改为短横线风格(kebab-case) - 更新所有相关导入路径以匹配重命名后的文件名 - 修改测试文件名和对应引用路径,保持一致性 - 调整部分组件及钩子中的类型导入路径 - 无业务功能变更,仅代码结构及命名优化
- 删除了整个 session 文件夹及相关类型定义 - 统一所有模块中对 session 相关类型的导入,改为从 session.ts 模块直接导入
- 统一调整内部模块导入路径,移除多余的 system 子目录 - 重命名 common/runtime/state.ts 为 common/state.ts 并同步更新相关引用 - 重命名 common/runtime/validate.ts 为 common/validate.ts 并同步更新相关引用 - 重命名 common/runtime/file-history.ts 为 common/file-history 并同步更新相关引用 - 更新测试文件和工具模块中对应的导入路径,确保一致性 - 保持代码逻辑不变,仅调整代码结构和模块路径优化维护性
- 在历史导航中同步捕获当前草稿,避免异步状态不一致 - 修正使用最新捕获草稿替代旧状态以设置缓冲区文本 - 在粘贴处理钩子中引入 useEffect 钩子以响应缓冲区文本变化 - 通过副作用保持衍生标志状态与缓冲区文本同步 - 移除潜在的异步更新问题,提升用户交互体验
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.