镜像自地址
https://github.com/lhly/search-syntax-pro.git
已同步 2026-10-20 22:37:48 +08:00
- 新增全局快捷键支持(Ctrl+Shift+F/Command+Shift+F) - 添加快捷键命令类型定义(chrome-commands.d.ts) - 实现版本管理工具(version.ts) - 新增模板和快捷键相关类型定义 - 优化搜索表单组件支持外部控制高级选项 - 新增引擎选择器组件(EngineSelector) - 改进全局样式和按钮样式 - 在设置页面新增快捷键配置选项 - 添加测试页面和调试工具 - 更新文档包括发布说明和测试指南 本次提交包含多项功能新增和优化,主要围绕快捷键功能的实现和用户体验提升。
135 行
3.3 KiB
Markdown
135 行
3.3 KiB
Markdown
# 快捷键同步修复 - 测试指南
|
|
|
|
## 快速测试步骤
|
|
|
|
### 测试 1: 基本同步功能
|
|
|
|
1. **打开 Options 页面**
|
|
```
|
|
右键点击扩展图标 → 选项
|
|
```
|
|
|
|
2. **修改快捷键目标引擎**
|
|
- 找到 "快捷键设置" 部分
|
|
- 找到 `Ctrl+1` (切换到百度搜索)
|
|
- 点击编辑按钮
|
|
- 在 "目标搜索引擎" 下拉框中选择 "Google"
|
|
- 点击保存
|
|
|
|
3. **验证 Popup 页面**
|
|
- 点击扩展图标打开 Popup
|
|
- 按下 `Ctrl+1`
|
|
- **预期结果**: 搜索引擎切换到 Google
|
|
|
|
### 测试 2: 实时同步
|
|
|
|
1. **保持 Popup 页面打开**
|
|
- 点击扩展图标打开 Popup
|
|
- 不要关闭
|
|
|
|
2. **在新标签页打开 Options**
|
|
- 右键点击扩展图标 → 选项
|
|
|
|
3. **修改快捷键**
|
|
- 修改 `Ctrl+2` 的目标引擎为 "Bing"
|
|
- 保存
|
|
|
|
4. **返回 Popup 页面**
|
|
- 按下 `Ctrl+2`
|
|
- **预期结果**: 切换到 Bing 搜索引擎
|
|
|
|
### 测试 3: UI 更新验证
|
|
|
|
1. **打开快捷键帮助**
|
|
- 在 Popup 中按 `?` 键
|
|
- 查看 "引擎切换" 分组下的快捷键
|
|
|
|
2. **修改配置**
|
|
- 在 Options 页面修改 `Ctrl+3` 的目标引擎
|
|
|
|
3. **重新打开帮助**
|
|
- 关闭快捷键帮助面板
|
|
- 再次按 `?` 打开
|
|
- **预期结果**: 显示更新后的引擎名称
|
|
|
|
## 控制台日志验证
|
|
|
|
打开浏览器开发者工具 (F12),在控制台中应该看到:
|
|
|
|
### Options 页面修改时:
|
|
```
|
|
[ShortcutSettings] 保存快捷键配置...
|
|
[ShortcutManager] 更新快捷键 switch_engine_1 的目标引擎: google
|
|
```
|
|
|
|
### Popup 页面检测到变化:
|
|
```
|
|
[ShortcutManager] 检测到快捷键配置变化,正在重新加载...
|
|
[ShortcutManager] 快捷键配置重新加载完成
|
|
[Popup] 检测到快捷键配置变化,处理器将使用更新后的配置
|
|
```
|
|
|
|
### 按下快捷键时:
|
|
```
|
|
[ShortcutManager] 执行快捷键 切换到谷歌搜索,参数: google
|
|
[App] handleSwitchEngine 被调用,actionParam: google
|
|
[App] 使用引擎名称: google
|
|
[App] 切换到搜索引擎: google
|
|
```
|
|
|
|
## 常见问题排查
|
|
|
|
### Q: 修改后按快捷键没有反应?
|
|
|
|
**排查步骤**:
|
|
1. 检查控制台是否有错误日志
|
|
2. 确认快捷键在 Options 页面中是启用状态
|
|
3. 重新加载扩展: `chrome://extensions/` → 点击刷新按钮
|
|
|
|
### Q: UI 显示没有更新?
|
|
|
|
**排查步骤**:
|
|
1. 关闭并重新打开 Popup
|
|
2. 检查 Options 页面中的配置是否正确保存
|
|
3. 查看控制台的存储变化日志
|
|
|
|
### Q: 功能正常但没有日志输出?
|
|
|
|
**排查步骤**:
|
|
1. 确认开发者工具已打开
|
|
2. 检查控制台过滤器设置
|
|
3. 重新加载扩展并重试
|
|
|
|
## 成功标准
|
|
|
|
所有以下条件都满足,即表示修复成功:
|
|
|
|
- ✅ Options 页面修改后能保存
|
|
- ✅ Popup 页面按快捷键切换到正确的引擎
|
|
- ✅ 快捷键帮助面板显示更新后的引擎名称
|
|
- ✅ 控制台有完整的日志输出
|
|
- ✅ 无错误或警告信息
|
|
|
|
## 回滚方案
|
|
|
|
如果修复后出现问题,可以:
|
|
|
|
1. **临时回滚**:
|
|
```bash
|
|
git checkout HEAD -- src/services/shortcut-manager.ts
|
|
git checkout HEAD -- src/popup/App.tsx
|
|
git checkout HEAD -- src/components/ShortcutSettings.tsx
|
|
git checkout HEAD -- src/components/ShortcutHint.tsx
|
|
npm run build
|
|
```
|
|
|
|
2. **重新加载扩展**:
|
|
- 访问 `chrome://extensions/`
|
|
- 点击扩展的刷新按钮
|
|
|
|
---
|
|
|
|
**修复完成日期**: 2025-11-11
|
|
**构建状态**: ✅ 通过
|
|
**测试建议**: 建议进行完整的回归测试
|