Js-beautify: 属性换行时,行未正确缩进

创建于 2017-01-05  ·  23评论  ·  资料来源: beautify-web/js-beautify

描述

每当发生属性换行时,缩进都会中断。

使用js-beautify v1.6.8

输入值

美化之前的代码如下所示:

<div first second>content</div>
<div>content</div>

预期产量

美化之后,代码应如下所示:

<div first 
     second>content</div>
<div>content</div>

实际产量

美化后的代码实际上如下所示:

<div first
     second>content</div>
    <div>content</div>

重现步骤

美化代码

环境

作业系统:MacOS

设定值

例:

{
    "wrap_attributes": "force-aligned"
}

注意: wrap_attributes不必设置为强制对齐。 引入任何包装(不包括“ force-expand-multiline”),包括如果由“ auto”引起的包装都将证明此问题。

html bug

最有用的评论

找到了问题。 立即修复。

所有23条评论

我遇到了同样的问题(通过atom-beautify #735

<p attr1 attr2 attr3>
  text
</p>

变成

<p attr1
    attr2
    attr3>
  text
  </p>

我的力量包扎了

同样在这里,直到最后一刻,代码也不断缩进。 这样就不可能再使用这种美化器了,我必须手动格式化代码:/

<nav id="header"
  class="navbar navbar-default">
  <div class="header-container container-fluid">
    <div class="logo-container navbar-header">
      <a ui-sref="stats"
        class="navbar-brand pws-icon pws-pws"></a>
    </div>
    <div class="header-contents collapse navbar-collapse">
      <ul class="tab-list nav navbar-nav">
        <li class="tab tab-prospects"
          ui-sref-active="active">
          <a ui-sref="stats">
            Stats
          </a>
          </li>
          <li class="tab tab-prospects"
            ui-sref-active="active">
            <a ui-sref="upload">
              Importer
            </a>
            </li>
            <li class="tab tab-prospects"
              ui-sref-active="active">
              <a ui-sref="territories">
                Territory Assignment
              </a>
              </li>

      </ul>
    </div>
  </div>
  </nav>

我可以确认这个错误,随机开始发生。
每当标签的属性换行时,内部内容就会开始错误地缩进。

[编辑]
我必须禁用此插件才能继续工作,直到提供修复程序为止= /

同样在这里! = /

@bitwiseman有人在做这个吗? 这是一个非常受欢迎的程序包,这是一个很大的问题...我很乐意看到它已修复:(不幸的是,我不确定我自己知道该如何更改以贡献代码。也许有些指针?

好像从.jsbeautifyrc文件中删除"wrap_attributes": "force" html中的.jsbeautifyrc可以解决问题

@chenasraf-我希望看到此问题的解决。 有关在本地构建的说明,请参见Contributing.md
拉取请求#1104显示了一个不错的更改:将条目添加到test/data/html/tests.js ,更新产品代码,然后构建(对generated文件的更改是自动完成的)。

@matheusdavidson-很高兴知道。 @chenasraf-您将要向已经测试wrap_attributes选项的矩阵中添加测试。

有人在实际工作吗? 太多的叉子无法全部检查。 也许我可以帮忙。

@ kf-ireneuszpatalas我还没来得及研究, @ chenasraf是唯一表达兴趣的人。

@bitwiseman似乎在js / lib / beautify-html.js:980之后添加multi_parser.unindent()解决此问题,尽管我不确定这在逻辑上是否合适,要添加什么条件,等等。如果您仍然希望我照顾好它,则需要几天的时间,直到我有足够的空闲时间来了解包装中的基础知识。 要么就是有人想控制the绳

@chenasraf-在我什至不做任何其他事情之前,这会使多个测试失败。 是的,我仍然希望您能解决此问题。

@ chenasraf ,@

找到了问题。 立即修复。

公关提交

@HookyQR-非常感谢! 合并并发布。

可以通过“自动对齐”扩展包装选项吗?

“强制对齐”将强制包装+对齐它们...

但可以说我不想包装所有的HTML元素,而只包装长的HTML元素,然后手动进行包装..

因此,“自动对齐”只会对齐已包装的内容。

@Montago-请打开一个新问题,描述您想要的内容,包括输入,输出等。

@bitwiseman

我寻求的功能已经开放: https :

我刚刚安装了此工具,但出现了grunt和以下选项的缩进问题: wrapAttributes: 'force-expand-multiline'
我正在运行v1.7.5
谢谢

还通过'force-expand-multiline'任何更新吗?

也通过“ force-expand-multiline”解决此问题

@affanshahid @veDev
您是否已使用1.8.0-rc2尝试过此操作?

此页面是否有帮助?
0 / 5 - 0 等级