PowerToys插件扩展(类似Alfred)
在mac系統(tǒng)除了自帶的Spotlight還有一個(gè)很好用的工具叫Alfred
image在windows系統(tǒng)也有一個(gè)很好用的工具叫PowerToys,是微軟的一個(gè)開源項(xiàng)目
imagehttps://github.com/microsoft/PowerToys
從上面的github地址可以下載安裝包。
image它有很多快捷功能,請(qǐng)大家自己研究吧。今天要說(shuō)的是PowerToys Run
image默認(rèn)的喚起快捷鍵是 Alt+Space
但是PowerToys Run有一個(gè)問(wèn)題,就是自帶的文件搜索功能是基于系統(tǒng)索引的,搜索的速度慢,還經(jīng)常找不到我想要找的文件。看見很多人在Issue里面提希望能支持Everything搜索,官方說(shuō)有社區(qū)提供了插件了 https://github.com/IzaiahSun/PowerToys
從這個(gè)大佬的releases里面下載下來(lái)
image然后定位到zip里的modules\launcher\plugins,將整個(gè)Community.PowerToys.Run.Plugin.Everything文件夾復(fù)制到系統(tǒng)中已經(jīng)安裝好的PowerToys目錄\modules\launcher\Plugins中,最后重啟PowerToys即可!
下面才是重點(diǎn):
PowerToys Run的功能在開始以插件的形式提供之后,想要擴(kuò)展自己的功能是非常簡(jiǎn)單的,我們只需要寫代碼加入自己的邏輯就好了。
因?yàn)槲医?jīng)常會(huì)用idea,我就寫了幾行代碼來(lái)擴(kuò)展一下,如果是java項(xiàng)目的文件夾,可以直接用idea打開。效果如下圖:
image//判斷是否為java工程文件夾 public?static?bool?CanRunIdea(string?path) {if?(File.Exists(path)){return?path.EndsWith("pom.xml");}var?buildGradleFile?=?System.IO.Path.Combine(path,?"build.gradle");if?(File.Exists(buildGradleFile)){return?true;}var?pomFile?=?System.IO.Path.Combine(path,?"pom.xml");if?(File.Exists(pomFile)){return?true;}return?false; }//創(chuàng)建運(yùn)行idea的按鈕以及點(diǎn)擊按鈕事件的觸發(fā) private?static?ContextMenuResult?CreateRunIdeaContextMenu(SearchResult?record) {return?new?ContextMenuResult{PluginName?=?Assembly.GetExecutingAssembly().GetName().Name,Title?=?Properties.Resources.Community_plugin_everything_run_as_idea,Glyph?=?"\xEC58",FontFamily?=?"Segoe?MDL2?Assets",AcceleratorKey?=?Key.F1,AcceleratorModifiers?=?ModifierKeys.Windows,Action?=?_?=>{try{Task.Run(()?=>?{var?idea?=?Environment.GetEnvironmentVariable("idea");if?(string.IsNullOrEmpty(idea)){RunCommand($"idea?\"{record.FullPath}\"",?record.FullPath);}else{RunCommand($"\"{idea}\"?\"{record.FullPath}\"",?record.FullPath);}});return?true;}catch?(System.Exception?e){Log.Exception($"Failed?to?run?{record.FullPath}?as?idea,?{e.Message}",?e,?MethodBase.GetCurrentMethod().DeclaringType);return?false;}},}; }代碼很簡(jiǎn)單,如果識(shí)別到了是java項(xiàng)目文件夾,就展示一個(gè)icon圖標(biāo)按鈕,點(diǎn)擊用idea打開。
idea的啟動(dòng)path 你可以配置在環(huán)境變量里面,
image如果你用是Toolsbox的話,idea會(huì)經(jīng)常更新版本,每次升級(jí)都得重新改環(huán)境變量嫌麻煩,那么Toolsbox的這個(gè)功能可以設(shè)置下
image然后把上圖中的Shell腳本的文件夾設(shè)置到 環(huán)境變量的PATH里面 就一勞永逸了!
image想要獲取我更改后的EveryThing插件的可以公眾號(hào)發(fā)送文本文字:PowerToys
下載后解壓到你本機(jī)PowerToys目錄
比如我的本機(jī)是:
C:\Program Files\PowerToys\modules\launcher\Plugins
image我是正東,學(xué)的越多不知道也越多。歡迎白嫖 順手點(diǎn)個(gè)贊吧!
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的PowerToys插件扩展(类似Alfred)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 当.NET遇到机器学习
- 下一篇: 在业务层实现校验请求参数