Lazy loaded image
utools插件:余汉波文本片段助手,快速搜索与插入Markdown文件的实用工具
00 分钟
2025-4-14
2025-4-14
type
status
date
slug
summary
tags
category
icon
password

功能特点和使用方法

一个快速搜索并直接插入 Markdown 文本到当前输入框的 uTools 插件。

功能特点

  • 自动从指定文件夹加载所有 .md 文件作为文本片段
  • 每个 .md 文件名自动注册为 uTools 命令,可直接搜索并插入内容
  • 直接在任何应用的输入框中插入 MD 文件内容,无需打开插件界面
  • 支持文本片段的创建、编辑、删除
  • 支持搜索子文件夹中的文件
  • 支持自动插入或复制到剪贴板
  • 支持文件变更监控,自动更新命令列表

使用方法

  1. 在 uTools 中安装本插件“余汉波文本片段助手”
  1. 打开插件设置,配置文本片段文件夹路径
  1. 在文件夹中创建 .md 文件,或使用插件界面创建文本片段
  1. 在任何应用的输入框中,唤起 uTools 并输入 MD 文件名
  1. 选择对应的片段,内容将直接插入到当前输入框
例如:如果你有一个名为"感谢信"的 MD 文件,只需在任何输入框中唤起 uTools,输入"感谢信",选择后内容会自动插入。

设置选项

  • 文本片段文件夹路径:存放所有 MD 文件的文件夹
  • 自动插入内容:选择后直接插入到活动窗口,否则只复制到剪贴板
  • 搜索子文件夹:是否包含子文件夹中的文件

两种使用模式

  1. 直接插入模式(推荐)
   - 在任何输入框中唤起 uTools
   - 输入文件名,选择对应片段
   - 内容直接插入到当前输入位置
  1. 插件管理模式
   - 通过"文本片段"命令进入插件界面
   - 可以浏览、搜索、新建、编辑、删除文本片段

开发说明

本插件基于 uTools API 开发,使用了以下功能:
  • 动态特性注册 (utools.setFeature)
  • 文件系统操作 (fs 模块)
  • 自动化键盘操作 (utools.simulateKeyboardTap)
  • 列表模式 (mode: "list")

使用提示

  • 文件名将作为搜索关键词,建议使用简短且有意义的名称
  • 定期刷新插件以更新文件变更
  • 对于长文本,建议创建多个小的片段,便于管理和快速找到
notion image

简介

1. 引言

在日常工作和生活中,我们经常需要重复输入一些固定的文本内容,如问候语、模板回复、代码片段等。如何高效地管理和使用这些文本片段?
uTools余汉波文本片段助手提供了一个优雅的解决方案。本文将深入剖析这个插件的代码实现,向读者展示其工作原理、核心功能和技术细节。

2. 插件概述

uTools余汉波文本片段助手是一款基于uTools平台开发的插件,主要功能是帮助用户快速搜索Markdown文件并直接将内容插入到当前的输入框中。该插件具有以下特点:
  • 自动扫描指定文件夹中的Markdown文件,将其作为文本片段
  • 支持多路径配置,可同时管理多个文件夹中的片段
  • 每个Markdown文件名自动注册为uTools命令,支持直接调用
  • 支持创建、编辑、删除文本片段的管理功能
  • 提供搜索功能,快速定位所需文本片段
  • 自动插入功能,无需手动复制粘贴

3. 技术架构

该插件采用了HTML、CSS、JavaScript的前端技术栈,结合Electron和uTools API实现了跨平台的功能。整体架构可分为三部分:
  1. 前端界面:基于HTML/CSS/JavaScript实现用户交互界面
  1. 预加载脚本:使用Node.js提供文件操作、片段管理等功能
  1. 插件配置:通过plugin.json定义插件基本信息和命令

3.1 文件结构

notion image

4. 核心功能实现

4.1 片段管理与扫描

