今天正好看了一下editplus 的用戶(hù)工具,它允許通過(guò)命令行調(diào)用和標(biāo)準(zhǔn)輸出輸出與其它程序進(jìn)行交互,可以傳入?yún)?shù)可以手動(dòng)指定,也可以是當(dāng)前選定內(nèi)容,當(dāng)前本件所有文本等,即然這樣我們就利用它的filter模式,即把所有文本內(nèi)容傳過(guò)去,再使用回傳內(nèi)容替換當(dāng)前文本。那么我們還需要一個(gè)外部工具,為了方便起見(jiàn),腳本類(lèi)語(yǔ)言當(dāng)然是首選,而在windows平臺(tái)下面可以使用vbs和JScript, 那么就用JScript吧,去網(wǎng)上找一個(gè) http://github.com/einars/js-beautify/tree/master 的東西,它提供在線的js格式化功能,正好是js寫(xiě)的, 拿它回來(lái)稍做改造一下,使用WScript的Std接口接收和發(fā)送內(nèi)容
var input = "";
while(!WScript.StdIn.AtEndOfStream)
{
input += WScript.StdIn.ReadAll();
}
從輸入端讀入數(shù)據(jù).
WScript.Echo(formated_code); 發(fā)送數(shù)據(jù).
那么js的格式化就搞定了, 再來(lái)看看css的,很懷念VS里面可以將一個(gè)CSS定義都放到一行上面去,這樣看起來(lái)比較方便,否則代碼太長(zhǎng)了要拖半天. 這樣的話看起來(lái)也不是太難,就自己動(dòng)手寫(xiě)一個(gè)了. 兩個(gè)文件我已經(jīng)打包. 下載完可以解壓到任意目錄,接著就配置Editplus.
打開(kāi)Tools->ConfigUserTools, 工具名稱(chēng)可以隨意,比如jsFormatter, 在Command處寫(xiě)上 Cscript.exe /nologo e:/jsFormatter.js 后面的路徑就是js的引用路徑, 并鉤選下面的run as text fileter,讓它作為文本過(guò)濾器使用,OK,現(xiàn)在打開(kāi)一個(gè)待格式化的js 文件, 按下Ctrl+1(默認(rèn)的第一個(gè)用戶(hù)工具快捷鍵), 可以看到文本已經(jīng)格式化好了。
后記:
要是可以格式化html和php那就更好了, js-beautify 里面也可格式化html,可惜效果不太好,我就沒(méi)放進(jìn)去,要是能有Aptana編輯器那么出色的效果就好了, 它可以完美處理js腳本, css, html的混合格式化, 想了一下似乎可以建一個(gè)java的控制臺(tái)程序引用Aptana的插件 jar 包就能實(shí)現(xiàn), 通過(guò)ICodeFormatter可以完成對(duì)各種類(lèi)型代碼的格式化, 留待以后研究.
不會(huì)造工具的猩猩永遠(yuǎn)是猩猩,會(huì)自己制造工具的程序員可以有效提高自己的生產(chǎn)力,windows下面的VBScript, JScript和Python, Perl 等腳本語(yǔ)言都是很好的助手. 在這個(gè)應(yīng)用中先查看Editplus幫助,再搜索MSDN腳本技術(shù)參考,順便復(fù)習(xí)一下正則表達(dá)式應(yīng)用, 既能解決問(wèn)題又能提高技能水平, 希望大家都行動(dòng)起來(lái)自己動(dòng)手DIY, good luck!
兩個(gè)文件見(jiàn)附件: js_css_Formatter.rar