工具是编程的铠甲(下篇):从文件对比、全文搜索到数据库设计

工具是编程的铠甲(下篇):从文件对比、全文搜索到数据库设计

上篇讲了远程连接、文件传输、本地搜索这三类工具(《工具是编程的铠甲(上篇):从远程连接、文件传输到本地秒搜》),这篇继续把剩下几款补完。

这篇主要是对比、搜索、标注、设计 这一类偏工程向的工具:Beyond Compare (文件/文件夹对比)、自己编写的全文搜索工具 (文档太多时的刚需)、JsonView (JSON 查看)、PxCook (UI 标注)、pdman (数据库设计),以及发布文章离不开的掘金/知乎图片上传工具

有同学可能已经发现:我确实喜欢「自己造轮子」,但造的也都是刀刃上的工具。工具的目的是提高效率,适合自己的就是最好的。

一. 掘金/知乎图片上传工具

编写很多文档后,总有一些值得发布到掘金、知乎。如果截图比较多,就要一张一张地替换成外链。我前面二十多篇文章都是这样过来的,真是文章上传五分钟,图片上传半小时,确实很麻烦。

我的《用 Qoder 做掘金图片一键替换工具:从「你行不行」到真跑通了》正好解决了这个问题。具体怎么操作可以参照那篇,我也无法保证后面还能完全复刻------这就是 AI 编程的不确定性,为了这个功能,我至少试了多个工具,只有 Qoder 完成了。

我当时就生成了 exe 文件发到桌面。登录只要第一次登录后就可以了,打开后如下:

选择 md 文件,最好图片是放在 md 目录下面。代码我也没认真看,但 image/images 应该是没问题的。

上传全部,图片上传完成后如下图:

单击「保存为新文件」:

显示还是有点问题,好像说是防盗链,那就到掘金写文章里导入:

这次不知道为什么导入有一张失败,这种错误是偶尔的。但大部分是可以的,这就节省了大量时间。

知乎版本也是一样的:

补充说明:这个工具的用法和「前置阅读」里 Qoder 那篇文章是配套的,核心就是本地 md 用相对路径,上传后自动替换成图床外链再另存。偶尔有一两张失败,重新跑一次就行,不要被吓到。

二. 自己编写的全文搜索工具

上篇说了要记录文章,但文章太多,查询起来也不方便。Windows 的搜索慢,Everything 又只能搜文件名,没法搜内容。所以我就自己编写了一个全文搜索工具,类似百度,全文搜索。

Elasticsearch 那些代码比较老旧,我用起来不顺手,就干脆自己写。我编写过一系列文章,「私文简搜 DocSolo」就是相关的,你可以自己编写,也可以通过我开源的代码自己运行一下。

后面我改成过聊天方式,也写过文章,你也可以按文章自己编写。

这个工具非常有用。都说「好记性不如烂笔头」,但文章太多了,就是好笔头不如烂记性了------记了找不到等于没记。所以一定要有自己的全文搜索工具。

这是我以前写的搜索工具,登录以后才可以全文搜索:

我按文章编写的「私文简搜」界面更简洁,代码结构更合理:

大家可以按前面的文章自己编写一套。

补充说明:我写这个工具的目的不是推荐前面的文章,而是说这个工具非常有必要。特别是公司有一套这样的工具,一个人的知识就是全公司的知识,对公司的发展非常有利。

三. Beyond Compare:文件对比

前面我专门写过《基于 FreeMarker 的 SaaS 文档系统代码生成器设计与实现》,当时就说过一个核心痛点:生成器生成的代码,和我们根据业务修改后的代码,必然存在差异;另外,多人协作时,你和同事修改了同一个文件,也需要快速定位差异。这时候,文件比较工具就成了刚需,我常用的是 Beyond Compare。

它的核心优势是「全能且精准」:支持的文件类型种类多,会用不同颜色标注差异。特别是配合代码生成器时------比如数据库中增加了字段,代码又已编写,用文件比较工具就非常方便,只对比哪些已改变的部分,从而不影响代码、不会弄丢代码。

工具的使用非常简单,有二进制对比、直接比较等。而代码生成器生成的正好是分目录的,所以文件夹比较就非常有用:

这个就不做太多介绍了,大家知道有这东西就行,在要用的时候能想起来。

踩坑记录:多人协作时,两个人改了同一个文件,合并前先比较一下,能把冲突消解在提交之前,比合并工具弹一堆冲突再一个个手选省心得多。

四. JsonView:JSON 查看

做前后端调试时,返回的数据大多是 JSON 格式。我看黑马的教程,每次要查看 JSON 都是通过在线解析,每次都要搜索「json 在线解析」,然后从中选一个:

这是我从以前文章里找到的 JSON:

json 复制代码
{
  "success": true,
  "status": 200,
  "message": "操作成功",
  "data": {
    "id": "260708340N6TMP8S32W",
    "name": "一级目录",
    "parentId": null,
    "extro": null,
    "createdBy": "26070733Z0DN27RX2A8",
    "createdTime": "2026-07-08 20:08:09",
    "updatedBy": null,
    "updatedTime": "2026-07-08 20:08:09"
  }
}

我推荐另一个工具 JsonView,是 .NET 编写的,有时要安装。查看 JSON 就像在线解析一样:

工具是编程的铠甲,可以使用在线的,也可以使用 JsonView,主要是要使用,而不是将时间放在争辩谁优谁劣上。这一点要特别注意。

