ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

10个免费离线开发工具清单:从DevToys到DBeaver提升日常效率

10个免费离线开发工具清单:从DevToys到DBeaver提升日常效率 做开发这些年真正让我觉得“好用得不敢发朋友圈”的工具往往不是发布会宣传得满天飞的东西而是藏在 GitHub 某个角落、只在同事群里小声流传的小玩意儿。这篇要说的 10 个工具基本都符合一个特点免费、可离线使用、不绑账号并且解决的都是在开发里最碎、最烦的那类问题。不管你是写前端、搞后端联调、维护数据库连接还是折腾 STM32 这类嵌入式工程总有几款能直接改善你的日常节奏。我把它们分成三梯队后面会逐个说明安装、用法以及几个我踩过之后绕行的坑。1. 入选标准什么样的开发工具才算“查无此人”1.1 我筛选工具的四个判断先说入选标准。我平时收藏工具比较“抠门”因为电脑里装的东西越多真正顺手能用的反而越少。这次整理清单我按四个条件筛了好几轮。第一必须免费而且不是那种“免费版阉割到没法用逼你升级付费”的策略。免费开源最好实在不行也要有功能完整的 Community 版。第二安装要轻。动辄两三个 G 的 IDE、非要常驻内存的服务端不在我这次清单里。第三要能本地使用。不是说在线工具不好而是开发过程中很多代码、数据库、内网服务天然不适合上传到第三方服务器工具一旦绑定云账号使用场景就窄了一半。第四也是最重要的一条它得解决一个具体的、高频的痛点而不是做一个“看起来什么都行”的万能平台。1.2 这次没有推荐大而全的工具平台市面上其实不缺大而全的开发工具包装一个把编译、调试、容器、云部署全包进去的生态确实很省事。但这类平台通常有个问题学习成本和环境耦合度太高项目一旦换协作方式整套配置就得推倒重来。所以这 10 个工具我刻意避开了“全家桶”思路更接近“乐高积木”。比如终端提示符用 Starship本地 HTTPS 用 mkcert调试接口用 Hoppscotch画图用 draw.io。它们之间没有强依赖单独拿出来都挺能打合在一起又能把开发链路里的“边角料环节”补上。所谓“查无此人”不是说它们没名气而是很多工程师只在自己的技术圈子里用没有像 VS Code 那样成为默认选项。文章后面对每个工具都会给出实际部署步骤和参数尽量做到看完就能上手。2. 第一梯队提效小件装上就能少走神2.1 DevToys一个窗口搞定 JSON、Hash、正则先讲我电脑里使用频率最高的一个软件DevToys。简单说它是把开发中高频出现的小工具全塞进了一个窗格里。JSON 格式化、URL 编解码、Base64、UUID 生成、JWT 解码、Hash 计算、正则表达式测试、时间戳转换这些操作原本要在不同网站之间来回切现在只要打开 DevToys 就能搞定。安装之后你可以给它设置一个全局快捷键随便什么时候按一下工具面板就弹出来也不用在浏览器里新建标签页。有一个我特别常用的场景后端接口返回一段被转义过的 JSON复制到编辑器里看半天对不上字段丢进 DevToys 的 JSON 工具里格式化之后马上就能定位是哪一层结构出了问题。它还能生成 UUID 批量数据做接口测试造数据时非常方便。和在线工具比DevToys 最大的优势是离线。内网开发环境、没有外网的虚拟机里它都能用也不会把剪贴板内容偷偷上传。我一般建议先装这一款因为它的使用频率最高装完就能用几乎不需要学习成本。2.2 Starship命令行提示符也可以“快到没存在感”Starship 是一个跨 shell 的提示符工具支持 Bash、Zsh、Fish、PowerShell。它的核心特性是快、配置简单、信息密度高。装上之后命令行会显示当前目录、Git 分支、Python/Node 版本、命令执行耗时这些信息是动态获取的但 Starship 的渲染速度基本感觉不到延迟。我一开始用 Powerlevel10k后来项目多了发现每次开终端都要等一会儿主题渲染实在受不了才换到 Starship。它的配置文件是~/.config/starship.toml不需要折腾一堆脚本想加一个自定义模块往配置里加几行就行。比如我想在提示符里显示当前 Kubernetes 命名空间只需要一段很短的配置想看当前虚拟环境是 conda 还是 venv它也有现成模块。如果你之前没用过任何提示符工具第一次改完可能觉得变化不大。但真正常开发几小时之后你会意识到每次敲命令心里都有数当前在哪个分支、上一条命令跑了多久、Python 环境对不对几毫秒内就能扫到这就是它存在的价值。2.3 mkcert给本地开发配上可信 HTTPS做前端和移动端开发的人应该都有体会很多浏览器能力比如摄像头、麦克风、Service Worker、位置权限都需要 HTTPS 才能调起来。本地开发用 http 没问题可一旦联调环境里必须用域名和证书就非常头疼。mkcert 解决的就是“让本地 HTTPS 证书被系统信任”这个问题。它做的事情通俗讲就是在本地生成一个只属于你这台电脑的 CA证书颁发机构然后用这个 CA 给任何你想用的本地域名签发证书。这样浏览器访问https://myapp.test时不会出现红色警告页。具体步骤很简单先运行mkcert -install安装本地 CA再运行mkcert myapp.test *.myapp.test生成证书最后把证书和密钥配置到开发服务器里。有同事问我直接在项目里写死一个自签名证书不行吗自签名证书的问题是浏览器不认识签发者每次联调都要手动点“继续访问”如果是跨端应用App 里往往直接拒绝请求。mkcert 的 CA 被系统信任之后Chrome、Safari、Android 模拟器都能一视同仁省掉大量“为什么请求被拦截”的排查时间。需要提醒的是生成的rootCA.pem属于你个人电脑不要传到项目仓库里否则别人拉下来也不会信任同一套证书反而容易出安全问题。3. 第二梯队联调与数据库场景的“免费平替”3.1 Hoppscotch不装客户端的接口调试工具以前调 REST API最常用的工具是 Postman。但这几年我发现身边越来越多的人转向 Hoppscotch因为它在浏览器里打开就能用也可以离线部署不需要登录账号界面比 Postman 干净不少。Hoppscotch 对常见请求方式都支持包括 GET、POST、PUT、DELETE也能填 Header、Body、Query 参数。它还支持 GraphQL 和 WebSocket做实时接口调试时很有用。我最喜欢的一个功能是“生成代码”调好一个请求之后它能直接生成 cURL、JavaScript Fetch、Python Requests 等不同语言的代码片段直接粘进项目里就能跑省去翻译参数的步骤。如果你所在的内网环境不能访问外网工具Hoppscotch 还可以自托管。它提供官方容器镜像在服务器上跑一个实例团队所有人打开同一个地址就能调试保证请求记录不会落到第三方平台。我实际使用中遇到最多的问题是浏览器跨域拦截只要接口没开 CORS前端调试时就会失败。这时候不要误以为接口有问题可以先看下浏览器 Console 里的具体报错信息再用 Hoppscotch 直接发一次请求确认服务端返回就能很快区分是服务端问题还是浏览器限制问题。3.2 DBeaver Community一个客户端连遍主流数据库每次换电脑最麻烦的软件之一就是数据库客户端。很多团队用的是企业版工具正式授权不便宜个人电脑上装起来也不方便。DBeaver Community 是开源免费的数据库图形化客户端主流关系型数据库基本都能连比如 PostgreSQL、MySQL、SQL Server、SQLite、Oracle。我用它最顺手的点是它会把数据库结构、索引、约束、触发器都显示在左侧导航里不像以前要敲一堆 SQL 去查系统表。要导出某张表的数据选中表右键导出 CSV 就行要看某条慢 SQL 为什么慢可以在执行计划里直接抓取接口。还有一个比较好用的细节DBeaver 的 SQL 编辑器自动补全很智能表名、字段名、函数都会根据当前连接的库动态弹出通宵写复杂报表 SQL 时能提不少速。需要注意Community 版虽然免费但部分高级数据源或功能是需要企业版授权的。装之前先对照官网的功能说明不要误以为所有插件都能在免费版里用。我实际踩过一次坑给一个项目配了 MongoDB 连接折腾半天发现某些功能需要企业版后来换成在终端直接操作才算把问题定位清楚。所以如果你主要用关系型数据库Community 版足够如果你日常要连一堆 NoSQL 和各类数据源最好先确认清楚需求再决定是否升级。3.3 Caddy给本地多站点配置做减法本地开发环境最常见的一个需求是“多站点自定义域名”。你可能有十几个前端项目每个项目要单独跑一个端口浏览器访问project1.test、project2.test还要配 HTTPS。传统方式是用 Nginx 写一堆 server 配置改一次还要 reload 一次。Caddy 这个工具能把这个过程压缩到近乎零配置。Caddy 是一个自动 HTTPS 的 Web 服务器它会根据你给出的域名自动向本地 CA 申请证书并续期同时把对应端口的服务衔接起来。配置文件的写法非常直白比如要把zhangsan.test接到本机 8080 端口只要写一个几行的 Caddyfile运行 Caddy 就完事了。域名解析仍然是改系统的 hosts 文件或者用本地 DNS 工具但证书不用自己管端口监听也不用折腾繁琐的配置。和 Nginx 相比Caddy 的性能在绝大多数开发场景下绰绰有余。真正让我换过去的原因不是性能而是“配置改起来不费脑”。Nginx 的 server 块、location 匹配、证书路径、日志路径写久了确实能熟练但每次调试都要反复 reload失误一次还容易 502。Caddy 的语法更接近声明式看到就能猜到意思新人接手成本也低得多。如果你手头已经有稳定的 Nginx 生产环境不必替换但如果你正在搭本地多端口开发环境Caddy 值得优先试一次。4. 第三梯队前端与嵌入式开发的“隐性刚需”4.1 JSON Crack数据结构一眼看穿JSON Crack 这个名字听起来像个玩具实际用途却很硬核。它的功能一句话就能说清把 JSON 数据解析成一棵可视化的树并且以图形方式展示嵌套关系数组、对象、字符串字段一目了然。你可以把它理解成给 JSON 做“X 光扫描”数据结构不再靠脑补。我一般在三种情况用上它。第一种是调试第三方 API 的返回结果接口文档写得含糊返回嵌套五六层直接看 JSON 文本容易眼瞎丢到 JSON Crack 里节点关系立刻清晰。第二种是写数据转换逻辑之前先搞清源数据结构再设计映射关系。第三种是给团队讲接口设计把示例 JSON 粘进工具里截图比画半天结构图省事很多。它支持在浏览器里打开也提供了 VS Code 插件在编辑器里选中 JSON 就能预览。有一点要注意超大 JSON 文件不要直接拖进去。我之前把一个几十 MB 的导出文件放进去页面卡了十几秒。正确的做法是用 jq 或代码先把关键字段拆出来生成一个小型样例再扔进工具里分析。JSON Crack 是辅助理解的工具不是大数据分析平台用对场景会很顺手。4.2 STM32CubeMX VS Code从模板到烧录不再开三套软件很长一段时间里搞 STM32 开发意味着要同时开着 Keil、CubeMX、串口助手几个软件来回切换。尤其是刚拿到一块 STM32F103C8T6 开发板想按标准流程新建一个工程模板时配置过程能劝退不少人。CubeMX VS Code 这套免费组合能把“新建工程、写代码、编译、烧录、调试”集中到一个流程里。先说工程模板的搭建思路。在 CubeMX 里选好 MCU 型号 STM32F103C8T6配置时钟树。外部晶振如果是 8MHz可以把系统时钟配到 72MHz这是 F103 最常用的值。然后配置调试接口在 Debug 选项里选 Serial Wire不然 ST-Link 或 J-Link 可能连不上。再配置一个 GPIO 用来点灯比如 PC13 在大多数板子上连接板载 LED。生成工程时选择 Makefile 工具链而不是 Keil。这样 CubeMX 生成的是初始化代码和 Makefile 工程后续编译交给 VS Code 加 ARM 工具链完成。VS Code 侧需要安装几个扩展C/C 语言支持、Cortex-Debug、以及你手头调试器对应的驱动。如果用的是 J-Link就把 launch.json 里的 servertype 配成 jlink如果用的是 ST-Link走 OpenOCD 会更顺手。官方工具链方面建议安装 GNU ARM Embedded Toolchain然后确保 make 和 arm-none-eabi-gcc 在 PATH 里。配置完成后在 VS Code 里按 F5 就能完成编译、烧录、进入调试代码写完了也不需要切回 Keil。初学者最容易踩的坑是生成工程之后手写的代码被 CubeMX 覆盖。CubeMX 每次重新生成都会把写在 USER CODE 区域之外的代码清掉。规范的写法是把自定义逻辑放在/* USER CODE BEGIN */和/* USER CODE END */之间这样重新生成配置时这些代码会被保留。如果你非要沿用标准外设库而不想用 HAL/LL也可以但新项目我一般不推荐因为 HAL/LL 在 CubeMX 的支持下更省事标准库更适合做底层学习或者迁移老项目。4.3 draw.io画架构图、时序图、ER 图的离线主力最后聊一个不太像“开发神器”但在开发过程中不可或缺的工具draw.io也就是 diagrams.net 的桌面版。画系统架构图、时序图、ER 图、流程图它是我的默认选择。原因很简单免费、离线、文件直接存在本地 Git 仓库里。它可以和 VS Code 搭配得很舒服。在 VS Code 里装 draw.io 扩展直接在项目目录里新建.drawio.svg文件改了图就相当于改了仓库里的一个文本文件提交之后团队所有人都在同一个版本里看不用再通过网盘传来传去。而且.drawio.svg这种格式天然适合嵌入 Markdown 文档画出来之后直接支持缩放阅读体验比截图好。如果你之前主要用在线白板工具可能会觉得它不够酷炫但实际梳理系统链路时draw.io 的稳定性和可编辑性很有价值。我的经验是画架构图不要急着做视觉美化先把模块、箭头、数据流放对。真的有新同事加入时能读懂图比图好看重要得多。draw.io 支持导出 PNG、SVG、PDF也可以嵌入网页各类分享场景它都能覆盖。5. 自托管监控与可视化Uptime Kuma5.1 为什么我最后才说它我把 Uptime Kuma 放在后面是因为它并不是一个“开发者随手装一下”的工具更像一个“团队早晚会需要”的监控面板。它可以自托管部署用来监控 HTTP 接口、TCP 端口、Ping、DNS、证书有效期并且把监控结果做成一个漂亮的状态页。对于个人开发者来说免费额度是有用的但如果你同时监控十几个内网服务自建更安心。Uptime Kuma 最打动我的是“部署成本极低”。它提供官方容器镜像一条 Docker 命令就能启动数据都放在本地卷里。装完之后你只需要填要监控的 URL 或 IP、检测间隔、通知渠道几分钟就能把服务跑起来。通知渠道我通常配上钉钉或企业微信机器人也可以走 Telegram不同的场景可以选不同的接收方式。5.2 部署参数与日常使用如果你熟悉 DockerUptime Kuma 的启动命令非常直观。需要映射一个网页端口比如 3001然后挂载一个数据卷用于保存监控配置和历史记录。启动之后首次访问会进入初始化页面创建管理员账号接着就能添加第一个监控项。监控项配置里我一般把“重试次数”和“超时时间”调得合理一些避免网络抖动导致频繁误报。内网接口的检测间隔可以设 1 分钟敏感的生产接口不建议太频繁否则反而会带来额外负担。通知方面建议把“启动通知”关掉否则服务重启时会被轰炸。它还可以给多个监控项生成一个公共状态页客户端可以直接访问查看服务健康度对那些需要对外提供“运行状态”的团队项目尤其方便。6. 使用注意事项与避坑记录6.1 本地证书经常被忽略的信任链问题mkcert 用起来顺手但有一个环节容易出问题有人把rootCA.pem直接塞进 Docker 镜像或项目仓库里以为这样容器里的服务就能被信任。事实上容器运行在自己的文件系统里宿主机的信任链不会自动带进去。如果你在 Docker 里跑 nginx、Caddy 之类的服务需要在容器启动时把 CA 文件挂载进去并在容器系统里执行信任操作才能让容器内部也觉得证书“合法”。另一个常见问题是在 Android 模拟器里调试。模拟器里的浏览器并不会使用宿主机的系统信任库你要把根证书导入到模拟器的证书设置里。这个小步骤不做App 里发起的 HTTPS 请求还是会失败。我的经验是先把证书下载到本地再通过模拟器的文件传输功能放进去然后在设置里安装。一次配好之后后续调试会顺利很多。6.2 工具越全越要管住安装权限免费工具一多就会出现一个安全隐患你根本不知道哪些“免费”软件在后台做了什么。这次清单里的工具基本都是开源项目或官方提供的社区版来源相对可靠但日常使用仍要保持几个底线。第一只从官网、官方 GitHub 或系统包管理器安装不要搜到“破解版”“优化版”低版本下载。第二给工具分配最小必要权限比如本地证书工具只需要访问用户目录和系统证书存储不需要它能随意读写整个磁盘。第三工具不用的时候尽量退出特别是这类常驻面板类工具减少内存占用也降低被绑定的风险。7. 常见问题排查速查表7.1 现象明明配置了本地域名浏览器还是 502通常情况下问题不在证书而在端口和 hosts 之间的映射没对上。先确认本机 hosts 文件里是否写了127.0.0.1 zhangsan.test再确认目标端口上的服务是跑在127.0.0.1还是0.0.0.0。很多开发服务器默认只监听 localhost如果外面通过别的主机访问就会失败。还有一点本地端口一旦被占用服务可能没启动成功先看终端里的启动日志再检查端口状态。7.2 现象JSON Crack 打开大文件卡死这个问题我在前面提过。JSON Crack 适合中小型 JSON 的分析如果你一次性贴了几万行数据页面大概率会卡。推荐的方式是先取一个子集例如用jq .data[0:10]提取前十条记录再做可视化。实在需要分析完整结构可以先用 JSON Schema 工具生成结构说明JSON Crack 只负责你看不清的那部分。7.3 现象DBeaver 连不上远程数据库DBeaver 报连接失败时先看是网络层失败还是认证失败。网络层失败检查数据库端口是否放行、是否绑定到了公网地址。认证失败检查用户的 host 限制比如 MySQL 用户只允许从某个 IP 登录。很多时候同学改了数据库密码之后连接配置里还留着旧密码或者驱动版本不对都会导致类似错误。遇到这种情况重新建一个测试连接逐项对比配置项是最快的排查方式。8. 写到最后我在这个清单里最常用的三件如果你不打算一口气装完普通人从零开始试这些工具时我建议你先装 DevToys、mkcert 和 DBeaver Community。这三款几乎覆盖了日常开发里最频繁的三个动作处理文本数据、解决本地 HTTPS 信任、连接数据库。装完之后再按项目需求把 Starship、Hoppscotch、Caddy 加进去。工具的价值从来不是在收藏夹里吃灰而是被你反复打开。我在整理这个清单时最深的感觉就是免费工具真正值得收藏的往往不是功能最多的那款而是能一天打开三次的那款。剩下的按需安装就好。
返回列表