有没有一种方法可以在 Visual Studio Code 中配置 Emmet 来使用 React 的 CSS 模块?
当我键入... div.container
并按 Tab 键时,它会变成 <div className="container"></div>
问题在于它没有使用 CSS 模块。我希望它变成这样:<div className={styles.container}></div>
是否有一种方法可以在 VS Code 中获得此功能?
有没有一种方法可以在 Visual Studio Code 中配置 Emmet 来使用 React 的 CSS 模块?
当我键入... div.container
并按 Tab 键时,它会变成 <div className="container"></div>
问题在于它没有使用 CSS 模块。我希望它变成这样:<div className={styles.container}></div>
是否有一种方法可以在 VS Code 中获得此功能?
div.{styles.container}
=> tab,然后会得到:<div className={styles.container}></div>
。"editor.autoClosingBrackets": "always",
"emmet.includeLanguages": {
"javascript": "javascriptreact",
"typescript": "typescriptreact"
},
是的,你可以这样做,但我认为你必须创建自己的代码片段。从VSCODE文档中获取:
在Mac上:Code -> Preferences -> User Snippets,然后将其命名为任何你想要的名称。
当你打开该代码片段文件时,请查看以下内容:
最初的回答
{
"For_Loop": {
"prefix": "for",
"scope": "javascript,typescript",
"body": [
"for (const ${2:element} of ${1:array}) {",
"\t$0",
"}"
],
"description": "For Loop"
}
}
TM_CURRENT_LINE - The contents of the current line
我在这里找不到任何有效的内容,最终在 VS Code 的更新日志中找到了this,对我有用。你可以为markup.attributes.class*
设置属性的值,然后使用markup.valuePrefix.class*
导入样式的名称。
"emmet.syntaxProfiles": {
"jsx": {
"markup.attributes": {
"class*": "className",
},
"markup.valuePrefix": {
"class*": "styles"
}
}
}
将其保存在.vscode/settings.json
中的一个项目中,或者按Shift + Command + P然后转到"Preferences: Open user settings (JSON)"并包含配置。
我认为 Emmet 还不支持 CSS 模块。即使是这样,你仍然需要一个 styles
对象,而编辑器无法推断出来。这是完全可行的,但我认为最好的方法是使用自定义的 Babel 插件。
"emmet.includeLanguages": {
"javascript": "javascriptreact"
}
将在JSX中启用Emmet,但不会在CSS模块中启用。
"emmet.includeLanguages": {
"javascript": "javascriptreact"
}
希望能对您有所帮助!