我最近升级到了最新版本的sublime文本(版本3.1.1 Build 3176),并且已经丢失了包含在内部标签中的html的语法高亮显示。
对于上下文,我使用x-template类型的脚本在以.html扩展名保存的文件中创建Vue.js组件。
我的文件看起来像这样:
<!-- comp.html -->
<script type="text/x-template" id="comp-template">
<div id="comp-template>
<h2> {{ componentTitle }} </h2>
</div>
</script>
Sublime Text的早期版本默认突出显示了这些脚本标记中的html,但现在它似乎不再起作用了。让sublime再次识别x-template脚本标签中的HTML的最佳方法是什么?
答案 0 :(得分:5)
这是正确的方法:
name: HTML
更改为name: HTML-Vue
- match: '(<)((?i:script))\b'
更改为- match: '(<)((?i:script))\b(?![^>]*/>)(?![^>]*(?i:type.?=.?text/((?!javascript).*)))'
HTML-Vue.sublime-syntax
%AppData%\Sublime Text 3\Packages\User\HTML-Vue.sublime-syntax
)View > Syntax > User > HTML-Vue
答案 1 :(得分:2)
我和你有同样的问题。作为为<script type="text/x-template">...</script>
启用语法突出显示的临时解决方法:
C:\Program Files\Sublime Text 3\Packages\HTML.sublime-package
仅供参考我将您的问题报告给Sublime论坛。
答案 2 :(得分:0)
这是一种不需要新语法模式且更简单的编辑方法:
从Sublime Text 3捆绑的Packages目录中复制HTML.sublime-package文件。
它实际上是一个zip文件,因此请以..../User/Packages/HTML
的形式将内容解压缩到用户包区域。
在HTML目录和script-type-decider
块更改中编辑HTML.sublime语法文件:
- match: (?i)(?=text/html(?!{{unquoted_attribute_value}})|'text/html'|"text/html")
到
- match: (?i)(?=text/html(?!{{unquoted_attribute_value}})|'text/html'|"text/html"|"text/x-template")
(或替换为您使用的任何模板类型。)
然后重新启动Sublime Text。
请注意,此方法的缺点在于,当Sublime Text更新时,HTML包将不再是最新的。因此,您可能希望定期再次执行这些步骤。