Skip to content

Latest commit

 

History

History
100 lines (78 loc) · 3.17 KB

File metadata and controls

100 lines (78 loc) · 3.17 KB

快捷导航功能

功能概述

快捷导航面板允许用户快速访问常用的网址和文件夹,提供便捷的导航体验。

功能特性

1. 快捷导航面板

  • 美观的卡片式网格布局
  • 支持两种导航类型:
    • 网址(URL):点击在浏览器中打开
    • 文件夹:点击在文件管理器中打开
  • 自动识别类型并显示对应图标
  • 悬停显示完整路径

2. 唤出方式

  • 全局快捷键:双击 Shift 键在任何界面(主页或终端视图)唤出
  • 侧边栏按钮:点击主页侧边栏的指南针图标

3. 设置管理

在设置面板中可以:

  • 添加新的快捷导航项
  • 编辑现有导航项的名称和路径
  • 删除不需要的导航项
  • 拖拽排序(UI 已预留,功能待实现)

4. 智能识别

  • 自动类型检测
    • http://https:// 开头的识别为网址
    • 其他路径识别为文件夹
  • 自动名称提取
    • 网址:从域名提取(如 github.com
    • 文件夹:从路径提取文件夹名称
  • 名称可手动编辑

使用方法

添加快捷导航

  1. 打开设置面板(侧边栏 → 设置)
  2. 切换到"快捷导航"标签页
  3. 点击"添加快捷导航"按钮
  4. 输入网址或文件夹路径
    • 手动输入路径
    • 或点击输入框右侧的文件夹图标浏览选择本地文件夹
  5. 编辑显示名称(可选,系统会自动提取)
  6. 点击"保存"

使用快捷导航

  1. 双击 Shift 键或点击侧边栏指南针图标
  2. 在弹出的面板中点击任意导航项
  3. 系统会自动打开对应的网址或文件夹

数据存储

快捷导航配置保存在应用设置中:

  • 位置:%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 则触发

未来改进

  1. 拖拽排序:实现导航项的拖拽重新排序
  2. 图标自定义:支持为每个导航项设置自定义图标
  3. 分组功能:支持将导航项分组管理
  4. 网站标题获取:自动从网站获取真实标题(需要主进程支持)
  5. 导入导出:支持导入导出快捷导航配置
  6. 搜索过滤:在面板中添加搜索框快速过滤导航项
  7. 最近使用:记录并显示最近使用的导航项

更新日志

v0.2.0

  • ✅ 添加浏览文件夹按钮:在路径输入框右侧添加文件夹图标按钮,点击可打开文件夹选择器
  • ✅ 修复焦点问题:打开快捷导航面板时不再自动聚焦到关闭按钮
  • ✅ 修改快捷键:从 Ctrl+K 改为双击 Shift 键