快捷导航面板允许用户快速访问常用的网址和文件夹,提供便捷的导航体验。
- 美观的卡片式网格布局
- 支持两种导航类型:
- 网址(URL):点击在浏览器中打开
- 文件夹:点击在文件管理器中打开
- 自动识别类型并显示对应图标
- 悬停显示完整路径
- 全局快捷键:双击
Shift键在任何界面(主页或终端视图)唤出 - 侧边栏按钮:点击主页侧边栏的指南针图标
在设置面板中可以:
- 添加新的快捷导航项
- 编辑现有导航项的名称和路径
- 删除不需要的导航项
- 拖拽排序(UI 已预留,功能待实现)
- 自动类型检测:
- 以
http://或https://开头的识别为网址 - 其他路径识别为文件夹
- 以
- 自动名称提取:
- 网址:从域名提取(如
github.com) - 文件夹:从路径提取文件夹名称
- 网址:从域名提取(如
- 名称可手动编辑
- 打开设置面板(侧边栏 → 设置)
- 切换到"快捷导航"标签页
- 点击"添加快捷导航"按钮
- 输入网址或文件夹路径
- 手动输入路径
- 或点击输入框右侧的文件夹图标浏览选择本地文件夹
- 编辑显示名称(可选,系统会自动提取)
- 点击"保存"
- 双击
Shift键或点击侧边栏指南针图标 - 在弹出的面板中点击任意导航项
- 系统会自动打开对应的网址或文件夹
快捷导航配置保存在应用设置中:
- 位置:
%APPDATA%/synapse/settings.json - 字段:
quickNav.items
QuickNavPanel.tsx:快捷导航面板组件SettingsPanel.tsx:设置面板(新增快捷导航标签页)quick-nav.ts:类型定义
interface QuickNavItem {
id: string; // 唯一标识符
name: string; // 显示名称
type: 'url' | 'folder'; // 类型
path: string; // URL 或文件夹路径
icon?: string; // 自定义图标(可选)
order: number; // 排序顺序
}- 双击
Shift键:全局快捷键,在App.tsx中监听 - 实现原理:检测两次完整 Shift 的松开时间间隔,小于 150ms 则触发
- 拖拽排序:实现导航项的拖拽重新排序
- 图标自定义:支持为每个导航项设置自定义图标
- 分组功能:支持将导航项分组管理
- 网站标题获取:自动从网站获取真实标题(需要主进程支持)
- 导入导出:支持导入导出快捷导航配置
- 搜索过滤:在面板中添加搜索框快速过滤导航项
- 最近使用:记录并显示最近使用的导航项
- ✅ 添加浏览文件夹按钮:在路径输入框右侧添加文件夹图标按钮,点击可打开文件夹选择器
- ✅ 修复焦点问题:打开快捷导航面板时不再自动聚焦到关闭按钮
- ✅ 修改快捷键:从 Ctrl+K 改为双击 Shift 键