【问题标题】:Make Sublime Text treat <script type="text/html"> as HTML使 Sublime Text 将 <script type="text/html"> 视为 HTML
【发布时间】:2013-06-13 22:55:39
【问题描述】:

我最近一直在使用 Knockout 模板做很多工作,并且一直在使用 Sublime 来做这件事。我注意到的一件事是,当使用模板时,需要在这样的块中定义:

<script type="text/html"></script>

它将内容视为 Javascript,这意味着我错过了许多已安装的 HTML 工具。我想让它将该内容视为 HTML 而不是 Javascript;有什么设置可以用来做这个吗?

【问题讨论】:

    标签: html sublimetext2 sublimetext3


    【解决方案1】:

    我设法找到了答案thanks to iamntz here;诀窍很简单。对于崇高文本 3:

    1. 在您的安装目录中打开 Packages,然后找到 HTML.sublime-package 并在 7zip(或您最喜欢的存档工具)中打开它
    2. 找到 HTML.tmLanguage 并打开它进行编辑
    3. 找到这一行:

      <string>(?:^\s+)?(&lt;)((?i:script))\b(?![^&gt;]*/&gt;)</string>
      

      并用这个替换它:

      <string>(?:^\s+)?(&lt;)((?i:script))\b(?!([^&gt;]*text/html[^&gt;]*|[^&gt;]*/>))</string>
      

    很好很容易;第二个 sn-p 中的 text/html 可以替换为任何模板类型,它现在将被 Sublime 读取为 HTML。此修复也适用于您已安装的任何 HTML 包。

    【讨论】:

    • HTML.sublime-package 在哪里..?我在任何地方都找不到它?
    • 哦,设法让它为 AngularJS 工作。在 Windows 上,sublime-package 实际上是在程序文件中。 gist.github.com/CMCDragonkai/6056909
    • 针对技术挑战者的更多方向。当您打开它时,它会创建一个 zip 文件,然后您进入并将该文件编辑到上面的行,因为我将其更改为文本/模板以使用主干和下划线。 - 然后保存它,然后你想在 mac 上将 zip 文件重命名回 HTML.sublime-package - 你需要单击“获取信息”以删除 .zip 扩展名,然后打开 sublime 它应该可以工作
    • 在 Ubuntu 上,HTML.sublime-package 位于 /opt/sublime_text/
    • 有一个不错的插件可以打开包资源github.com/skuroda/PackageResourceViewer。当然,对于这个问题,你可能认为它是矫枉过正。
    【解决方案2】:

    对于 Sublime Text 3 build 3103,这似乎不再是必需的。只需确保您的脚本标签的 type 属性以“text/”开头并且不以“javascript”结尾并且它应该处理 HTML现在正确。

    编辑:

    这再次成为 Sublime Text 3 build 3176 的问题。解决方法是再次修改 HTML 包,但在 HTML.sublime-syntax 中进行了此更改:

             - script-javascript
             - tag-generic-attribute-meta
             - tag-generic-attribute-value
    -    - 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")
           set:
             - script-html
             - tag-generic-attribute-meta
    

    将“x-template”替换为您用于脚本标签模板的任何类型。

    【讨论】:

    • 我在 Sublime Tex3 build 3176 中遇到了同样的问题,在 3 次更新后我丢失了我的 html 标记
    猜你喜欢
    • 1970-01-01
    • 2011-03-15
    • 2015-09-07
    • 1970-01-01
    • 2018-11-23
    • 2012-10-29
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多