【问题标题】:Sublime Snippet Not Working崇高的片段不起作用
【发布时间】:2013-09-19 10:50:29
【问题描述】:

我只是想制作一些 sn-ps,但我无法让它们中的任何一个工作。谁能看到这有什么问题?我阅读了他们的文档并从网上翻阅了一些示例,但它们也不起作用。我在我的/sublime text 3/packages/user 文件夹中找到了它,它使用约定myTest.sublime.snippet 命名。

sn-p 是:

<snippet>
    <content>
<![CDATA[
<!DOCTYPE html lang="en">
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]><html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]><html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
    <meta charset="utf-8">
    <title>${1:test1|test2|test3} | $2</title>
    <meta name="viewport" content="width=device-width">
    <meta name="Description" lang="en" content="Description">
    <meta name="robots" content="index, follow">
    <meta name="robots" content="noodp, noydir">

    <!-- Twitter Bootstrap -->
    <link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet">
    <link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.min.css" rel="stylesheet">
    <script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>

    <!--[if lt IE 9]>
        <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
        <script src="assets/js/respond.min.js"></script>
    <![endif]-->    
</head>
<body>

    <div class="container">
        $3
    </div>

</body>
</html>
]]>
</content>
    <tabTrigger>page</tabTrigger>
    <scope>source.html</scope>
    <description>HTML5 Base HTML</description>
</snippet>

【问题讨论】:

  • 命名约定为*.sublime-snippet。尝试先修复它,除非它是您的问题中的错字。如果还是不行,对文件运行show_scope_name 命令,会出现什么作用域?我不知道该命令的所有键绑定,您可以查找它或在 ST 控制台中输入view.run_command("show_scope_name")
  • 哇,好尴尬!它只是缺少破折号,感谢您的帮助!不知道如何将此标记为最佳答案。感谢 Skuroda 和 Soon 的所有帮助。干杯!!!
  • 首先使用以下命令查看范围。 view.scope_name(view.sel()[0].begin()) 在崇高的控制台中。在 MacOs 中调出 sublime 控制台类型 Ctrl+`

标签: sublimetext3


【解决方案1】:

您应该在 scope 块中使用 text.html 而不是 source.html

【讨论】:

  • 您好,谢谢您的回复。我用 text.html 替换了 source.html 并且在键入 page 后它仍然不显示 sn-p :(
  • 尝试在Packages/User中创建一个名为HTML的文件夹并将sn-p放入其中。
  • 嗯,还是不行。我什至无法点击“New Snippet”并让 hello world 示例与我一起使用,只需取消注释底部标签,但所有内置标签都可以正常工作。
  • 奇怪。我将您的示例复制粘贴到 HTML 文件夹中,将 source 更改为 text 并且 sn-p 有效。尝试解压默认的HTML.sublime-package,在sn-p中修改一些东西,放到UserUser/HTML文件夹中,然后尝试调用。也尝试重新启动 ST3。
【解决方案2】:

这显然是一个旧线程,但它是在我搜索创建 sublime sn-ps 时出现的。最初的问题可能是您在没有先将语法设置为 html 的情况下输入“页面”作为选项卡触发器。您可以使用 shift + command/control + p 快速完成此操作,然后键入 sshtml 然后输入。再次尝试您的选项卡触发器。为我工作。干杯。

【讨论】:

    【解决方案3】:

    步骤 1。 html sn-p请改

    <scope>source.html</scope>
    

    <scope>text.html</scope>
    

    步骤 2。如果你想让 sublime 在输入关键字后显示 tooltips,添加这一行

    "auto_complete_selector": true
    

    到您的首选项 - 设置用户文件

    【讨论】:

      【解决方案4】:

      我找到了解决问题的方法!我一直在为另一个项目使用我的键盘的 unicode 设置。当我将键盘改回美国时,我的问题得到了解决。我确定这是一个不寻常的问题,但万一其他人遇到这个问题:

      将键盘改回美国也重新激活了一些代码导航快捷方式(例如,通过按住选项 + 箭头键在一行上逐字跳转)

      【讨论】:

        【解决方案5】:

        您应该在您的 sn-p 中转义美元符号。 $ -> \$。

        【讨论】:

          【解决方案6】:

          Sublime 3 需要 sn-ps 在文件名中有 .sublime-sn-p 结尾。

          【讨论】:

            【解决方案7】:

            删除:

            HTML5 基础 HTML

            是的,这行来自官方文档,但至少在我的实例中(Sublime 3,Build 3114),它破坏了 sn-p。当我删除该行时, sn-p 工作。

            另外,正如上面京龙回答的那样,将以下内容添加到您的用户偏好中:

            “auto_complete_selector”:真

            【讨论】:

              【解决方案8】:

              解决了..

              • 删除&lt;scope&gt;source.html&lt;/scope&gt;
              • 在用户设置中添加"auto_complete_selector": true,

              背景

              我的js/ sn-ps 与&lt;scope&gt;source.html&lt;/scope&gt; 工作得很好,但无论出于何种原因,该行在我的html/ sn-ps 中都没有引起问题。

              【讨论】:

                【解决方案9】:

                我遇到了同样的问题,我所做的是:

                只需删除位于 sn-p 底部的 &lt;scope&gt;source.html&lt;/scope&gt; 行。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2017-03-21
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多