# e-shortcuts **Repository Path**: codewarning/e-shortcuts ## Basic Information - **Project Name**: e-shortcuts - **Description**: 一个基于 Tauri + Vue 3 开发的现代化桌面快捷方式管理器,提供快速搜索、启动桌面应用程序的功能,同时支持全局快捷键和系统托盘集成。 - **Primary Language**: Rust - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-09 - **Last Updated**: 2025-08-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # E-Shortcuts - 桌面快捷方式管理器 一个基于 Tauri + Vue 3 开发的现代化桌面快捷方式管理器,提供快速搜索、启动桌面应用程序的功能,同时支持全局快捷键和系统托盘集成。 > 本项目99%的代码通过Claude4模型生成 ## ✨ 功能特性 ### 🔍 智能搜索 - **多种搜索方式**:支持中文名称、拼音全拼、拼音首字母搜索 - **实时过滤**:输入即搜索,快速定位目标应用 - **键盘导航**:支持方向键选择,回车启动 ### 🚀 快速启动 - **自动扫描**:自动扫描用户桌面和公共桌面的快捷方式 - **图标显示**:提取并显示应用程序图标 - **一键启动**:点击或回车即可启动应用程序 ### ⌨️ 全局快捷键 - **自定义快捷键**:可配置显示/隐藏窗口的全局快捷键 - **默认快捷键**:Alt + Space 显示窗口,Esc 隐藏窗口 - **后台运行**:支持最小化到系统托盘 ### 🎨 现代化界面 - **毛玻璃效果**:现代化的透明毛玻璃界面设计 - **响应式布局**:自适应网格布局,支持不同屏幕尺寸 - **流畅动画**:丰富的交互动画和过渡效果 ### ⚙️ 系统集成 - **系统托盘**:支持托盘图标和右键菜单 - **开机自启**:可选择开机自动启动 - **单实例运行**:防止重复启动多个实例 - **窗口拖拽**:支持拖拽移动窗口位置 ## 🛠️ 技术栈 ### 前端技术 - **Vue 3** - 渐进式 JavaScript 框架 - **TypeScript** - 类型安全的 JavaScript 超集 - **Element Plus** - Vue 3 组件库 - **Vite** - 现代化前端构建工具 - **SCSS** - CSS 预处理器 ### 后端技术 - **Tauri** - 跨平台桌面应用框架 - **Rust** - 系统级编程语言 - **Windows API** - Windows 系统集成 - **Tokio** - 异步运行时 ### 核心依赖 - **pinyin-pro** - 中文拼音转换 - **tauri-plugin-global-shortcut** - 全局快捷键支持 - **winapi** - Windows API 绑定 - **dirs** - 系统目录获取 ## 📦 项目结构 ``` shortcuts/ ├── src/ # Vue 前端源码 │ ├── components/ # Vue 组件 │ │ ├── SearchBar.vue # 搜索栏组件 │ │ ├── ShortcutGrid.vue # 快捷方式网格组件 │ │ ├── ShortcutItem.vue # 快捷方式项组件 │ │ └── SettingsPage.vue # 设置页面组件 │ ├── types/ # TypeScript 类型定义 │ ├── assets/ # 静态资源 │ ├── App.vue # 主应用组件 │ └── main.ts # 应用入口文件 ├── src-tauri/ # Tauri 后端源码 │ ├── src/ │ │ ├── core/ # 核心功能模块 │ │ ├── system/ # 系统集成模块 │ │ │ ├── shortcuts.rs # 快捷方式管理 │ │ │ ├── hotkeys.rs # 全局快捷键 │ │ │ ├── autostart.rs # 开机自启动 │ │ │ └── icons.rs # 图标提取 │ │ ├── ui/ # 界面管理模块 │ │ ├── lib.rs # 库入口文件 │ │ └── main.rs # 应用入口文件 │ ├── icons/ # 应用图标 │ ├── Cargo.toml # Rust 依赖配置 │ └── tauri.conf.json # Tauri 配置文件 ├── public/ # 公共静态文件 ├── index.html # 主页面模板 ├── settings.html # 设置页面模板 ├── package.json # Node.js 依赖配置 ├── vite.config.ts # Vite 构建配置 └── README.md # 项目说明文档 ``` ## 🚀 快速开始 ### 环境要求 - **Node.js** >= 16.0.0 - **pnpm** >= 7.0.0 - **Rust** >= 1.70.0 - **Visual Studio** (Windows 开发需要) ### 环境搭建 #### 1. 配置 Rust 环境变量(可选,加速下载) ```bash # Windows 环境变量 RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup ``` #### 2. 安装 Visual Studio 选择**使用C++的桌面开发**工作负载 #### 3. 安装 Rust 工具链 ```bash # 安装 rustup winget install --id Rustlang.Rustup # 设置默认工具链 rustup default stable-msvc ``` #### 4. 配置 Cargo 镜像(可选) 创建文件 `C:\Users\你的用户名\.cargo\config.toml`: ```toml # 中国科技大学镜像 [source.crates-io] replace-with = "ustc" [source.ustc] registry = "https://mirrors.ustc.edu.cn/crates.io-index" ``` #### 5. 安装 Tauri CLI ```bash # 安装 tauri-cli cargo install tauri-cli --locked # 验证安装 cargo tauri --version ``` ### 开发运行 ```bash # 1. 克隆项目 git clone cd shortcuts # 2. 安装前端依赖 pnpm install # 3. 启动开发服务器 pnpm run tauri-dev ``` ### 构建发布 ```bash # 构建生产版本 pnpm run tauri-build ``` 构建完成后,可执行文件位于 `src-tauri/target/release/` 目录下。 ## 📖 使用说明 ### 基本操作 1. **启动应用**:双击运行或使用全局快捷键 `Alt + Space` 2. **搜索应用**:在搜索框中输入应用名称、拼音或首字母 3. **启动应用**:点击图标或使用方向键选择后按回车 4. **隐藏窗口**:按 `Esc` 键或点击托盘按钮 5. **退出应用**:右键托盘图标选择退出 ### 快捷键说明 | 快捷键 | 功能 | |--------|------| | `Alt + Space` | 显示/隐藏主窗口 | | `Esc` | 隐藏窗口到托盘 | | `↑↓←→` | 选择快捷方式 | | `Enter` | 启动选中的快捷方式 | ### 设置配置 右键托盘图标选择"设置"可以配置: - 窗口大小 - 全局快捷键 - 开机自启动 - 其他个性化选项 ## 🔧 开发指南 ### 项目架构 本项目采用前后端分离架构: - **前端**:Vue 3 + TypeScript 负责用户界面 - **后端**:Rust + Tauri 负责系统集成和业务逻辑 - **通信**:通过 Tauri 的 IPC 机制进行前后端通信 ### 核心模块说明 #### 前端模块 - `SearchBar.vue`:搜索栏组件,处理用户输入 - `ShortcutGrid.vue`:快捷方式网格,支持键盘导航 - `ShortcutItem.vue`:单个快捷方式项,显示图标和名称 - `SettingsPage.vue`:设置页面,配置应用选项 #### 后端模块 - `shortcuts.rs`:快捷方式扫描、图标提取、应用启动 - `hotkeys.rs`:全局快捷键注册和处理 - `autostart.rs`:开机自启动管理 - `window.rs`:窗口显示、隐藏、位置管理 ### 添加新功能 1. **前端功能**:在 `src/components/` 中添加新组件 2. **后端功能**:在 `src-tauri/src/` 中添加新模块 3. **IPC 通信**:在 `lib.rs` 中注册新的命令处理函数 ## 🐛 常见问题 ### 构建问题 **Q: Rust 依赖下载缓慢** A: 配置 Cargo 镜像源,参考环境搭建部分的镜像配置。 ### 运行问题 **Q: 应用无法获取快捷方式** A: 检查桌面目录权限,确保应用有读取桌面文件的权限。 **Q: 全局快捷键不生效** A: 检查是否有其他应用占用了相同的快捷键组合。