Editplus JS格式化工具

$hit Talking:

其实关于EditPlus的用户自定义插件中,JavaScript格式化工具的文章是最多的了.另一方面,(作为一个中文用户)最不方便使用的工具也是JavaScript格式化工具.

目前网上流传的有两个版本.版本①是沙加的《让Editplus自动格式化css和js》,版本②是Ethan Woo在博客园的《让Editplus自动格式化js、css、html。。。》.其他的大都是这两个版本的转载或者抄袭. 这两个版本我都试过,但是都有一个致命的缺点:中文格式化之后会乱码╮(╯▽╰)╭

作为社会主义的接班人,怎么能够忍受这种事情发生???于是我来给大家提供第三种方法.

前面两个方法都是用wscript或者cscript去执行JavaScript脚本.但是无法解决中文乱码问题.(应该是我学艺不精,不知道如何解决).因此我提供的第三种方案.需要安装一个额外的软件:Node.js.(放心,以后有很多的插件功能都需要依赖node.js来提供支持,不会麻烦,更不会吃亏.)

Ready,Go

①安装Node.js

②到GitHub的js-Beautify项目扒最新的beautify.js.或者到我的百度云下载

③在EditPlus(已经设置默认用"utf-8"打开和保存文件)安装目录下面新建文件夹"jsBeautify",并且把第二步的js文件放到里面,另外在新建一个文件"exe.js"


Editplus JS格式化工具_第1张图片
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 JS格式化工具_第2张图片
Editplus参数配置

一起来看看效果

Editplus JS格式化工具_第3张图片
格式化前
Editplus JS格式化工具_第4张图片
格式化后

后话

打开jsBeautify官网,可以看到不仅仅有JS的格式化,还有CSS,HTML,JSON....还有其他的语法的.
上面的方法扩展一下,只要是能够在网页上面事项的功能,我们都可以把相应的JavaScript脚本扒下来,然后添加一些本地文件的IO代码,就可以作为Editplus的集成功能了.想想都开心.
后面陆续放出其他的功能脚本.

你可能感兴趣的:(Editplus JS格式化工具)