讓Editplus自動格式化css和js

來源:互聯網
上載者:User

受阿一同學的啟發俺也來發個小東西.

雖然很喜歡editplus的小巧快速,但是很遺憾它不支援代碼的自動格式化,現在寫php,css,html都是用的Aptana,這個感覺不錯。

今天正好看了一下editplus
的使用者工具,它允許通過命令列調用和標準輸出輸出與其它程式進行互動,可以傳入參數可以手動指定,也可以是當前選定內容,當前本件所有文本等,即然這樣我
們就利用它的filter模式,即把所有常值內容傳過去,再使用回傳內容替換當前文本。那麼我們還需要一個外部工具,為了方便起見,指令碼類語言當然是首
選,而在windows平台下面可以使用vbs和JScript, 那麼就用JScript吧,去網上找一個 http://github.com/einars/js-beautify/tree/master 的東西,它提供線上的js格式化功能,正好是js寫的, 拿它回來稍做改造一下,使用WScript的Std介面接收和發送內容
var input = "";
while(!WScript.StdIn.AtEndOfStream)
{
   input += WScript.StdIn.ReadAll();
}
從輸入端讀入資料.
WScript.Echo(formated_code); 發送資料.
那麼js的格式化就搞定了,
再來看看css的,很懷念VS裡面可以將一個CSS定義都放到一行上面去,這樣看起來比較方便,否則代碼太長了要拖半天.  這樣的話看起來也不是太難,
就自己動手寫一個了. 兩個檔案我已經打包. 下載完可以解壓到任意目錄,接著就配置Editplus.

開啟Tools->ConfigUserTools, 工具名稱可以隨意,比如jsFormatter, 在Command處寫上
Cscript.exe /nologo  e:\jsFormatter.js  後面的路徑就是js的引用路徑,  並鉤選下面的run as text
fileter,讓它作為文本過濾器使用,OK,現在開啟一個待格式化的js 檔案,  按下Ctrl+1(預設的第一個使用者工具快速鍵),
可以看到文本已經格式化好了,  不過等等,  上面怎麼有MS的著作權申明? 看來這個CScript也不是白用滴;(
,  不過沒關係,俺們還是有辦法,按下Ctrl+Q, 存到Alt+1裡面, 開始錄製動作,  依次按下
Ctrl+Home 回到文檔開始處,
Alt+Shift+Del 三次, 刪除三行
Ctrl+Q退出記錄,這樣就完成了, 以後在格式化之後播放一次這個鍵盤操作記錄就行了.  感謝 鍵客 提醒.


後記:
     要是可以格式化html和php那就更好了, js-beautify
裡面也可格式化html,可惜效果不太好,我就沒放進去,要是能有Aptana編輯器那麼出色的效果就好了, 它可以完美處理js指令碼, css,
html的混合格式化,  想了一下似乎可以建一個java的控制台程式引用Aptana的外掛程式 jar 包就能實現,
通過ICodeFormatter可以完成對各種類型代碼的格式化,  留待以後研究.

    不會造工具的猩猩永遠是猩猩,會自己製造工具的程式員可以有效提高自己的生產力,windows下面的VBScript,
JScript和Python, Perl 等指令碼語言都是很好的助手.
在這個應用中先查看Editplus協助,再搜尋MSDN指令碼技術參考,順便複習一下Regex應用,  既能解決問題又能提高技能水平,  希望大家都
行動起來自己動手DIY, good luck!

兩個檔案見附件: darkangle_js_css_Formatter.rar

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.