插件的核心功能是扫描和管理文本片段。这部分主要在preload.js中实现:
这段代码实现了递归扫描指定文件夹中的所有Markdown文件,并将它们加载为文本片段。值得注意的是,它支持多路径扫描和子文件夹搜索选项,提供了很好的灵活性。

4.2 动态命令注册

插件的一个重要特性是将每个Markdown文件自动注册为uTools命令,这通过registerDynamicCommands函数实现:
这段代码首先清理了所有以"snippet-"开头的旧特性,然后为每个扫描到的片段创建新的特性定义,并通过uTools API进行注册。这样,用户就可以直接通过文件名调用文本片段。

4.3 内容插入功能

插件的另一个核心功能是自动插入内容到当前输入框,这通过insertContent函数实现:
这个函数通过一系列巧妙的步骤实现了内容插入:先隐藏uTools窗口,然后将内容复制到剪贴板,模拟Ctrl+V键盘按键实现粘贴,最后退出插件。函数还支持不同的插入模式,可以对Markdown内容进行特殊处理。

4.4 用户界面实现

插件的前端界面使用HTML、CSS和JavaScript实现,主要包括三个部分:
  1. 片段列表界面:展示所有文本片段,支持搜索和选择
  1. 片段编辑界面:用于创建、编辑和删除文本片段
  1. 设置界面:配置插件的工作方式
界面设计注重简洁和易用性,采用了现代的CSS样式,包括弹性布局、响应式设计等技术,确保在不同设备上都有良好的体验。

5. 数据流与工作流程

5.1 插件初始化流程

  1. 加载插件配置信息
  1. 初始化预加载脚本
  1. 扫描指定文件夹,加载所有文本片段
  1. 注册动态命令
  1. 渲染用户界面

5.2 片段插入流程

  1. 用户在任何输入框中唤起uTools
  1. 输入文件名,选择对应的片段
  1. 插件隐藏窗口,将内容复制到剪贴板
  1. 模拟Ctrl+V键盘操作,将内容粘贴到输入框
  1. 退出插件

6. 技术亮点

6.1 动态特性注册

插件通过uTools API的动态特性注册功能,将每个Markdown文件自动转化为可调用的命令,大大提高了使用效率。这种实现方式允许用户直接通过文件名调用文本片段,无需额外的搜索步骤。

6.2 多路径支持

插件支持同时管理多个文件夹中的文本片段,并提供了默认路径设置,使用户可以更灵活地组织和管理自己的文本片段。

6.3 高效的内容插入

通过模拟键盘操作实现内容插入,无需用户手动复制粘贴,大大提高了效率。并且插件还支持不同的插入模式,可以对Markdown内容进行特殊处理,确保内容格式正确。

7. 潜在的改进空间

尽管该插件功能强大,但仍有一些可能的改进方向:
  1. 文件监控优化:目前使用定时扫描方式检测文件变更,可以考虑使用文件系统的监听API,以更高效地响应文件变化。
  1. 更多格式支持:除了Markdown文件,可以考虑支持其他格式的文本文件,如TXT、HTML等。
  1. 片段分类管理:引入标签或文件夹分类功能,帮助用户更好地组织大量文本片段。
  1. 云同步功能:增加云存储支持,实现不同设备间的片段同步。
  1. 插入内容优化:目前的粘贴模拟可能在某些应用中不稳定,可以考虑更可靠的内容传输方式。

8. 总结

uTools余汉波文本片段助手通过简洁的设计和强大的功能,为文本片段管理和输入提供了高效的解决方案。其核心技术包括文件系统操作、动态命令注册和键盘模拟,这些技术的巧妙结合使得插件能够无缝地融入用户的工作流程。无论是日常沟通、文档编写还是代码开发,这个插件都能帮助用户提高效率,减少重复工作。

流程图

上一篇
东财股票自动化交易下载
下一篇
utools插件:一个基于多模型融合的智能AI助手

评论
Loading...