Sublime Text 2 HTML5语法高亮

5

我正在使用Sublime编辑HTML5文档。但是当我开始进行无引号的编辑时,例如:

<div id=asdf>

代替
<div id="asdf">

它的语法高亮显示出了问题。

图片描述

有什么解决方法吗?有没有其他适用于sublime的最新解析器?

谢谢。


4
为什么要进行无引号编辑? - red-X
2
如果不需要,我不想输入两个不必要的字符。 - zsitro
你能解决这个问题吗?我也遇到了同样的问题。 - Hugo Forte
这对我来说也很恼人。我很想放弃引号,让语法高亮不要变得愚蠢。 - Nathan Cox
1
好的,这不是必需的,但强烈建议... http://www.w3schools.com/html/html_attributes.asp - Qwerty
3个回答

5
这个Sublime Text讨论串提供了一种解决方法:http://www.sublimetext.com/forum/viewtopic.php?f=3&t=8129 打开您的HTML.tmLanguage(在~/.config/sublime-text-2/Packages/HTML中),找到以下内容:
  <string>(?&lt;='|")</string>
  <key>name</key>
  <string>meta.attribute-with-value.id.html</string>

将第一行更改为

<string>(?&lt;==|='|=")</string>

如果你的值没有被引号包裹,它们不会像引号包裹的值一样被突出显示,但至少这样做可以避免语法高亮完全崩溃。


3

使用免引号 HTML 并不是一个好主意,我建议您使用引号。节省的字节并不值得将来可能带来的麻烦。


4
谢谢你的意见。我的问题与这个答案无关。 - zsitro
6
无论问题是否与@Dbugger的答案相关,这对于任何寻求信息的人来说都是重要信息。你所做的是不良实践且容易出错,特别是当使用多个类或考虑到HTML5允许没有值的单词属性(如“selected”)时,与XHTML不同,“selected =“ selected””。这只是你问题上的警告标签……我甚至无法想象在2012年还有人这样做。 - jonschlinkert
1
@Dbugger:支持错误的想法是一个错误的想法。 - Josh Campbell
2
如果它真的那么糟糕,它就不会成为标准了。支持标准的编辑器比支持你的标准更好。天哪,这是无知。强迫别人做出某种选择,好吗?没有理由认为这是一个坏主意。这和语句后不需要';'一样糟糕,通常情况下很好用。Python被大多数人认为是“不错的想法”。如果你不是个白痴,你永远不会做错,它非常简单易懂。 - Lodewijk

-1

在这个问题上,我必须支持Dbugger的观点。我感到有义务不帮助您配置Sublime以“不报告”错误的HTML实践。话虽如此,回答您的问题是- 在引号中键入将消除Sublime中的奇怪高亮显示。


3
HTML5规范明确说明不带引号的单词属性值是完全有效的,这意味着“不是不好的做法”。 - Nathan Cox
1
将你的汽车撞到墙上而没有系安全带是完全有效的,但并不明智。如果你要学习某些东西,就要学好它。XAML:“属性名称后面跟着赋值运算符(=)。属性值必须是用引号括起来的字符串。”XML:“规则三 - 所有 XML 属性必须用引号括起来。”XHTML:“以下是一些 XHTML 规则的示例:...所有 XHTML 属性值都必须用引号括起来。”HTML5:“就像在 HTML 中一样,有些情况下可以省略属性值周围的引号,但盲目这样做可能会导致代码出错:” - Josh Campbell
2
XHTML不是HTML5,XML也不是HTML5,XAML当然也不是HTML5。HTML5允许在特定和明确定义的情况下省略属性值周围的引号。准确地说:"HTML中有效的未引用属性值是任何非空字符串文本,不包含空格、制表符、换行符、换页符、回车符、"、'、`、=、<或>。"由于这个问题涉及语法高亮,当有效地省略引号并指出无效情况时,高亮应该正常工作。 - Zr40
XML < JSON。HTML!= XML。HTML!= JSON。HTML == HTML。系上安全带开车撞墙是完全有效的,只是不太明智。只要你做得对,就没有问题。无论是否系安全带。"政府"(HTML5 工作组)决定让人们自己选择,因为这与开车不同,实际上非常安全,请让汽车停止疯狂鸣叫。 - Lodewijk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接