埃米特的新线路

New lines in Emmett

我是 Emmet 的新手(18 小时),它很棒。我已经广泛查看但找不到在未自动添加时添加新行的方法。

.container>.row>.col-sm-3>ul>li#abc$*5

给予

<div class="container">
    <div class="row">
        <div class="col-sm-3">
            <ul>
                <li id="abc1"></li>
                <li id="abc2"></li>
                <li id="abc3"></li>
                <li id="abc4"></li>
                <li id="abc5"></li>
            </ul>
        </div>
    </div>
</div>

在 PhpStorm 或 Sublime 等中非常容易处理。但是

.containter>.row>.col-sm-offset-4>form>(input:text)*5+input:email+input:tel

给的很乱

<div class="containter">
    <div class="row">
        <div class="col-sm-offset-4">
            <form action=""><input type="text" name="" id=""><input type="text" name="" id=""><input type="text"
                                                                                                          name=""
                                                                                                          id=""><input
                    type="text" name="" id=""><input type="text" name="" id=""><input type="email" name=""
                                                                                          id=""><input type="tel"
                                                                                                        name="" id="">
            </form>
        </div>
    </div>
</div>

好的,通过选择 >< 来解决问题是相当简单的,但是很愚蠢。

我试过在不同的地方插入/n,但效果不明显。

那么有没有办法强制换行?

看起来您使用的是 PhpStorm,它有自己的 Emmet 实现。 官方 Emmet(例如,在 Sublime Text 中)生成漂亮的 HTML 代码。

总之,您的兴趣点是:

  1. inline_break 选项来自 syntax profile 设置。
  2. 尝试在文本节点中使用 ${newline} 变量,例如input:email+{${newline}}+input:tel

不知道在 PhpStorm 中是否有效

我遇到了同样的问题,只有接受的解决方案对 PhpStorm 没有帮助。

在 PhpStorm 中,您必须从 PhpStorm 设置中的特定列表中的新行中删除所需的 HTML 标记。您可以在 Preferences>Editor>Code Style>HTML>Other>Inline elements: 中找到它: 删除输入或您不希望内联的任何其他元素,瞧!下次您使用 emmet 时,您的代码将看起来干净整洁。

和之前的答案一样,接受的解决方案对我不起作用,所以

在我的例子中,我在同级 HTML 元素之间添加了一对括号:

p{Content 1}+{}+p{Content 2}

变成了:

<p>Content 1</p>
<p>Content 2</p>

希望有人觉得有用!