VSCode 中自定义 JSX 组件的选项卡快捷方式

ava*_*hzh 2 keyboard-shortcuts jsx emmet visual-studio-code

我刚刚从 Atom 切换到 VSCode。

当我使用 Atom 并在.js文件中输入 JSX 时,我可以输入任何内容并按下tab它,它会将我的选项卡转换为自定义组件。例如,asdf然后tab会给<asdf></asdf>.

现在我有 VSCode 和 Emmet,但这仅在某些时候有效。我已经尝试过 Emmet,除了基本的自定义组件外,一切正常

所有 HTML 标签都按预期工作。即div.blue&tab返回<div className="blue"></div>

嵌套工作asdf>jkltab返回

<asdf>
    <jkl></jkl>
</asdf>
Run Code Online (Sandbox Code Playgroud)

出于某种原因,添加冒号会触发它。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 和 simple 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"
    }
}
Run Code Online (Sandbox Code Playgroud)

ava*_*hzh 6

我找到了答案。在设置中添加"emmet.triggerExpansionOnTab": true,它将按照我想要的方式工作。默认情况下它被设置为false