【问题标题】:Sublime Text: Accept Suggested Autocomplete Without Expanding itSublime Text:接受建议的自动完成而不扩展它
【发布时间】:2016-08-23 11:39:54
【问题描述】:

在 Sublime Text 中,我安装了 Emmet,以便我可以进行 zen 编码。现在,问题是当我输入并获得自动完成建议时,只要我接受该自动完成建议(通过输入制表符、回车或什至按空格键),建议的标签就会展开;这导致我无法继续进行 zen 编码。

举个例子,假设我想插入一个带有 6 个<option> 子元素的<select>。如果我输入select>opt,那么自动完成会建议option,但一旦我接受option,它就会扩展到select<option></option>

我想要的是接受option,但它不会扩展到<option></option>

有没有办法做到这一点?

【问题讨论】:

    标签: html autocomplete sublimetext emmet


    【解决方案1】:

    其实答案很简单。在您的示例中,当您获得option 的自动完成建议时,您将获得其中的 2 个。一个是标签,另一个是文本。使用 Ctrl+Space 浏览所有建议,并选择 option 的文本版本而不是标签版本。

    【讨论】:

      【解决方案2】:

      在 Sublime Text 中,补全由一个 2 元组组成,其中包含显示的字符串和插入的字符/sn-p。我不知道是否可以只插入显示的字符串。不过随便搜索一下,有一种方法可以建立:修改html标签补全文件的源码。

      安装PackageResourceViewer,然后按ctrl+shift+pPackageResourceViewer: Open Resource。选择HTML >>> html_completions.py。 如果您保存文件,它将隐藏(而不是覆盖)原始完成文件。因此,只需将其删除即可获得原始行为。 在这个文件中:

      • 在行中 15return (tag + '\tTag', tag + '>$0</' + tag) 替换为 return (tag + '\tTag', tag)
      • 在行中245completion_list = [(pair[0], '<' + pair[1]) for pair in completion_list] 替换为completion_list = [(pair[0], pair[1]) for pair in completion_list]

      现在它应该插入标签名称而不是整个标签。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多