VSCode 用户代码片段不生效是怎么回事?
我写了个 React 的用户代码片段,但输缩写完全没反应,试了重启 VSCode 也没用。
我的 snippets 文件里是这么配的:
{
"React Functional Component": {
"prefix": "rfc",
"body": [
"import React from 'react';",
"",
"const ${1:ComponentName} = () => {",
" return (",
" <div>$2</div>",
" );",
"};",
"",
"export default ${1:ComponentName};"
],
"description": "Create a React functional component"
}
}
然后在 .js 文件里敲 rfc 按 Tab 或 Enter 都没展开,是我哪里配置错了?
javascript.json或者javascriptreact.json文件夹下。有时候 VSCode 可能会忽略放在错误位置的 snippets 文件。其次,确认一下你在编辑的是
.js文件还是.jsx文件。如果是.jsx文件,你应该把 snippets 放在javascriptreact.json文件中。最后,确保你的 VSCode 设置中没有禁用 snippets 功能。虽然这不太常见,但也不是不可能。
如果以上都检查过了还是有问题,可以试试重新打开 VSCode 或者清除一下缓存,有时候这样也能解决一些莫名其妙的问题。
更好的写法是,你可以使用 VSCode 自带的 Emmet 功能或者安装一些插件来简化这个过程,比如
ES7+ React/Redux/React-Native snippets插件,它自带了很多常用的 React snippets,可以大大提高你的编码效率。你大概是放在全局代码片段里了?全局片段需要指定 scope 才能在特定文件类型里生效。
解决办法:打开「文件 -> 首选项 -> 用户代码片段 -> JavaScript」,把配置贴进去,保存。然后在 .js 文件里就能用了。
如果非要放全局,就在文件开头加上 scope: