Sublime Text:接受建议的自动完成而不展开它
Sublime Text: Accept Suggested Autocomplete Without Expanding it
在 Sublime Text 中,我安装了 Emmet 以便我可以进行禅宗编码。现在,问题是,当我输入并获得自动完成建议时,一旦我接受该自动完成建议(通过输入制表符、输入,甚至按 space 栏),建议的标签就会展开;这导致我无法继续 zen 编码。
举个例子,假设我想插入一个有 6 个 <option>
子元素的 <select>
。如果我输入 select>opt
,那么自动完成会建议 option
,但是一旦我接受 option
,它就会扩展为 select<option></option>
。
我想要的是接受 option
,但它不会扩展到 <option></option>
。
有没有办法做到这一点?
在 Sublime Text 中,补全由一个 2 元组组成,其中包含显示的字符串和插入的 characters/snippet。我不知道是否可以只插入显示的字符串。但是如果你搜索任何方式,有一个方法可以建立:修改html标签补全文件的源代码。
安装PackageResourceViewer,然后按ctrl+shift+p
写入PackageResourceViewer: Open Resource
。 SelectHTML >>> html_completions.py
。
如果您保存文件,它将隐藏(而不是覆盖)原始完成文件。因此只需将其删除即可获得原始行为。
在这个文件中:
- 行
15
将 return (tag + '\tTag', tag + '>[=14=]</' + tag)
替换为 return (tag + '\tTag', tag)
。
- 行
245
将 completion_list = [(pair[0], '<' + pair[1]) for pair in completion_list]
替换为 completion_list = [(pair[0], pair[1]) for pair in completion_list]
现在它应该插入标签名称而不是整个标签。
其实答案很简单。在您的示例中,当您获得 option
的自动完成建议时,您将获得其中的 2 个。一个是标签,另一个是文本。使用 Ctrl+Space 查看所有建议,select option
的文本版本而不是标签版本。
在 Sublime Text 中,我安装了 Emmet 以便我可以进行禅宗编码。现在,问题是,当我输入并获得自动完成建议时,一旦我接受该自动完成建议(通过输入制表符、输入,甚至按 space 栏),建议的标签就会展开;这导致我无法继续 zen 编码。
举个例子,假设我想插入一个有 6 个 <option>
子元素的 <select>
。如果我输入 select>opt
,那么自动完成会建议 option
,但是一旦我接受 option
,它就会扩展为 select<option></option>
。
我想要的是接受 option
,但它不会扩展到 <option></option>
。
有没有办法做到这一点?
在 Sublime Text 中,补全由一个 2 元组组成,其中包含显示的字符串和插入的 characters/snippet。我不知道是否可以只插入显示的字符串。但是如果你搜索任何方式,有一个方法可以建立:修改html标签补全文件的源代码。
安装PackageResourceViewer,然后按ctrl+shift+p
写入PackageResourceViewer: Open Resource
。 SelectHTML >>> html_completions.py
。
如果您保存文件,它将隐藏(而不是覆盖)原始完成文件。因此只需将其删除即可获得原始行为。
在这个文件中:
- 行
15
将return (tag + '\tTag', tag + '>[=14=]</' + tag)
替换为return (tag + '\tTag', tag)
。 - 行
245
将completion_list = [(pair[0], '<' + pair[1]) for pair in completion_list]
替换为completion_list = [(pair[0], pair[1]) for pair in completion_list]
现在它应该插入标签名称而不是整个标签。
其实答案很简单。在您的示例中,当您获得 option
的自动完成建议时,您将获得其中的 2 个。一个是标签,另一个是文本。使用 Ctrl+Space 查看所有建议,select option
的文本版本而不是标签版本。