Editplus JS格式化工具

$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"


jsFormat文件夾

④把下面代碼復制到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,爸爸再也不擔心中文會亂碼.

Editplus參數配置

一起來看看效果

格式化前
格式化后

后話

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容