$hit Talking:
其實關于EditPlus的用戶自定義插件中,JavaScript格式化工具的文章是最多的了.另一方面,(作為一個中文用戶)最不方便使用的工具也是JavaScript格式化工具.
目前網上流傳的有兩個版本.版本①是沙加的《讓Editplus自動格式化css和js》,版本②是Ethan Woo在博客園的《讓Editplus自動格式化js、css、html。。。》.其他的大都是這兩個版本的轉載或者抄襲. 這兩個版本我都試過,但是都有一個致命的缺點:中文格式化之后會亂碼╮(╯▽╰)╭
作為社會主義的接班人,怎么能夠忍受這種事情發(fā)生???于是我來給大家提供第三種方法.
前面兩個方法都是用wscript或者cscript去執(zhí)行JavaScript腳本.但是無法解決中文亂碼問題.(應該是我學藝不精,不知道如何解決).因此我提供的第三種方案.需要安裝一個額外的軟件:Node.js.(放心,以后有很多的插件功能都需要依賴node.js來提供支持,不會麻煩,更不會吃虧.)
Ready,Go
①安裝Node.js
②到GitHub的js-Beautify項目扒最新的beautify.js.或者到我的百度云下載
③在EditPlus(已經設置默認用"utf-8"打開和保存文件)安裝目錄下面新建文件夾"jsBeautify",并且把第二步的js文件放到里面,另外在新建一個文件"exe.js"

④把下面代碼復制到exe.js文件里面.
var fs = require("fs");
var b = require('./beautify.js');
var arr = process.argv;
var fileName = arr[process.argv.length - 1];
var opts = {
indent_size: '4', //縮進1的時候表示tab,其它數字表示多少個空格
indent_char: ' ', //縮進字符
preserve_newlines: false, //是否替換新行
insert_newlines: false, //css中是否插入新行
brace_style: 'collapse',
indent_scripts: 'normal',
jslint_happy: true,
keep_array_indentation: false, //保留數組格式
space_after_anon_function: true,
space_before_conditional: true
};
var unformat = '';
if (arr.length > 3) {
//arr.lenth>3 表示有選中的文本內容
for (var i = 2; i < arr.length - 1; i++) {
unformat += arr[i]+" ";
}
console.log(b.js_beautify(unformat, opts));
} else {
// 異步讀取
fs.readFile(fileName, 'utf8', function (err, data) {
if (err) {
return console.error(err);
}
console.log(b.js_beautify(data.toString(), opts));
});
}
⑤配置Editplus工具,參數如下
菜單文本:js Beautify
命令:node.exe
參數:"$(AppDir)\user\plugin\jsFormat\exe.js" $(CurSel) $(FilePath)
其他參數保持默認值.至此,OK.
從此格式化JavaScript,爸爸再也不擔心中文會亂碼.

一起來看看效果


后話
打開jsBeautify官網,可以看到不僅僅有JS的格式化,還有CSS,HTML,JSON....還有其他的語法的.
上面的方法擴展一下,只要是能夠在網頁上面事項的功能,我們都可以把相應的JavaScript腳本扒下來,然后添加一些本地文件的IO代碼,就可以作為Editplus的集成功能了.想想都開心.
后面陸續(xù)放出其他的功能腳本.