/uTools-QuickerCommand

uTools插件,自定义在uTools中快速执行的命令或脚本

Primary LanguageJavaScript

快捷命令 V2.0.0 (近期)

简介

快速执行自定义的命令、脚本或模拟按键

更新

v2.0.0 (预告)

  • 模拟动作模式改名为quickcommand
    • 在 vm2 内运行,与插件环境隔离
    • 支持使用nodejs/electron/utools的api
    • 支持通过列表、多输入框、多按钮、文本框等多种形式获得用户的输入
    • 现在和其他脚本一样可以针对输出进行不同处理或显示
    • 封包了一些实用功能
    • 现在添加按键通过监听按键进行添加,不再需要手动添加
    • 预设动作添加跳转到指定插件,可以实现自定义插件关键字的功能
    • 重写 sleep 函数,解决 utools 隐藏后延时不准的bug(其实是electron的问题)
  • 新增支持运行C#,C脚本,以及windows下可以通过wsl运行shell脚本
  • 新增支持填写脚本参数,可以运行带参数的脚本
  • 命令的输出实时动态显示,无需等到命令执行结束,插件高度根据输出内容自适应,带子输入框的情况下,输出自动滚动
  • 可以在添加命令的界面直接运行当前代码进行测试
  • 支持平台选项
  • 支持给命令添加标签,进行分类
  • 支持文件匹配,新增相应特殊变量
  • 内置文本处理find GUI下载uTools离线插件特殊符号等多个实用快捷命令,均使用新版本新增功能实现
  • 适配暗黑模式,UI改版
  • 支持对文本和 HTML 的输出进行搜索
  • 魔改codemirror,代码编辑器增强
    • 支持js、py代码格式化
    • 新增cmd、applescript代码高亮(原先用的shell的)
    • 支持代码提示和特殊变量提示,其中cmd和shell支持提示和补全当前环境变量下的命令,js和py支持智能提示,其他语言支持关键字提示
    • 支持vscode快捷键
    • 新增一个feature,脚本编辑器,可以在选中脚本文件后快速进行编辑和运行测试

先写到这。。

v1.6.1

  • 现在执行快捷命令时,会现将uTools的高度设置为0,如果有输出,再展开
  • 模拟动作模式增加支持require 😈😈
  • 匹配主窗口输入模式下,会对输入的格式做简单校验

v1.6.0

  • 修复php乱码
  • 现在可以自定义输出的编码方式,脚本里选择custom
  • 模拟操作模式的+延时合并到+动作中

v1.5.9

  • 修复不能导入命令的bug
  • 由于uTools 1.0.0版本匹配窗口时无法再使用正则,所以选择匹配窗口模式时,在填写进程时需填写进程全名,多个进程逗号隔开
  • 忽略输出模式调整回自动隐藏窗口
  • 更新示例命令库

v1.5.8

  • 适配新版本

v1.5.7

  • 添加模拟操作的功能,在类型下拉框内选取
    • 该模式提供了模拟按键、打开文件、打开网站、定位文件、执行命令等实用功能
    • 结合模拟按键和窗口匹配,可以实现针对不同的软件模拟不同的操作
    • 该模式适用于没有编程基础的用户,只需要通过下拉框选取想要的功能,就可以快速编写一个简单的命令
    • 该模式同样适用于本机没有任何语言环境的或环境变量失效的用户,不需要安装nodejs即可执行js代码
    • 虽然没有提供特殊变量的下拉框,但实际是支持的
  • 脚本报错时提供跳转至临时脚本目录的选项
  • 添加一个下载命令的按钮,可以跳转到样例命令库,如果你不知道怎么去编写一个目录,可以尝试下载导入进行参考
  • (貌似)修复了执行完命令后,再次呼出uTools会短暂显示命令关键词的bug,该bug可能是由先隐藏uTools再退出插件所引起

JU0UAS.png

v1.5.1

  • 修复macOS下新增命令界面排版错误的问题
  • 修复macOS下使用shell脚本且发送输出结果到活动窗口时结果不正确的问题

v1.5.0

  • 注意本次更新对多处代码进行了重写,如果原有命令在上一版运行正常,在这一版出现了一些问题,请重新编辑该命令,修改命令的模式。如原有命令中使用了{{input}}变量的,关键字会变成[object object],请重新编辑该命令,将命令调整为主输入框正则匹配,如果原有命令中使用了{{pwd}}等变量的,请重新编辑该命令,将命令调整为通过uTools呼出前的窗口匹配
  • 原先命令自定了图标的,如果图标显示异常,重新选择设置一次图标即可

