utools 是突然間發(fā)現(xiàn)的一個(gè)個(gè)人感覺(jué)非常好用的小工具大磺,其實(shí)它是一個(gè)插件平臺(tái)赴蝇,它提供的功能都是以插件的形式提供的,官方自己寫(xiě)了很多常用的插件彪笼,都是寫(xiě)小插件。如果你發(fā)現(xiàn)沒(méi)有找到你想要的插件蚂且,你還可以自己開(kāi)發(fā)插件配猫,這也是我推薦utools的一個(gè)重要原因。這篇文章就是介紹我怎么開(kāi)發(fā)的一個(gè)非常非常小的插件杏死。
utools官網(wǎng):https://u.tools/
插件功能和使用場(chǎng)景
功能:復(fù)制純文本泵肄,不帶任何格式。
不使用插件的效果淑翼,看圖:
使用插件的效果腐巢,看圖:
選中文本,呼出utools的超級(jí)面板玄括,選擇 復(fù)制純文本
即可系忙。
PS:上面的動(dòng)圖是用KK錄像機(jī)錄的mp4,用utools的一個(gè)插件轉(zhuǎn)成gif的惠豺。
plugin.json
新建一個(gè)目錄银还,作為插件的項(xiàng)目目錄。在目錄下創(chuàng)建一個(gè)json文件 plugin.json
洁墙,這個(gè)是插件的配置文件蛹疯,如下:
{
"pluginName": "復(fù)制純文本",
"description": "復(fù)制純文本,不帶任何格式热监。",
"logo": "img/logo.png",
"preload": "preload.js",
"version": "1.0.0",
"author": "林泉",
"homepage": "http://www.reibang.com/u/d62037f3ab47",
"features": [{
"code": "copy_text",
"explain": "復(fù)制純文本",
"cmds": [{
"type": "regex",
"label": "復(fù)制純文本",
"match": "/(.*)/"
}]
}],
"pluginSetting": {
"single": true
}
}
這個(gè)是utools中此插件的介紹截圖捺弦,對(duì)應(yīng)著上面的配置文件。那個(gè)詳情介紹里面是一個(gè)Markdowm文件孝扛,是在項(xiàng)目根目錄下的README.md
文件列吼。
-
preload
插件的入口 -
homepage
是一個(gè)鏈接,在用戶(hù)點(diǎn)擊author的時(shí)候苦始,會(huì)跳轉(zhuǎn)到這個(gè)鏈接 -
features
是這個(gè)插件提供的功能列表寞钥,這里只有一個(gè)功能 -
features.code
功能的唯一標(biāo)識(shí) -
features.cmds
功能的觸發(fā)條件,這里只有一個(gè)陌选,就是通過(guò)正則表達(dá)式匹配任意字符串
preload.js
這個(gè)是上面的配置中配的入口文件理郑。
window.exports = {
// 注意:鍵對(duì)應(yīng)的是 plugin.json 中的 features.code
"copy_text": {
// 用于無(wú)需 UI 顯示,執(zhí)行一些簡(jiǎn)單的代碼
// 除此之外咨油,utools還提供了列表您炉、文檔等模式
mode: "none",
args: {
enter: (action) => {
// action = { code, type, payload }
utools.copyText(action.payload)
utools.outPlugin()
utools.hideMainWindow()
utools.showNotification('已復(fù)制')
}
}
}
}
最后
上面兩個(gè)文件就是整個(gè)插件的主要代碼,超級(jí)簡(jiǎn)單的一個(gè)小插件役电。
源代碼:https://github.com/audientlin/utools-plugin-copy-text