补充说明:在线解析要联网、要等页面加载,本地工具双击即开。不管用哪个,调试时快速看清 JSON 结构就够了,别本末倒置去研究工具本身。

五. PxCook:UI 标注

如果涉及前端开发(比如我之前做的 Vue3、Vant 移动端),或者需要和前端同事协作,标注工具必不可少。PxCook 是我用过的比较顺手的一款,核心优势是「简单、精准、全平台兼容」。

  • 核心功能:设计师给的 UI 图,导入 PxCook 后能直接标注尺寸、颜色、字体------前端开发时不用再反复问设计师「这个按钮多大」「这个字体是什么」,自己就能精准取参;
  • 协作技巧:支持多人共享标注项目,设计师更新 UI 图后,前端能实时看到最新标注;还能直接导出 CSS 代码(比如颜色值、尺寸样式),复制粘贴就能用,减少手写错误;
  • 后端也能用:哪怕你不做前端,有时候看 UI 图理解业务需求时,用 PxCook 放大查看细节,也能更清晰地知道接口需要返回哪些字段,避免开发偏差。

以前做 Android 开发时,经常要获取颜色值、大小、间距,而我们也没标注得那么详细,就需要我自己来判断获取,这时就需要 PxCook:

工具怎么使用,可以查看官方教程。

六. pdman:数据库设计

以前做数据库设计一直用的是 PowerDesigner,直到发现 pdman 这个工具(当然我使用的是比较老的版本)。数据库设计是后端开发的基础,设计得好,后续开发能少踩很多坑。pdman 比传统的 PowerDesigner 更轻量化,也更贴合国内开发者的使用习惯。

重点说下它的核心优势,尤其是对后续项目讲解的帮助:

  • 专注核心字段,提升效率 :设计表结构时,能自动带出一些常用字段(比如 idcreate_timeupdate_timedel_flag 等),不用每次都手动添加------规范字段名的同时,还能节省设计时间;
  • 联动接口文档:后面讲 Knife4j(接口文档工具)时会发现,pdman 里设计的字段注释、字段类型,能和接口文档的字段说明对应上------相当于「一次设计,多处复用」,后续讲解项目时,从数据库设计到接口开发能一条龙串起来,逻辑更清晰;
  • 实用功能:支持导出 SQL 脚本(直接执行就能创建表)、生成数据库设计文档(Markdown/PDF 格式),团队协作时,规范的设计文档能减少沟通成本。

在设置里配置默认字段,这样每张表都会自动带上:

数据库连接我一般是不用的,因为真正的库不能通过这些工具生成。既然能用 SQL 创建,就直接使用代码信息手动执行 SQL:

补充说明:pdman 的设计结果可以导出成 Markdown 设计文档,和上篇 Typora 那一套是配套的------设计文档写完就能归档,配合全文搜索工具,后期要查某个字段的设计依据,一搜就出来了。

七. 小结

下篇讲了六个偏工程向的工具:

  • 掘金/知乎图片上传工具:Qoder 写的,发布文章时把本地相对路径图片一键替换成外链,省下大量时间;
  • 自己编写的全文搜索工具:Everything 只能搜文件名,全文搜内容还得靠自己写的工具,「好笔头不如烂记性」;
  • Beyond Compare:文件/文件夹对比,配合代码生成器只用对比已改变的,不会弄丢代码;
  • JsonView:本地 JSON 查看,和在线解析效果一样,但不用联网等加载;
  • PxCook:UI 标注,前端取尺寸、颜色、字体,后端看接口字段,都很方便;
  • pdman:轻量级数据库设计工具,自动带常用字段,还能导出 SQL 和设计文档。

踩坑汇总:

问题 解决方案
图片上传偶尔失败一两张 重新跑一次工具,大部分都能成功
文档太多找不到内容 用自建全文搜索工具,而不是 Windows/Everything(后者只搜文件名)
多人改了同一个文件 提交前用 Beyond Compare 先对比,把冲突消解在合并之前
JSON 结构看不清 用 JsonView 或在线解析,别纠结哪个好,用起来就行

工具肯定不止这几种,特别是全文搜索工具,还是自己编写的。工具的目的是提高效率,只要能提高效率,就是好的工具。如果你在工作生活中用到了好的工具,欢迎留言,也为我提供一些帮助。


这篇就先记录到这里。工具是编程的铠甲,希望这两篇能给你一些参考,我们下个系列见。

相关推荐
逻辑帧1 小时前
洞见AI本质系列-参数的演化
ai编程
用户45989204565161 小时前
我用 AI Agent 自动生成了整个 App 的业务地图(开源)
ai编程·客户端
思考着亮1 小时前
4.Redis 核心概念与实战深度
后端
ServBay1 小时前
MCP Server 是什么?为什么是2026年开发团队的必备?
aigc·ai编程·mcp
Cerrda1 小时前
把团队 Mock 工作流做成可安装 Skill:faker-mock-setup 上架 skills.sh 实践
ai编程·cursor
Java编程爱好者1 小时前
Reactor 网络模型演进:图解 7 种 Reactor 网络模型
后端
YuePeng1 小时前
一个注解起家,25 个模块收尾:Erupt 的生态版图长这样
后端·github
睡觉时不困4421 小时前
7.从底层讲清楚Git仓库
后端
神奇小汤圆2 小时前
解放双手!SpringBoot 6种自动填充公共字的手段,这些代码真没必要手写!
后端