我制作的小工具合集

分享一些我在日常工作和学习中制作的小工具,包括效率工具、设计助手、数据处理脚本等。这些工具虽然简单,但在特定场景下却能大大提高效率。

创造工具的初心

作为一个程序员和设计爱好者,我经常遇到一些小而烦人的重复性任务。市面上虽然有很多现成的工具,但要么功能过于复杂,要么不够符合自己的使用习惯。于是我开始动手制作一些小工具,专门解决自己遇到的具体问题

这些工具的特点是:简单、专注、实用。它们可能不会适合所有人,但在特定的使用场景下,却能大大提升工作效率。

"最好的工具是那些能够无声地融入你的工作流程,让你忘记它们存在的工具。"
12
工具总数
3.2K
总使用次数
24
节省小时数
8
开源项目

设计工具类

作为一个对设计有兴趣的开发者,我经常需要处理一些设计相关的任务。以下是我制作的几个设计工具:

UI画布尺寸计算器

Vue.js CSS Grid PWA

为UI设计师打造的专业画布尺寸计算工具。支持多种设备尺寸预设,自动计算适配比例,让响应式设计变得更简单。

主要功能:
  • 常用设备尺寸预设(iPhone、iPad、Desktop等)
  • 自定义画布尺寸计算
  • 比例缩放计算器
  • 导出为多种格式
  • 支持暗色主题

颜色搭配生成器

JavaScript Canvas API 色彩理论

基于色彩理论的智能配色工具,支持单色、互补色、三角色等多种配色方案,为设计师提供专业的色彩搭配建议。

核心特性:
  • 基于HSL色彩空间的科学配色
  • 支持多种配色方案(单色、互补、三角等)
  • 实时预览配色效果
  • 一键导出为CSS、SCSS变量
  • 颜色无障碍性检查

开发效率工具

在日常开发过程中,总会遇到一些重复性的任务。以下工具帮助我提高开发效率:

代码片段管理器

Electron Monaco Editor SQLite

专为开发者设计的代码片段管理工具,支持多语言语法高亮、标签分类、快速搜索,让常用代码片段随手可得。

实用功能:
  • 多语言语法高亮(支持50+编程语言)
  • 智能标签分类系统
  • 全文搜索与模糊匹配
  • 一键复制与快捷键支持
  • 导入导出与备份功能

JSON格式化器增强版

TypeScript Web Workers Monaco Editor

不仅仅是格式化JSON,还能进行数据类型分析、结构比较、路径查询等高级功能,是API开发和调试的得力助手。

高级特性:
  • 超大JSON文件处理(Web Workers)
  • 数据类型自动检测与统计
  • JSON结构对比工具
  • JSONPath查询器
  • 导出为多种格式(CSV、XML、YAML)

数据处理工具

在数据驱动的时代,经常需要处理各种格式的数据。这些工具让数据处理变得更简单:

CSV数据可视化工具

D3.js Chart.js Papa Parse

将CSV数据快速转换为各种图表,支持柱状图、折线图、饼图等多种可视化形式,并能导出为高质量图片。

可视化功能:
  • 支持多种图表类型(15+种图表)
  • 交互式图表配置
  • 自动数据类型识别
  • 导出SVG、PNG、PDF格式
  • 响应式图表设计

批量文件格式转换器

WebAssembly File API Service Worker

支持图片、文档、音频等多种文件格式的批量转换,完全在浏览器中运行,无需上传文件到服务器,保护隐私安全。

转换能力:
  • 图片格式:JPG、PNG、WebP、AVIF互转
  • 文档格式:PDF、Word、Markdown转换
  • 批量处理与进度显示
  • 自定义输出质量
  • 完全本地处理,保护隐私

生产力工具

提高个人生产力的小工具,帮助更好地管理时间和任务:

番茄时钟助手

PWA Web Audio API IndexedDB

简洁美观的番茄工作法时间管理工具,支持自定义时间间隔、统计功能、白噪音播放,帮助提高工作效率和专注力。

专注功能:
  • 自定义工作/休息时间间隔
  • 多种提醒声音和白噪音
  • 专注时间统计与分析
  • 任务列表与番茄关联
  • 离线工作,支持PWA安装

智能书签管理器

Chrome Extension Machine Learning Local Storage

智能分析网页内容,自动分类书签,支持标签管理和快速搜索。让收藏的网页不再石沉大海,随时能找到需要的内容。

智能特性:
  • 自动网页内容分析与分类
  • 智能标签建议系统
  • 全文搜索与模糊匹配
  • 重复书签检测与清理
  • 导入导出主流浏览器书签

技术实现与思考

在制作这些工具的过程中,我学到了很多有趣的技术和设计理念:

技术选型的考虑

  • Web技术优先:大部分工具都基于Web技术,跨平台且易于部署
  • 离线优先:使用Service Worker和PWA技术,确保工具在离线状态下也能使用
  • 隐私保护:尽可能在本地处理数据,避免上传到服务器
  • 性能优化:使用Web Workers处理重计算任务,避免阻塞UI
// 使用Web Worker处理大量数据
const worker = new Worker('/workers/data-processor.js');

worker.postMessage({
  type: 'PROCESS_CSV',
  data: csvData
});

worker.onmessage = function(e) {
  const { result, progress } = e.data;
  updateProgress(progress);
  if (result) {
    displayResult(result);
  }
};

设计原则

"好的工具应该是invisible的——它们帮你完成任务,然后消失在背景中。"
  • 简洁直观:界面设计遵循"少即是多"的原则
  • 专注单一功能:每个工具只解决一个具体问题
  • 快速上手:无需学习成本,打开即用
  • 响应式设计:在各种设备上都有良好的使用体验
开发心得:制作小工具的过程让我更深刻地理解了"用户体验"的含义。最好的工具不是功能最多的,而是最能解决用户痛点的。

开源与分享

我相信知识和工具应该被分享。这些工具中的大部分都已经开源,希望能帮助到更多人:

开源项目统计

8
开源项目
156
GitHub Stars
23
Contributors
2.1K
总下载量

如何贡献

如果你对这些工具感兴趣,欢迎参与贡献:

  • 使用反馈:发现bug或有改进建议,请在GitHub上提Issue
  • 代码贡献:欢迎提交Pull Request改进代码
  • 文档完善:帮助改进使用文档和示例
  • 功能建议:分享你的使用场景和功能需求

未来计划

工具的开发永无止境,以下是一些正在计划或开发中的项目:

  • AI写作助手:基于大语言模型的写作辅助工具
  • Markdown编辑器:功能丰富的在线Markdown编辑器
  • API文档生成器:从代码注释自动生成API文档
  • 项目模板生成器:快速生成各种项目脚手架
"工具的价值不在于它们有多复杂,而在于它们能为用户节省多少时间。"

结语:小工具,大智慧

这些小工具可能看起来很简单,但它们承载着我对效率、简洁、实用的追求。在制作每一个工具的过程中,我都试图回答一个问题:如何用最简单的方式解决最具体的问题?

技术的价值不在于炫技,而在于能否真正改善人们的工作和生活。希望这些小工具能在某个瞬间为你节省一点时间,带来一丝便利。

如果你也有类似的想法,不妨动手尝试制作属于自己的小工具。记住:最好的工具往往来自于自己遇到的真实问题

想要学习制作工具?我会在后续的文章中分享更多关于工具开发的技术细节和设计思路,敬请期待!