我刚刚从Atom切换到VSCode。
当我使用Atom并在.js
文件中键入JSX时,我可以键入任何内容并按tab
,这会将我制表的内容转换为自定义组件。例如,asdf
然后tab
将得到<asdf></asdf>
。
现在我将VSCode和Emmet一起使用,但这仅在某些时间有效。我已经对Emmet进行了试验,除基本的自定义组件外,其他所有东西都可以使用
所有HTML标记均按预期工作。即div.blue
和tab
返回<div className="blue"></div>
嵌套工作asdf>jkl
和tab
返回
<asdf>
<jkl></jkl>
</asdf>
由于某种原因,添加冒号会触发它。 as:df
和tab
返回<as:df></as:df>
,但是asdf
和tab
不返回<asdf></asdf>
。我只是将光标向前移动。
我不确定Intellisense或Snippets是否以某种方式进行干扰。 我安装的相关扩展是JavaScript和TypeScript Intellisense v0.0.7,Javascript Snippet Pack v0.1.5和简单的React Snippets 1.2.2。
这是我的设置:
{
"editor.formatOnSave": true,
"editor.tabSize": 2,
"editor.wordWrap": "on",
"prettier.singleQuote": true,
"prettier.jsxBracketSameLine": true,
"prettier.semi": false,
"prettier.useTabs": true,
"html.format.indentInnerHtml": true,
"workbench.colorTheme": "Base16 Tomorrow Dark",
"liveServer.settings.donotShowInfoMsg": true,
"window.zoomLevel": 0.5,
"editor.fontSize": 11,
"emmet.includeLanguages": {
"javascript": "javascriptreact"
}
}
答案 0 :(得分:1)
我找到了答案。在设置中添加"emmet.triggerExpansionOnTab": true
,它将按照我想要的方式工作。默认情况下,它设置为false