【问题标题】:Comma-first JS formatter逗号优先的 JS 格式化程序
【发布时间】:2012-06-03 16:54:12
【问题描述】:

您知道支持comma-first 编码风格的JS 格式化程序吗?

var a = 'ape'
  , b = 'bat'
  , c = 'cat'
  , d = 'dog'
  , e = 'elf'
  , f = 'fly'
  , g = 'gnu'
  , h = 'hat'
  , i = 'ibu'
  ;

到目前为止,我已经查看了JS BeautifierSourceFormatX,但找不到合适的选项。

【问题讨论】:

  • 想知道这可能很有用,我不确定这个问题在 Stack Overflow 中是否有效。
  • @gdoron 是的,我想把它放在程序员身上,但它似乎也不属于那里。知道更好的地方吗?
  • 否,建议在 51 区新建站点,“离题”。我也有一些问题要问...:)
  • 此功能现已在官方JS Beautifier 项目中可用。无需黑客攻击。

标签: javascript coding-style formatting


【解决方案1】:

我在这里稍微修改了jsbeautifier代码:

http://jsfiddle.net/RabTN/29/

doit查看美化代码。

我专门修改了第1080行:

        if (flags.var_line) {
            if (token_text === ',') {
                if (flags.var_line_tainted) {
                    flags.var_line_reindented = true;
                    flags.var_line_tainted = false;
                    print_newline();
                    print_token();
                    print_single_space();
                    break;
                } else {

和第 1123 行

        if (token_text === ',') {
            if (flags.var_line) {
                if (flags.var_line_tainted) {
                    print_newline();
                    print_token();
                    print_single_space();

                    flags.var_line_tainted = false;
                } else {
                    print_newline();
                    print_token();
                    print_single_space();
                }
            } else if (last_type === 'TK_END_BLOCK' && flags.mode !== "(EXPRESSION)") {
                print_token();
                if (flags.mode === 'OBJECT' && last_text === '}') {
                    print_newline();
                } else {
                    print_single_space();
                }
            } else {
                if (flags.mode === 'OBJECT') {
                    print_newline();
                    print_token();
                    print_single_space();
                } else {
                    // EXPR or DO_BLOCK
                    print_token();
                    print_single_space();
                }
            }
            break

【讨论】:

  • 谢谢!这正是我所需要的。顺便说一句,您绝对应该将此作为补丁提交给github.com/einars/js-beautify;我相信很多人会发现这样的选项非常有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-31
相关资源
最近更新 更多