在Sublime Text 3中,我有Babel
包,用于在JSX中突出显示HTML代码。
但HTML代码没有自动完成功能,例如包含在render()
块内的代码。我们如何为HTML代码启用自动完成功能?
答案 0 :(得分:7)
您需要Emmet插件才能在JSX组件中自动完成。
使用包控制器安装Emmet。在其他Emmet功能中,在写完标签名称后,按Ctrl+E
它将转换为开 - 关标签对。如果您想使用Tab
按钮,则需要通过添加到包设置中来修改基本的Emmet配置 - > Emmet - >键绑定(用户)一个JSON doc,如:
[
{"keys": ["tab"], "command": "expand_abbreviation_by_tab", "context":
[
{ "operand": "source.js", "operator": "equal", "match_all": true, "key": "selector" },
{ "match_all": true, "key": "selection_empty" },
{ "operator": "equal", "operand": false, "match_all": true, "key": "has_next_field" },
{ "operand": false, "operator": "equal", "match_all": true, "key": "auto_complete_visible" },
{ "match_all": true, "key": "is_abbreviation" }
]
}
]
默认情况下不允许Tab
自动完成以避免与内部Sublime Text功能冲突,但此脚本将使Emmet意识到这一点,并允许在JSX文件范围内自动重现
答案 1 :(得分:0)
这很难回答,因为它取决于很多Sublime Text插件。
如果你使用Babel作为JS的格式和像Emmet这样的HTML包,你应该没问题。在某些情况下,“tab”可能不起作用,但Emmet CTRL + e仍将扩展任何部分标记,即使使用正确的“className”而不是类。