JU08Xt.png

功能更新
  • 新增通过uTools呼出前的窗口匹配的模式,现在可以快速编写一个应用到当前活动窗口的脚本

  • 现在可以分别通过关键字,主输入框正则匹配,活动窗口匹配三种方式来调用自定义的脚本

  • 新增一个特殊变量当前窗口信息,输出json格式的窗口相关信息,将原先的特殊变量用户名改为本机唯一ID,方便针对不同电脑编写脚本,两个变量均通过官方API获取

  • 弃用原先模拟按键的方式,获取资源管理器路径、选中文件、浏览器地址均借助官方API

  • 新增发送系统通知的输出模式 By imxiny

  • 新增在终端显示的输出模式, 用以解决脚本需要显示动态输出的问题, 如 curl 命令 issue

  • 上传一些命令至仓库的CommandCollections文件夹,用以作为编写命令的样例,同时大家可以提交PR丰富这个命令库 CommandCollections

BUG 修复
  • 修复 php 无法输入 <? 问题,修复MacOS环境变量问题,修复脚本不能带参数问题 By dofy
  • 修复中文乱码问题
  • 修复当使用子输入框时,会多次触发脚本的问题 issue
  • 修复当使用多行批处理脚本时,执行会报错的问题,该问题源于之前插件保存的批处理脚本的换行符是LF, windows 无法识别 issue
用户体验
  • 获取选中文本,以及输出方式为发送到活动窗口时不再覆盖用户剪贴板
催更
  • 之前了解到官方将出自动化插件,所以也有较长时间没有更新,在此以更催更

v1.1.0

  • 新增支持获取子输入框变量,感谢@ghostbody
  • 支持自定义解释器的路径

v1.0.0

  • 上架 uTools 商店,去掉插件自带更新
  • 精简了插件大小
  • 可以自定义语言

v0.0.2

  • 修复uTools更新后进入插件空白的BUG
  • 添加Linux支持
  • 修复导入BUG
  • 修复说明为空时无法启用命令的BUG
  • 添加全部导出和全部删除的功能

功能

快速启动

可以配置一些常用的命令,比如回收站 查看网络连接之类

UTOOLS1556854200416.png

UTOOLS1556779310377.png

UTOOLS1556779348048.png

UTOOLS1556779660316.png

配合uTools的全局功能快捷键,可以达到一键启动的功能

常用脚本

如果为了一个小功能,就去编写一个插件,成本太高,本插件可以利用本地的脚本环境快速实现一些小功能。比如base64转图片

UTOOLS1556779835126.png

目前可以添加以下类型的脚本,但要注意的是本插件未封装任何运行环境,需要本机安装了环境才能执行相应的脚本

UTOOLS1556779901749.png

同时,本插件可以作为一个便捷的脚本仓库,因为所有的脚本都是多设备自动同步的,无须另外存储在硬盘中

输出处理

如果脚本有输出,则可以对输出内容做如下处理

  • 忽略输出
  • 显示纯文本输出 (不解析 html 内容)
  • 显示html格式的输出 (可以进一步编写简单的 GUI 界面)
  • 复制到剪贴板
  • 发送到活动窗口(可以实现类似代码片段、常用短语之类的功能)
  • 发送到系统通知
  • 在终端中显示

插值变量

如果你仔细看了上面例子中的脚本,一定会发现很多脚本里都有{{}}格式的变量

本插件内置了一些特殊的插值变量,可以获取一些特殊的值,能够加入到插件里的任意脚本中

全模式可用

  • {{isWin}} 是否是window系统
  • {{LocalId}}本机唯一ID
  • {{BrowserUrl}} 浏览器的当前链接
  • {{ClipText}} 获取剪贴板的文本
  • {{SelectText}} 获取选中的文本
  • {{subinput}}获取子输入框的文本

窗口模式可用

  • {{pwd}} 资源管理器或访达的当前目录
  • {{SelectFile}} 获取选中的文件
  • {{WindowInfo}}当前窗口信息

正则匹配模式可用

  • {{input}} 获取uTools主输入框的文本

插值使用示例

tfoJsJ.png

tfoNZR.png

安装方法

插件中心进行安装

项目地址

插件发布页

关键字

快捷命令 QuickCommand