歡迎中小企業(yè)的老板加入“中小企業(yè)發(fā)展之道”討論中小企業(yè)發(fā)展
受阿一同學(xué)的啟發(fā)俺也來發(fā)個小東西.
雖然很喜歡editplus的小巧快速,但是很遺憾它不支持代碼的自動格式化,現(xiàn)在寫php,css,html都是用的Aptana,這個感覺不錯。
今天正好看了一下editplus
的用戶工具,它允許通過命令行調(diào)用和標(biāo)準(zhǔn)輸出輸出與其它程序進(jìn)行交互,可以傳入?yún)?shù)可以手動指定,也可以是當(dāng)前選定內(nèi)容,當(dāng)前本件所有文本等,即然這樣我
們就利用它的filter模式,即把所有文本內(nèi)容傳過去,再使用回傳內(nèi)容替換當(dāng)前文本。那么我們還需要一個外部工具,為了方便起見,腳本類語言當(dāng)然是首
選,而在windows平臺下面可以使用vbs和JScript, 那么就用JScript吧,去網(wǎng)上找一個 http://github.com/einars/js-beautify/tree/master 的東西,它提供在線的js格式化功能,正好是js寫的, 拿它回來稍做改造一下,使用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的格式化就搞定了,
再來看看css的,很懷念VS里面可以將一個CSS定義都放到一行上面去,這樣看起來比較方便,否則代碼太長了要拖半天. 這樣的話看起來也不是太難,
就自己動手寫一個了. 兩個文件我已經(jīng)打包. 下載完可以解壓到任意目錄,接著就配置Editplus.
打開Tools->ConfigUserTools, 工具名稱可以隨意,比如jsFormatter, 在Command處寫上
Cscript.exe /nologo e:\jsFormatter.js 后面的路徑就是js的引用路徑, 并鉤選下面的run as text
fileter,讓它作為文本過濾器使用,OK,現(xiàn)在打開一個待格式化的js 文件, 按下Ctrl+1(默認(rèn)的第一個用戶工具快捷鍵),
可以看到文本已經(jīng)格式化好了, 不過等等, 上面怎么有MS的版權(quán)申明? 看來這個CScript也不是白用滴;(
, 不過沒關(guān)系,俺們還是有辦法,按下Ctrl+Q, 存到Alt+1里面, 開始錄制動作, 依次按下
Ctrl+Home 回到文檔開始處,
Alt+Shift+Del 三次, 刪除三行
Ctrl+Q退出記錄,這樣就完成了, 以后在格式化之后播放一次這個鍵盤操作記錄就行了. 感謝 提醒.
后記:
要是可以格式化html和php那就更好了, js-beautify
里面也可格式化html,可惜效果不太好,我就沒放進(jìn)去,要是能有Aptana編輯器那么出色的效果就好了, 它可以完美處理js腳本, css,
html的混合格式化, 想了一下似乎可以建一個java的控制臺程序引用Aptana的插件 jar 包就能實現(xiàn),
通過ICodeFormatter可以完成對各種類型代碼的格式化, 留待以后研究.
不會造工具的猩猩永遠(yuǎn)是猩猩,會自己制造工具的程序員可以有效提高自己的生產(chǎn)力,windows下面的VBScript,
JScript和Python, Perl 等腳本語言都是很好的助手.
在這個應(yīng)用中先查看Editplus幫助,再搜索MSDN腳本技術(shù)參考,順便復(fù)習(xí)一下正則表達(dá)式應(yīng)用, 既能解決問題又能提高技能水平, 希望大家都
行動起來自己動手DIY, good luck!
兩個文件見附件: darkangle_js_css_Formatter.rar
歡迎中小企業(yè)的老板加入“中小企業(yè)發(fā)展之道”討論中小企業(yè)發(fā)展
|