将 emmet 自动完成功能扩展到 sublime 文本中的多行
Posted
技术标签:
【中文标题】将 emmet 自动完成功能扩展到 sublime 文本中的多行【英文标题】:Expand emmet autocompletes to multiple lines in sublime text 【发布时间】:2014-03-13 14:42:53 【问题描述】:当我用 emmet 在 sublime text 2 中输入以下内容时:
.one>labelfoo+input:r
我得到一长行代码
<div class="one"><label for="">foo</label><input type="radio" name="" id=""></div>
有没有办法让 emmet/sublime 输出这种风格?
<div class="one">
<label for="">foo</label>
<input type="radio" name="" id="">
</div>
我尝试使用 sn-ps.json 没有成功
【问题讨论】:
确保您已将语法设置为 html 或 XML,或者没有覆盖 HTML 的默认输出配置文件。 将语法切换到 xml 解决了这个问题(HTML 没有),我认为它可能是导致问题的 html(liquid) 语法,谢谢 HTML (Liquid) 与 HTML 不同:它具有不同的作用域,因此 Emmet 认为您正在以未知的语法使用它,很可能是在编程语言的字符串中。这就是它产生单行输出的原因 【参考方案1】:这可能不是最好的答案,但我所做的是将 reindent 绑定到一个键,然后点击它。
在 Preferences - Keybindings-User 中输入类似
"keys": ["f12"], "command": "reindent"
但是我确定有办法正确地做到这一点
【讨论】:
【参考方案2】:使用以下内容创建Packages/User/Emmet.sublime-settings
// Output profiles for syntaxes
// http://docs.emmet.io/customization/syntax-profiles/
"syntaxProfiles":
"html":
"tag_nl": true
// "tag_nl_leaf": true
并查看documentation 以获取有关tag_nl
、tag_nl_leaf
和其他选项的更多信息。
【讨论】:
以上是关于将 emmet 自动完成功能扩展到 sublime 文本中的多行的主要内容,如果未能解决你的问题,请参考以下文章