mirror of
https://github.com/fofolee/uTools-quickcommand.git
synced 2025-06-08 06:16:27 +08:00
更新文档
This commit is contained in:
parent
38691fe717
commit
bb3888d8dc
255
README.md
255
README.md
@ -1,206 +1,137 @@
|
||||
# 快捷命令 V2.0.0 (近期)
|
||||
# 快捷命令 V2.0.0
|
||||
|
||||
## 简介
|
||||
|
||||
快速执行自定义的命令、脚本或模拟按键
|
||||
- 自定义在 uTools 中快速执行的命令或脚本
|
||||
|
||||
### 更新
|
||||
- 内置了执行 shell 命令、文本处理、文本替换、网址二维码等实用命令
|
||||
|
||||
#### 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代码
|
||||
- 虽然没有提供`特殊变量`的下拉框,但实际是支持的
|
||||
- 脚本报错时提供跳转至临时脚本目录的选项
|
||||
- 添加一个`下载命令`的按钮,可以跳转到[样例命令库]( https://github.com/fofolee/uTools-QuickerCommand/tree/master/CommandCollections ),如果你不知道怎么去编写一个目录,可以尝试下载导入进行参考
|
||||
- (貌似)修复了执行完命令后,再次呼出uTools会短暂显示命令关键词的bug,该bug可能是由先隐藏uTools再退出插件所引起
|
||||
|
||||

|
||||
|
||||
#### v1.5.1
|
||||
- 修复macOS下新增命令界面排版错误的问题
|
||||
- 修复macOS下使用shell脚本且发送输出结果到活动窗口时结果不正确的问题
|
||||
|
||||
#### v1.5.0
|
||||
|
||||
- 注意本次更新对多处代码进行了重写,如果原有命令在上一版运行正常,在这一版出现了一些问题,请重新编辑该命令,修改命令的模式。如原有命令中使用了{{input}}变量的,关键字会变成[object object],请重新编辑该命令,将命令调整为`主输入框正则匹配`,如果原有命令中使用了{{pwd}}等变量的,请重新编辑该命令,将命令调整为`通过uTools呼出前的窗口匹配`
|
||||
- 原先命令自定了图标的,如果图标显示异常,重新选择设置一次图标即可
|
||||
|
||||

|
||||
|
||||
##### 功能更新
|
||||
|
||||
- 新增`通过uTools呼出前的窗口匹配`的模式,现在可以快速编写一个应用到当前活动窗口的脚本
|
||||
- 现在可以分别通过`关键字`,`主输入框正则匹配`,`活动窗口匹配`三种方式来调用自定义的脚本
|
||||
|
||||
|
||||
- 新增一个特殊变量`当前窗口信息`,输出`json`格式的窗口相关信息,将原先的特殊变量`用户名`改为`本机唯一ID`,方便针对不同电脑编写脚本,两个变量均通过官方API获取
|
||||
- 弃用原先模拟按键的方式,获取资源管理器路径、选中文件、浏览器地址均借助官方API
|
||||
- 新增`发送系统通知`的输出模式 By [imxiny](https://github.com/imxiny)
|
||||
- 新增`在终端显示`的输出模式, 用以解决脚本需要显示动态输出的问题, 如 curl 命令 [issue](https://github.com/fofolee/uTools-QuickerCommand/issues/3)
|
||||
- 上传一些命令至仓库的`CommandCollections`文件夹,用以作为编写命令的样例,同时大家可以提交PR丰富这个命令库 [CommandCollections](https://github.com/fofolee/uTools-QuickerCommand/tree/master/CommandCollections)
|
||||
|
||||
##### BUG 修复
|
||||
|
||||
- 修复 php 无法输入 <? 问题,修复MacOS环境变量问题,修复脚本不能带参数问题 By [dofy](https://github.com/dofy)
|
||||
- 修复中文乱码问题
|
||||
- 修复当使用子输入框时,会多次触发脚本的问题 [issue](https://github.com/fofolee/uTools-QuickerCommand/issues/5)
|
||||
- 修复当使用多行批处理脚本时,执行会报错的问题,该问题源于之前插件保存的批处理脚本的换行符是`LF`, windows 无法识别 [issue](https://yuanliao.info/d/424/70)
|
||||
|
||||
##### 用户体验
|
||||
|
||||
- 获取选中文本,以及输出方式为发送到活动窗口时不再覆盖用户剪贴板
|
||||
|
||||
##### 催更
|
||||
|
||||
- 之前了解到官方将出自动化插件,所以也有较长时间没有更新,在此以更催更
|
||||
|
||||
#### v1.1.0
|
||||
|
||||
- 新增支持获取子输入框变量,感谢@ghostbody
|
||||
- 支持自定义解释器的路径
|
||||
|
||||
#### v1.0.0
|
||||
|
||||
- 上架 uTools 商店,去掉插件自带更新
|
||||
- 精简了插件大小
|
||||
- 可以自定义语言
|
||||
|
||||
#### v0.0.2
|
||||
|
||||
- 修复uTools更新后进入插件空白的BUG
|
||||
- 添加Linux支持
|
||||
- 修复导入BUG
|
||||
- 修复说明为空时无法启用命令的BUG
|
||||
- 添加全部导出和全部删除的功能
|
||||
- 简单的代码编辑及运行功能
|
||||
|
||||
## 功能
|
||||
|
||||
#### 快速启动
|
||||
### 1.内置命令
|
||||
|
||||
可以配置一些常用的命令,比如`回收站` `查看网络连接`之类
|
||||
当前内置的命令有:`Windows Terminal 中打开`、`执行 shell 命令`、`文本处理`、`文本替换`、`vscode代码片段生成器`、`通过 find 查找文件`、`网址二维码`
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||
### 2.导入、导出、分享命令
|
||||
|
||||

|
||||
- 支持通过文件导入导出命令
|
||||
- 支持通过剪贴导入导出命令
|
||||
- 支持一键分享命令
|
||||
- 支持在线获取及导入别人分享的命令
|
||||
|
||||
配合`uTools`的全局功能快捷键,可以达到一键启动的功能
|
||||

|
||||
|
||||
#### 常用脚本
|
||||

|
||||
|
||||
如果为了一个小功能,就去编写一个插件,成本太高,本插件可以利用本地的脚本环境快速实现一些小功能。比如`base64转图片`等
|
||||
### 3.自定义命令
|
||||
|
||||

|
||||
#### 基础
|
||||
|
||||
目前可以添加以下类型的脚本,但要注意的是**本插件未封装任何运行环境,需要本机安装了环境才能执行相应的脚本**
|
||||
- 常用动作 (通过点击`+动作`按钮进行添加)
|
||||
- 打开文件/文件夹/软件 (实现在主输入框启动自定义的软件名称及路径 )
|
||||
- 在文件管理器中定位文件
|
||||
- 用默认浏览器打开网址(实现类似网页快开的功能)
|
||||
- 用 ubrowser 打开网址
|
||||
- 执行系统命令
|
||||
- 将内容写入剪贴板
|
||||
- 发送系统消息
|
||||
- 弹窗显示消息
|
||||
- 发送文本到活动窗口
|
||||
- 转至指定插件(实现自定义插件关键字)
|
||||
- 添加延时
|
||||
- 模拟按键 (通过点击`+按键`按钮进行添加)
|
||||
|
||||

|
||||

|
||||
|
||||
同时,本插件可以作为一个便捷的脚本仓库,因为所有的脚本都是多设备自动同步的,无须另外存储在硬盘中
|
||||
#### 进阶
|
||||
|
||||
#### 输出处理
|
||||
##### 匹配
|
||||
|
||||
如果脚本有输出,则可以对输出内容做如下处理
|
||||
决定通过何种方式进入插件,不同的匹配模式也会影响插值变量的使用
|
||||
|
||||
- 忽略输出
|
||||
- 显示纯文本输出 (不解析 html 内容)
|
||||
- 显示html格式的输出 (可以进一步编写简单的 GUI 界面)
|
||||
- 复制到剪贴板
|
||||
- 发送到活动窗口(可以实现类似代码片段、常用短语之类的功能)
|
||||
- 发送到系统通知
|
||||
- 在终端中显示
|
||||
- 关键字
|
||||
- 在主输入框输入对应关键字进入插件,最通用的一种模式,关键字可以设置多个
|
||||
- 正则/划词
|
||||
- 正则匹配主输入框文本或唤出语音面板时选中的文本,可以获取输入框文本或选中文本作为变量
|
||||
- 窗口/进程
|
||||
- 匹配呼出 uTools 前或唤出语音面板时的活动窗口,可以获取窗口的信息或文件夹路径作为变量
|
||||
- 复制/选中文件
|
||||
- 匹配拖入主输入框的文件或唤出语音面板时选中的文件,可以获取复制及选中的文件信息作为变量
|
||||
|
||||
#### 插值变量
|
||||

|
||||
|
||||
如果你仔细看了上面例子中的脚本,一定会发现很多脚本里都有`{{}}`格式的变量
|
||||
##### 环境
|
||||
|
||||
- quickcommand
|
||||
|
||||
- 可以快速执行打开网址、软件、文件夹、模拟按键等高频动作的命令
|
||||
- 可使用nodejs、electron、uTools、quickcommand 的 api 来编写具有 UI 交互的脚本,详情查看插件内的文档
|
||||
|
||||
- python、cmd、shell 、php 等环境
|
||||
|
||||
- 本机装了相应环境即可执行相应的脚本
|
||||
- 可以通过插值变量增强脚本的功能
|
||||
- 支持 10+ 语言
|
||||
- 可以通过 custom 手动设置解释器路径、参数、脚本后缀及编码方式
|
||||
|
||||

|
||||
|
||||
##### 插值变量
|
||||
|
||||
本插件内置了一些特殊的插值变量,可以获取一些特殊的值,能够加入到插件里的任意脚本中
|
||||
|
||||
全模式可用
|
||||
|
||||
- `{{isWin}}` 是否是window系统
|
||||
- `{{isWin}}` 是否Window系统, 返回1或0
|
||||
- `{{LocalId}}`本机唯一ID
|
||||
- `{{BrowserUrl}}` 浏览器的当前链接
|
||||
- `{{ClipText}}` 获取剪贴板的文本
|
||||
- `{{SelectText}}` 获取选中的文本
|
||||
- `{{subinput}}`获取子输入框的文本
|
||||
- `{{SelectText}}` 获取选中的文本 (已弃用)
|
||||
- `{{subinput}}`获取子输入框的文本,具有此变量时会在进入插件时自动启动子输入框
|
||||
|
||||
窗口模式可用
|
||||
匹配**窗口/进程**时可用
|
||||
|
||||
- `{{pwd}}` 资源管理器或访达的当前目录
|
||||
- `{{SelectFile}}` 获取选中的文件
|
||||
- `{{WindowInfo}}`当前窗口信息
|
||||
- `{{SelectFile}}` 文件管理器选中的文件,不支持 Linux
|
||||
- `{{WindowInfo}}`当前窗口信息,返回 JSON 格式字符串
|
||||
- 可以使用类似 `{{WindowInfo.id}}`的格式来直接读取相应的值
|
||||
|
||||
正则匹配模式可用
|
||||
匹配**正则/划词**时可用
|
||||
|
||||
- `{{input}} ` 获取uTools主输入框的文本
|
||||
- `{{input}} ` 获取主输入框的文本
|
||||
|
||||
插值使用示例
|
||||
匹配**复制/选中文件**时可用
|
||||
|
||||

|
||||
- `{{MatchedFiles}}` 匹配的文件,返回 JSON 格式字符串
|
||||
- 可以使用类似`{{MatchedFiles[0].path}}`的格式来直接读取相应的值
|
||||
|
||||

|
||||
##### 输出
|
||||
|
||||
如果脚本有输出,则可以对输出内容做如下处理
|
||||
|
||||
- 隐藏并忽略输出
|
||||
- 显示纯文本输出 (不解析 html 内容)
|
||||
- 显示html格式的输出 (可以进一步编写简单的 GUI 界面,参考内置动作`特殊符号大全`)
|
||||
- 复制到剪贴板
|
||||
- 发送到活动窗口(可实现发送常用短语之类的功能)
|
||||
- 发送到系统通知
|
||||
- 在终端中显示
|
||||
|
||||
### 3.运行代码
|
||||
|
||||
- 内置了一个简单的脚本编辑器,可以快速运行代码
|
||||
- 支持匹配脚本文件
|
||||
- 会自动记录上次运行的代码
|
||||
|
||||

|
||||
|
||||
## 安装方法
|
||||
|
||||
@ -212,4 +143,4 @@
|
||||
|
||||
## 关键字
|
||||
|
||||
`快捷命令` `QuickCommand`
|
||||
`快捷命令` `QuickCommand` `运行代码` `RunCode`
|
||||
|
153
src/CHANGELOG.md
Normal file
153
src/CHANGELOG.md
Normal file
@ -0,0 +1,153 @@
|
||||
## v2.0.0
|
||||
|
||||
本次带来了 海量更新
|
||||
|
||||
### 语言环境
|
||||
|
||||
- `模拟动作`模式改名为`quickcommand`
|
||||
- 在 vm2 内运行,与插件环境隔离
|
||||
- 无需本机预装环境,支持使用 nodejs/electron/utools 的 api
|
||||
- 支持通过列表、多输入框、多按钮、文本框等多种形式获得用户的输入
|
||||
- 现在和其他脚本一样可以针对输出进行不同处理或显示
|
||||
- 封包了一些实用功能
|
||||
- 现在添加按键通过监听按键进行添加,不再需要手动添加
|
||||
- 添加更多的预设动作
|
||||
- 重写延时函数,解决 utools 隐藏后延时不准的问题(其实是 electron 的问题)
|
||||
- 新增支持运行`C# ` 和`C`脚本,以及 windows 下可以通过 wsl 运行`shell`脚本
|
||||
- 新增支持填写脚本参数,可以运行带参数的脚本
|
||||
- 环境选择`custom`可以自定义解释器的路径、参数、脚本后缀以及输出解码的方式
|
||||
|
||||

|
||||
|
||||
### 界面改善
|
||||
|
||||
- 命令的输出实时动态显示,无需等到命令执行结束,插件高度根据输出内容自适应,带子输入框的情况下,输出自动滚动
|
||||
- 输出的文本或 html 结果可以按 ctrl+f 进行搜索
|
||||
- 适配暗黑模式,UI改版
|
||||
|
||||
### 功能增强
|
||||
|
||||
- 内置`文本处理`,`find GUI`,`执行 shell 命令`等多个实用快捷命令,均使用新版本新增功能实现
|
||||
- 支持平台选项,可以设置命令使用的平台
|
||||
- 支持给命令添加标签,进行分类
|
||||
- 支持文件匹配,新增相应特殊变量
|
||||
|
||||

|
||||
|
||||
### 分享命令
|
||||
|
||||
- 支持将命令导出到剪贴板,以及通过剪贴板导入命令
|
||||
- 新增分享中心,可以快速分享和下载命令
|
||||
|
||||

|
||||
|
||||
### 用户体验
|
||||
|
||||
- 可以在新建命令的界面直接运行当前代码进行测试
|
||||
- 新增两个文档,分别为插件的`帮助说明`和`quickcommand 文档`
|
||||
- `{{pwd}} `获取失败时返回桌面路径
|
||||
- 删除命令时会再次确认
|
||||
|
||||
### 编辑器
|
||||
|
||||
- 支持 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代码
|
||||
- 虽然没有提供`特殊变量`的下拉框,但实际是支持的
|
||||
- 脚本报错时提供跳转至临时脚本目录的选项
|
||||
- 添加一个`下载命令`的按钮,可以跳转到[样例命令库]( https://github.com/fofolee/uTools-QuickerCommand/tree/master/CommandCollections ),如果你不知道怎么去编写一个目录,可以尝试下载导入进行参考
|
||||
- (貌似)修复了执行完命令后,再次呼出uTools会短暂显示命令关键词的bug,该bug可能是由先隐藏uTools再退出插件所引起
|
||||
|
||||

|
||||
|
||||
## v1.5.1
|
||||
- 修复macOS下新增命令界面排版错误的问题
|
||||
- 修复macOS下使用shell脚本且发送输出结果到活动窗口时结果不正确的问题
|
||||
|
||||
## v1.5.0
|
||||
|
||||
- 注意本次更新对多处代码进行了重写,如果原有命令在上一版运行正常,在这一版出现了一些问题,请重新编辑该命令,修改命令的模式。如原有命令中使用了{{input}}变量的,关键字会变成[object object],请重新编辑该命令,将命令调整为`主输入框正则匹配`,如果原有命令中使用了{{pwd}}等变量的,请重新编辑该命令,将命令调整为`通过uTools呼出前的窗口匹配`
|
||||
- 原先命令自定了图标的,如果图标显示异常,重新选择设置一次图标即可
|
||||
|
||||

|
||||
|
||||
### 功能更新
|
||||
|
||||
- 新增`通过uTools呼出前的窗口匹配`的模式,现在可以快速编写一个应用到当前活动窗口的脚本
|
||||
- 现在可以分别通过`关键字`,`主输入框正则匹配`,`活动窗口匹配`三种方式来调用自定义的脚本
|
||||
|
||||
|
||||
- 新增一个特殊变量`当前窗口信息`,输出`json`格式的窗口相关信息,将原先的特殊变量`用户名`改为`本机唯一ID`,方便针对不同电脑编写脚本,两个变量均通过官方API获取
|
||||
- 弃用原先模拟按键的方式,获取资源管理器路径、选中文件、浏览器地址均借助官方API
|
||||
- 新增`发送系统通知`的输出模式 By [imxiny](https://github.com/imxiny)
|
||||
- 新增`在终端显示`的输出模式, 用以解决脚本需要显示动态输出的问题, 如 curl 命令 [issue](https://github.com/fofolee/uTools-QuickerCommand/issues/3)
|
||||
- 上传一些命令至仓库的`CommandCollections`文件夹,用以作为编写命令的样例,同时大家可以提交PR丰富这个命令库 [CommandCollections](https://github.com/fofolee/uTools-QuickerCommand/tree/master/CommandCollections)
|
||||
|
||||
### BUG 修复
|
||||
|
||||
- 修复 php 无法输入 <? 问题,修复MacOS环境变量问题,修复脚本不能带参数问题 By [dofy](https://github.com/dofy)
|
||||
- 修复中文乱码问题
|
||||
- 修复当使用子输入框时,会多次触发脚本的问题 [issue](https://github.com/fofolee/uTools-QuickerCommand/issues/5)
|
||||
- 修复当使用多行批处理脚本时,执行会报错的问题,该问题源于之前插件保存的批处理脚本的换行符是`LF`, windows 无法识别 [issue](https://yuanliao.info/d/424/70)
|
||||
|
||||
### 用户体验
|
||||
|
||||
- 获取选中文本,以及输出方式为发送到活动窗口时不再覆盖用户剪贴板
|
||||
|
||||
### 催更
|
||||
|
||||
- 之前了解到官方将出自动化插件,所以也有较长时间没有更新,在此以更催更
|
||||
|
||||
## v1.1.0
|
||||
|
||||
- 新增支持获取子输入框变量,感谢@ghostbody
|
||||
- 支持自定义解释器的路径
|
||||
|
||||
## v1.0.0
|
||||
|
||||
- 上架 uTools 商店,去掉插件自带更新
|
||||
- 精简了插件大小
|
||||
- 可以自定义语言
|
||||
|
||||
## v0.0.2
|
||||
|
||||
- 修复uTools更新后进入插件空白的BUG
|
||||
- 添加Linux支持
|
||||
- 修复导入BUG
|
||||
- 修复说明为空时无法启用命令的BUG
|
||||
- 添加全部导出和全部删除的功能
|
224
src/README.md
224
src/README.md
@ -1,175 +1,137 @@
|
||||
# 快捷命令 V1.6.1
|
||||
# 快捷命令 V2.0.0
|
||||
|
||||
## 简介
|
||||
|
||||
快速执行自定义的命令、脚本或模拟按键
|
||||
- 自定义在 uTools 中快速执行的命令或脚本
|
||||
|
||||
### 更新
|
||||
- 内置了执行 shell 命令、文本处理、文本替换、网址二维码等实用命令
|
||||
|
||||
#### 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代码
|
||||
- 虽然没有提供`特殊变量`的下拉框,但实际是支持的
|
||||
- 脚本报错时提供跳转至临时脚本目录的选项
|
||||
- 添加一个`下载命令`的按钮,可以跳转到[样例命令库]( https://github.com/fofolee/uTools-QuickerCommand/tree/master/CommandCollections ),如果你不知道怎么去编写一个目录,可以尝试下载导入进行参考
|
||||
- (貌似)修复了执行完命令后,再次呼出uTools会短暂显示命令关键词的bug,该bug可能是由先隐藏uTools再退出插件所引起
|
||||
|
||||

|
||||
|
||||
#### v1.5.1
|
||||
- 修复macOS下新增命令界面排版错误的问题
|
||||
- 修复macOS下使用shell脚本且发送输出结果到活动窗口时结果不正确的问题
|
||||
|
||||
#### v1.5.0
|
||||
|
||||
- 注意本次更新对多处代码进行了重写,如果原有命令在上一版运行正常,在这一版出现了一些问题,请重新编辑该命令,修改命令的模式。如原有命令中使用了{{input}}变量的,关键字会变成[object object],请重新编辑该命令,将命令调整为`主输入框正则匹配`,如果原有命令中使用了{{pwd}}等变量的,请重新编辑该命令,将命令调整为`通过uTools呼出前的窗口匹配`
|
||||
- 原先命令自定了图标的,如果图标显示异常,重新选择设置一次图标即可
|
||||
|
||||

|
||||
|
||||
##### 功能更新
|
||||
|
||||
- 新增`通过uTools呼出前的窗口匹配`的模式,现在可以快速编写一个应用到当前活动窗口的脚本
|
||||
- 现在可以分别通过`关键字`,`主输入框正则匹配`,`活动窗口匹配`三种方式来调用自定义的脚本
|
||||
|
||||
|
||||
- 新增一个特殊变量`当前窗口信息`,输出`json`格式的窗口相关信息,将原先的特殊变量`用户名`改为`本机唯一ID`,方便针对不同电脑编写脚本,两个变量均通过官方API获取
|
||||
- 弃用原先模拟按键的方式,获取资源管理器路径、选中文件、浏览器地址均借助官方API
|
||||
- 新增`发送系统通知`的输出模式 By [imxiny](https://github.com/imxiny)
|
||||
- 新增`在终端显示`的输出模式, 用以解决脚本需要显示动态输出的问题, 如 curl 命令 [issue](https://github.com/fofolee/uTools-QuickerCommand/issues/3)
|
||||
- 上传一些命令至仓库的`CommandCollections`文件夹,用以作为编写命令的样例,同时大家可以提交PR丰富这个命令库 [CommandCollections](https://github.com/fofolee/uTools-QuickerCommand/tree/master/CommandCollections)
|
||||
|
||||
##### BUG 修复
|
||||
|
||||
- 修复 php 无法输入 <? 问题,修复MacOS环境变量问题,修复脚本不能带参数问题 By [dofy](https://github.com/dofy)
|
||||
- 修复中文乱码问题
|
||||
- 修复当使用子输入框时,会多次触发脚本的问题 [issue](https://github.com/fofolee/uTools-QuickerCommand/issues/5)
|
||||
- 修复当使用多行批处理脚本时,执行会报错的问题,该问题源于之前插件保存的批处理脚本的换行符是`LF`, windows 无法识别 [issue](https://yuanliao.info/d/424/70)
|
||||
|
||||
##### 用户体验
|
||||
|
||||
- 获取选中文本,以及输出方式为发送到活动窗口时不再覆盖用户剪贴板
|
||||
|
||||
##### 催更
|
||||
|
||||
- 之前了解到官方将出自动化插件,所以也有较长时间没有更新,在此以更催更
|
||||
|
||||
#### v1.1.0
|
||||
|
||||
- 新增支持获取子输入框变量,感谢@ghostbody
|
||||
- 支持自定义解释器的路径
|
||||
|
||||
#### v1.0.0
|
||||
|
||||
- 上架 uTools 商店,去掉插件自带更新
|
||||
- 精简了插件大小
|
||||
- 可以自定义语言
|
||||
|
||||
#### v0.0.2
|
||||
|
||||
- 修复uTools更新后进入插件空白的BUG
|
||||
- 添加Linux支持
|
||||
- 修复导入BUG
|
||||
- 修复说明为空时无法启用命令的BUG
|
||||
- 添加全部导出和全部删除的功能
|
||||
- 简单的代码编辑及运行功能
|
||||
|
||||
## 功能
|
||||
|
||||
#### 快速启动
|
||||
### 1.内置命令
|
||||
|
||||
可以配置一些常用的命令,比如`回收站` `查看网络连接`之类
|
||||
当前内置的命令有:`Windows Terminal 中打开`、`执行 shell 命令`、`文本处理`、`文本替换`、`vscode代码片段生成器`、`通过 find 查找文件`、`网址二维码`
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||
### 2.导入、导出、分享命令
|
||||
|
||||

|
||||
- 支持通过文件导入导出命令
|
||||
- 支持通过剪贴导入导出命令
|
||||
- 支持一键分享命令
|
||||
- 支持在线获取及导入别人分享的命令
|
||||
|
||||
配合`uTools`的全局功能快捷键,可以达到一键启动的功能
|
||||

|
||||
|
||||
#### 常用脚本
|
||||

|
||||
|
||||
如果为了一个小功能,就去编写一个插件,成本太高,本插件可以利用本地的脚本环境快速实现一些小功能。比如`base64转图片`等
|
||||
### 3.自定义命令
|
||||
|
||||

|
||||
#### 基础
|
||||
|
||||
目前可以添加以下类型的脚本,但要注意的是**本插件未封装任何运行环境,需要本机安装了环境才能执行相应的脚本**
|
||||
- 常用动作 (通过点击`+动作`按钮进行添加)
|
||||
- 打开文件/文件夹/软件 (实现在主输入框启动自定义的软件名称及路径 )
|
||||
- 在文件管理器中定位文件
|
||||
- 用默认浏览器打开网址(实现类似网页快开的功能)
|
||||
- 用 ubrowser 打开网址
|
||||
- 执行系统命令
|
||||
- 将内容写入剪贴板
|
||||
- 发送系统消息
|
||||
- 弹窗显示消息
|
||||
- 发送文本到活动窗口
|
||||
- 转至指定插件(实现自定义插件关键字)
|
||||
- 添加延时
|
||||
- 模拟按键 (通过点击`+按键`按钮进行添加)
|
||||
|
||||

|
||||

|
||||
|
||||
同时,本插件可以作为一个便捷的脚本仓库,因为所有的脚本都是多设备自动同步的,无须另外存储在硬盘中
|
||||
#### 进阶
|
||||
|
||||
#### 输出处理
|
||||
##### 匹配
|
||||
|
||||
如果脚本有输出,则可以对输出内容做如下处理
|
||||
决定通过何种方式进入插件,不同的匹配模式也会影响插值变量的使用
|
||||
|
||||
- 忽略输出
|
||||
- 显示纯文本输出 (不解析 html 内容)
|
||||
- 显示html格式的输出 (可以进一步编写简单的 GUI 界面)
|
||||
- 复制到剪贴板
|
||||
- 发送到活动窗口(可以实现类似代码片段、常用短语之类的功能)
|
||||
- 发送到系统通知
|
||||
- 在终端中显示
|
||||
- 关键字
|
||||
- 在主输入框输入对应关键字进入插件,最通用的一种模式,关键字可以设置多个
|
||||
- 正则/划词
|
||||
- 正则匹配主输入框文本或唤出语音面板时选中的文本,可以获取输入框文本或选中文本作为变量
|
||||
- 窗口/进程
|
||||
- 匹配呼出 uTools 前或唤出语音面板时的活动窗口,可以获取窗口的信息或文件夹路径作为变量
|
||||
- 复制/选中文件
|
||||
- 匹配拖入主输入框的文件或唤出语音面板时选中的文件,可以获取复制及选中的文件信息作为变量
|
||||
|
||||
#### 插值变量
|
||||

|
||||
|
||||
如果你仔细看了上面例子中的脚本,一定会发现很多脚本里都有`{{}}`格式的变量
|
||||
##### 环境
|
||||
|
||||
- quickcommand
|
||||
|
||||
- 可以快速执行打开网址、软件、文件夹、模拟按键等高频动作的命令
|
||||
- 可使用nodejs、electron、uTools、quickcommand 的 api 来编写具有 UI 交互的脚本,详情查看插件内的文档
|
||||
|
||||
- python、cmd、shell 、php 等环境
|
||||
|
||||
- 本机装了相应环境即可执行相应的脚本
|
||||
- 可以通过插值变量增强脚本的功能
|
||||
- 支持 10+ 语言
|
||||
- 可以通过 custom 手动设置解释器路径、参数、脚本后缀及编码方式
|
||||
|
||||

|
||||
|
||||
##### 插值变量
|
||||
|
||||
本插件内置了一些特殊的插值变量,可以获取一些特殊的值,能够加入到插件里的任意脚本中
|
||||
|
||||
全模式可用
|
||||
|
||||
- `{{isWin}}` 是否是window系统
|
||||
- `{{isWin}}` 是否Window系统, 返回1或0
|
||||
- `{{LocalId}}`本机唯一ID
|
||||
- `{{BrowserUrl}}` 浏览器的当前链接
|
||||
- `{{ClipText}}` 获取剪贴板的文本
|
||||
- `{{SelectText}}` 获取选中的文本
|
||||
- `{{subinput}}`获取子输入框的文本
|
||||
- `{{SelectText}}` 获取选中的文本 (已弃用)
|
||||
- `{{subinput}}`获取子输入框的文本,具有此变量时会在进入插件时自动启动子输入框
|
||||
|
||||
窗口模式可用
|
||||
匹配**窗口/进程**时可用
|
||||
|
||||
- `{{pwd}}` 资源管理器或访达的当前目录
|
||||
- `{{SelectFile}}` 获取选中的文件
|
||||
- `{{WindowInfo}}`当前窗口信息
|
||||
- `{{SelectFile}}` 文件管理器选中的文件,不支持 Linux
|
||||
- `{{WindowInfo}}`当前窗口信息,返回 JSON 格式字符串
|
||||
- 可以使用类似 `{{WindowInfo.id}}`的格式来直接读取相应的值
|
||||
|
||||
正则匹配模式可用
|
||||
匹配**正则/划词**时可用
|
||||
|
||||
- `{{input}} ` 获取uTools主输入框的文本
|
||||
- `{{input}} ` 获取主输入框的文本
|
||||
|
||||
插值使用示例
|
||||
匹配**复制/选中文件**时可用
|
||||
|
||||

|
||||
- `{{MatchedFiles}}` 匹配的文件,返回 JSON 格式字符串
|
||||
- 可以使用类似`{{MatchedFiles[0].path}}`的格式来直接读取相应的值
|
||||
|
||||

|
||||
##### 输出
|
||||
|
||||
如果脚本有输出,则可以对输出内容做如下处理
|
||||
|
||||
- 隐藏并忽略输出
|
||||
- 显示纯文本输出 (不解析 html 内容)
|
||||
- 显示html格式的输出 (可以进一步编写简单的 GUI 界面,参考内置动作`特殊符号大全`)
|
||||
- 复制到剪贴板
|
||||
- 发送到活动窗口(可实现发送常用短语之类的功能)
|
||||
- 发送到系统通知
|
||||
- 在终端中显示
|
||||
|
||||
### 3.运行代码
|
||||
|
||||
- 内置了一个简单的脚本编辑器,可以快速运行代码
|
||||
- 支持匹配脚本文件
|
||||
- 会自动记录上次运行的代码
|
||||
|
||||

|
||||
|
||||
## 安装方法
|
||||
|
||||
@ -181,4 +143,4 @@
|
||||
|
||||
## 关键字
|
||||
|
||||
`快捷命令` `QuickCommand`
|
||||
`快捷命令` `QuickCommand` `运行代码` `RunCode`
|
||||
|
File diff suppressed because one or more lines are too long
@ -6,9 +6,9 @@
|
||||
|
||||
#### 常用动作
|
||||
|
||||
通过点击`+动作`按钮进行添加
|
||||
通过点击`+动作`<sup>①</sup>按钮进行添加
|
||||
|
||||
- 打开文件/文件夹/软件 (实现在主输入框启动自定义的软件名称及路径 )
|
||||
- 打开文件/文件夹/软件<sup>②</sup> (实现在主输入框启动自定义的软件名称及路径 )
|
||||
- 在文件管理器中定位文件
|
||||
- 用默认浏览器打开网址(实现类似网页快开的功能)
|
||||
- 用 ubrowser 打开网址
|
||||
@ -20,11 +20,11 @@
|
||||
- 转至指定插件(实现自定义插件关键字)
|
||||
- 添加延时
|
||||
|
||||

|
||||
|
||||
#### 模拟按键
|
||||
|
||||
通过点击`+按键`按钮进行添加
|
||||
通过点击`+按键`<sup>③</sup>按钮进行添加
|
||||
|
||||

|
||||
|
||||
## 进阶
|
||||
|
||||
@ -116,18 +116,18 @@
|
||||
|
||||
#### 导出命令
|
||||
|
||||
点击命令旁的蓝色小箭头即可导出命令,支持
|
||||
点击命令旁的蓝色小箭头<sup>①</sup>即可导出命令,支持
|
||||
|
||||
- 导出到剪贴板
|
||||
- 导出到文件
|
||||
- 导出到剪贴板<sup>②</sup>
|
||||
- 导出到文件<sup>③</sup>
|
||||
|
||||

|
||||

|
||||
|
||||
#### 分享命令
|
||||
|
||||
点击分享命令即可一键分享当前的命令,初次分享命令,需要按照以下步骤设置 token:
|
||||
|
||||
1.通过 [https://www.yuque.com/g/fofolee/em2rng/collaborator/join?token=6LZn2vc34dqfIQdC](https://www.yuque.com/g/fofolee/em2rng/collaborator/join?token=6LZn2vc34dqfIQdC) 成为知识库成员,如果没有语雀账号,需要先注册一个
|
||||
1.通过 [https://www.yuque.com/g/fofolee/qcshares/collaborator/join?token=6LZn2vc34dqfIQdC]( https://www.yuque.com/g/fofolee/qcshares/collaborator/join?token=6LZn2vc34dqfIQdC ) 成为知识库成员,如果没有语雀账号,需要先注册一个
|
||||
|
||||

|
||||
|
||||
@ -135,9 +135,17 @@
|
||||
|
||||

|
||||
|
||||
3.在插件内填入生成的 token,之后就可以尽情地分享命令啦
|
||||
3.点击命令旁的蓝色小箭头<sup>①</sup>,填入生成的 token <sup>②</sup> ,之后就可以尽情地分享命令啦
|
||||
|
||||

|
||||

|
||||
|
||||
**注意:**
|
||||
|
||||
1. 为了保证命令的安全和质量,分享后的命令必须经过快捷命令插件作者本人`发布`后才能出现在`分享中心`当中。所有分享而暂未发布的命令在[ https://www.yuque.com/g/fofolee/qcshares/docs ]( https://www.yuque.com/g/fofolee/qcshares/docs )可以查看到(仅知识库成员访问),所有已发布的命令在[ https://www.yuque.com/fofolee/qcreleases ]( https://www.yuque.com/fofolee/qcreleases )可以查看到(所有人均可访问)。
|
||||
|
||||

|
||||
|
||||
2. 请自觉规范自己的行为,所有操作均有日志,所有未发布的命令均视为不安全的命令
|
||||
|
||||
#### 导入命令
|
||||
|
||||
@ -148,11 +156,15 @@
|
||||
|
||||
#### 获取分享
|
||||
|
||||
点击设置界面底部的`获取分享`即可获取并导入在线分享的命令啦
|
||||
可以通过以下两种方式来获取分享:
|
||||
|
||||

|
||||
1. 点击设置界面底部的`分享中心`<sup>①</sup>即可获取并导入在线分享的命令
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||
|
||||
2. 访问[ https://www.yuque.com/fofolee/qcreleases ]( https://www.yuque.com/fofolee/qcreleases )即可查看发布的命令
|
||||
|
||||
# 三、关于
|
||||
|
||||
|
File diff suppressed because one or more lines are too long
@ -240,6 +240,19 @@ quickcommand.showMessageBox("这是一段3s后自动消失的成功提示")
|
||||
quickcommand.showMessageBox("这是一段3s后自动消失的失败提示", "error")
|
||||
```
|
||||
|
||||
#### `showConfirmBox(title)`
|
||||
|
||||
- title: String | undefined 提示的标题
|
||||
- 返回: Promise
|
||||
|
||||
显示一个确认框
|
||||
|
||||
```js
|
||||
quickcommand.showConfirmBox().then(() => {
|
||||
console.log('点击了确定')
|
||||
})
|
||||
```
|
||||
|
||||
####`sleep(ms)`
|
||||
|
||||
- ms: Integer 等待的毫秒
|
||||
@ -342,42 +355,54 @@ quickcommand.kill(16084)
|
||||
|
||||
## 上下文一览
|
||||
|
||||
- nodejs [文档]( http://nodejs.cn/api/ )
|
||||
- require
|
||||
- os
|
||||
- fs
|
||||
- path
|
||||
- child_process
|
||||
- util
|
||||
- axios [文档]( https://www.kancloud.cn/yunye/axios/234845)
|
||||
- electron [文档]( http://www.electronjs.org/docs )
|
||||
- clipboard
|
||||
- contextBridge
|
||||
- crashReporter
|
||||
- desktopCapturer
|
||||
- ipcRenderer
|
||||
- nativeImage
|
||||
- shell
|
||||
- webFrame
|
||||
- utools [文档]( https://u.tools/docs/developer/api.html )
|
||||
#### nodejs
|
||||
|
||||
- [文档]( http://nodejs.cn/api/ )
|
||||
|
||||
- **require**
|
||||
- **os**: {arch: *ƒ*, cpus: *ƒ*, endianness: *ƒ*, freemem: *ƒ*, getPriority: *ƒ*, …}
|
||||
- **fs**: {appendFile: *ƒ*, appendFileSync: *ƒ*, access: *ƒ*, accessSync: *ƒ*, chown: *ƒ*, …}
|
||||
- **path**: {resolve: *ƒ*, normalize: *ƒ*, isAbsolute: *ƒ*, join: *ƒ*, relative: *ƒ*, …}
|
||||
- **child_process**: {_forkChild: *ƒ*, ChildProcess: *ƒ*, exec: *ƒ*, execFile: *ƒ*, execFileSync: *ƒ*, …}
|
||||
- **util**: {_errnoException: *ƒ*, _exceptionWithHostPort: *ƒ*, _extend: *ƒ*, callbackify: *ƒ*, debuglog: *ƒ*, …}
|
||||
- **axios** [文档]( https://www.kancloud.cn/yunye/axios/234845)
|
||||
|
||||
#### electron
|
||||
|
||||
- [文档]( http://www.electronjs.org/docs )
|
||||
|
||||
- **clipboard**: Object
|
||||
- **contextBridge**: Object
|
||||
- **crashReporter**: Object
|
||||
- **desktopCapturer**: Object
|
||||
- **ipcRenderer**: EventEmitter
|
||||
- **nativeImage**: Object
|
||||
- **shell**: Object
|
||||
- **webFrame**: WebFrame
|
||||
#### utools
|
||||
|
||||
- [文档]( https://u.tools/docs/developer/api.html )
|
||||
- all except below
|
||||
- ~~db~~
|
||||
- ~~removeFeature~~
|
||||
- ~~setFeature~~
|
||||
- quickcommand
|
||||
- downloadFile: *ƒ (url, defaultPath = '', showDialog = false)*
|
||||
- htmlParse: *ƒ (html)*
|
||||
- kill: *ƒ (pid, signal = 'SIGTERM')*
|
||||
- payload: ""
|
||||
- setTimeout: *ƒ (callback, ms)*
|
||||
- showButtonBox: *ƒ (buttons)*
|
||||
- showInputBox: *ƒ (placeHolders)*
|
||||
- showMessageBox: *ƒ (title, icon = "success", time = 3000)*
|
||||
- showSelectList: *ƒ (selects, opt = {})*
|
||||
- showTextAera: *ƒ (placeholder = "")*
|
||||
- simulateCopy: *ƒ ()*
|
||||
- simulatePaste: *ƒ ()*
|
||||
- sleep: *ƒ (ms)*
|
||||
- updateSelectList: *ƒ (opt, id)*
|
||||
|
||||
#### quickcommand
|
||||
|
||||
- **downloadFile**: *ƒ (url, defaultPath = '', showDialog = false)*
|
||||
- **htmlParse**: *ƒ (html)*
|
||||
- **kill**: *ƒ (pid, signal = 'SIGTERM')*
|
||||
- **payload**: ""
|
||||
- **setTimeout**: *ƒ (callback, ms)*
|
||||
- **showButtonBox**: *ƒ (buttons)*
|
||||
- **showConfirmBox**: *ƒ (title)*
|
||||
- **showInputBox**: *ƒ (placeHolders)*
|
||||
- **showMessageBox**: *ƒ (title, icon = "success", time = 3000)*
|
||||
- **showSelectList**: *ƒ (selects, opt = {})*
|
||||
- **showTextAera**: *ƒ (placeholder = "")*
|
||||
- **simulateCopy**: *ƒ ()*
|
||||
- **simulatePaste**: *ƒ ()*
|
||||
- **sleep**: *ƒ (ms)*
|
||||
- **updateSelectList**: *ƒ (opt, id)*
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user