1.背景
之前分享过一些提升效率的好东西 :效率提升好物分享 ,主要是在 utools 平台上的一些插件。
最近又发现了一些很好用的插件,现分享出来,有需要的同学也可以参考一下。
2.好用的插件分享
局域网文件分享
现在公司内部的沟通软件比如飞书,企业微信之类的,已经可以很方便的传输文件了。但是有些场景,我们还是需要用到局域网文件分享的功能。webServer 插件就可以帮助我们实现。
点击分享之后,就可以直接在浏览器中访问了
也可以通过脚本的方式进行访问。之前博主有一个需求,需要在远程服务器上使用 docker 创建一个镜像,而镜像依赖的一些文件放在本地,这时我就在本地开启了文件共享,并在 dockerfile 当中通过脚本去下载这个文件,也避免了文件到处拷来拷去,非常方便。
后台接口调试
在跟后台调试接口时,capi 很好用,感觉它就是一个轻量版的 postman,但 capi 更加直观一些,提供的功能也够用了。
批量计算 md5
博主当前所在的项目组是一个 unity 的项目组,在打包的时候会生成很多的 AssetBundle 包,有的时候我们需要对比本地和服务器上的打包产物,看哪些 AssetBundle 包发生了变更,这时 ”文件MD5检测“ 可以帮上忙。只需要批量选中文件,再拖到窗口里面就可以了。
这样一对比,就能够比较直观的看出哪些文件发生了变化,不过若是能够将结果导出为文本就更好了。
窗口录屏工具
窗口录屏也是我常用的一个工具,经常会跟 scrcpy 结合在一起使用,特别是遇到一些动画闪动的场景,需要逐帧分析时,简直不要太好用。
自动化脚本
在实际的工作当中,经常会遇到这种状况,测试同学为了复现一个 bug,经常会开着日志抓取工具,然后不断的操作复现,复现出来之后,再上传日志,导致日志文件特别大,而且由于是系统级的日志,压缩包和日志文件互相交替出现,有时候想解压,光选中压缩包都需要点半天,有没有啥比较快捷的方法呢?
我想到了写个脚本
@echo off
if "%~1"=="" (
echo "请输入要解压的目录路径!"
goto :eof
)
set "folderPath=%~1"
for %%i in ("%folderPath%\*.zip") do (
"C:\Program Files\7-Zip\7z.exe" x "%%i"
)
每次执行这个脚本,把路径传递当成参数传递,这样脚本就会自动过滤所有的压缩包,并解压文件。
但这种方式不是很方便,每次都需要打开命令框,切到脚本的目录,输入命令,执行脚本,传入文件路径。有没有更方便的方法呢?
我想到了自动化脚本插件,这里我们可以编写 js 脚本来处理任务,而且也可以设定任务的触发条件,如下图所示匹配的是文件夹。
这样我们只需要将待解压的文件夹拖到搜索框,就自动会弹出设定的自动化脚本选项。
而且 utools 提供的 ENTER.payload 里面也包含了文件夹的路径,而不需要我们手动输入了。以下是文件夹解压的 js 脚本:
const { exec } = require('child_process');
const path = require('path');
const fs = require('fs');
// 定义 unzipFile 函数,使用模板字符串,并指定解压目录
function unzipFile (filePath, destinationPath) {
const command = `7z x "${filePath}" -o"${destinationPath}"`; // 使用 -o 选项指定解压目录
exec(command, (error, stdout, stderr) => {
if (error) {
print(`解压文件时出错: ${error}`);
return;
}
if (stderr) {
print(`解压文件时的错误信息: ${stderr}`);
return;
}
print(`成功解压文件到 ${destinationPath}: ${stdout}`);
});
}
function unzipFolder (folderPath) {
fs.readdir(folderPath, async (err, files) => {
if (err) {
console.error(`Error reading directory: ${err}`);
return;
}
for (const file of files) {
const filePath = path.join(folderPath, file);
const stat = fs.statSync(filePath);
if (stat.isFile() && /\.(zip|gz|rar|tar)$/.test(file)) {
console.log(`zipfile: ${file}`);
unzipFile(filePath, folderPath);
}
}
});
}
// 定义 handleFiles 函数处理文件输入
function handleFiles () {
print('开始解压');
if (!ENTER.payload || ENTER.payload.length === 0) {
print('没有文件需要解压');
return;
}
const file = ENTER.payload[0];
print(JSON.stringify(file))
const filePath = file.path;
const isDirectory = file.isDirectory;
print(isDirectory)
if (isDirectory == true) {
unzipFolder(filePath)
}
}
// 检查 ENTER.type 是否为 'files',如果是,则调用 handleFiles 函数
if (ENTER.type === 'files') handleFiles();
但是自动化脚本有个缺陷,就是不支持 npm 库扩展,希望官方能够加上这个功能,如果能够支持 python 脚本就更好了。
3.总结
以上就是最近使用的一些比较好用的提效工具,愿世上没有加班人!