【问题标题】:Emmet plugin's expansion doesn't work for Sublime Text 3Emmet 插件的扩展不适用于 Sublime Text 3
【发布时间】:2015-11-16 23:58:16
【问题描述】:

我通过 Package Control 成功安装了 Emmet。

  • 当我输入ul 并按Tab 时,我得到<ul></ul>
  • 当我输入ul.class 并按Tab 时,我得到ul.body_class 但我希望它生成<ul class="class"></ul>

我做错了什么?

我读过帖子说尝试 Ctl+E 而不是 Tab 作为触发键,但这没有任何作用。

【问题讨论】:

    标签: sublimetext3 emmet


    【解决方案1】:

    我会直接将其作为评论分享,但需要 50 次重复。无论如何。这就是我所做的让我为我工作的事情。

    根据@saadq 的回答,执行以下操作: [ //其他用户键绑定应该在这里,然后是

    {"keys": ["tab"], "args": {"action": "expand_abbreviation"}, "command": "run_emmet_action", "context": [{"key": "emmet_action_enabled.expand_abbreviation"}]}
    

    ]

    关键是让其他绑定出现在它之前,以便任何覆盖它的绑定都会再次被覆盖。

    【讨论】:

      【解决方案2】:

      我检查了 emmet 的默认密钥是 ctrl+e,所以我将它添加到我的 Key Bindings - User

      {"keys": ["tab"], "args": {"action": "expand_abbreviation"}, "command": "run_emmet_action", "context": [{"key": "emmet_action_enabled.expand_abbreviation"}]}
      

      【讨论】:

        【解决方案3】:

        我遇到了同样的问题。只需将以下代码粘贴到“Preferences -> Key Bindings - User:”中。

        {
          "keys": ["tab"], 
          "command": "expand_abbreviation_by_tab", 
        
          // put comma-separated syntax selectors for which 
          // you want to expandEmmet abbreviations into "operand" key 
          // instead of SCOPE_SELECTOR.
          // Examples: source.js, text.html - source
          "context": [
            {
              "operand": "SCOPE_SELECTOR", 
              "operator": "equal", 
              "match_all": true, 
              "key": "selector"
            }, 
        
            // run only if there's no selected text
            {
              "match_all": true, 
              "key": "selection_empty"
            },
        
            // don't work if there are active tabstops
            {
              "operator": "equal", 
              "operand": false, 
              "match_all": true, 
              "key": "has_next_field"
            }, 
        
            // don't work if completion popup is visible and you
            // want to insert completion with Tab. If you want to
            // expand Emmet with Tab even if popup is visible -- 
            // remove this section
            {
              "operand": false, 
              "operator": "equal", 
              "match_all": true, 
              "key": "auto_complete_visible"
            }, 
            {
              "match_all": true, 
              "key": "is_abbreviation"
            }
          ]
        }

        Github: See for more description

        【讨论】:

          【解决方案4】:

          看了你的问题后,我今天在 Windows 版的 Sublime Text 3 中安装了 Emmet,也遇到了同样的问题。在我寻找解决方案的过程中,我发现了以下内容:

          http://docs.emmet.io/actions/expand-abbreviation/#comment-1272517661

          在 Windows 中,我打开了默认 Emmet 首选项。前往:

          首选项 > 包设置 > Emmet > 设置 - 默认 和 Preferences > Package Settings > Emmet > Key Bindings - Default

          当我关闭设置文件时,系统提示我保存设置文件。我点击确定保存,然后重新启动 Sublime Text 3。

          Sublime Text 3 重新加载后: 我创建了一个新的 html 文件,并且能够键入 ul.class,选项卡式并扩展为 <ul class></ul>

          这很有趣,我从来没有在我的 Mac 上遇到过 Sublime 的问题。如果您必须在 Mac 上执行相同的过程,请转到 Preferences > Package Settings > Emmet ...

          【讨论】:

          • 奇怪。当我从那里转到 Preferences > Package Settings 时,我唯一的选择是 Package Control。我确实将 Emmet 设置视为编辑选项。此外,当我打开任何其他设置文件时,除非我进行了更改,否则不会提示我保存它们。
          • 您确定 Emmet 安装正确吗?你能用 Ctrl+Shift+P 打开命令面板并执行Package Control: List Packages 并确保 Emmet 已列出吗?
          • 您是否尝试过在 sublime 中删除 emmet,重新启动 sublime,然后再次运行安装过程?还有,什么平台? Windows、Mac、Linux?
          • 我所做的一切,在阅读完这篇文章后,转到我的 Preferences > Package Settings > Emmet > Keybindings User (也是默认值,但它不会让我保存默认值)并输入一个空格进行更改,保存,重新启动 ST3 并恢复工作!
          【解决方案5】:

          尝试改用 Ctrl+Space。如果这不起作用,您可以尝试通过将以下内容放入用户键绑定文件中来更改键绑定,该文件可以通过执行 Preferences -> Key Bindings — User 找到:

          [
              {"keys": ["tab"], "args": {"action": "expand_abbreviation"}, "command": "run_emmet_action", "context": [{"key": "emmet_action_enabled.expand_abbreviation"}]}
          ]
          

          然后只需将"tab" 更改为您想要的任何键绑定。检查是否有效。

          【讨论】:

          • Ctrl+Space 什么也没做,所以我按照建议编辑了我的键绑定,但这没有帮助。如果我输入 ul.class + Tab 它只是向右跳动,根本没有代码扩展。这是我的用户键绑定内容:[ { "keys": ["ctrl+alt+f"], "command": "reindent" }, { "keys": ["tab"], "args": {"action": "expand_abbreviation"}, "command": "run_emmet_action", "context": [{"key": "emmet_action_enabled.expand_abbreviation"}] } ]
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-05-12
          • 2016-03-10
          • 2014-04-27
          • 2015-12-17
          • 2016-03-26
          • 2013-02-17
          • 2016-01-05
          相关资源
          最近更新 更多