我正在使用Visual Studio Code开发一个React项目,有很多像下面这样的.js
文件:
import React, { PureComponent } from 'react'
class Foobar extends PureComponent {
render() {
return (
<main>
Foo
</main>
)
}
}
export default Foobar
React自带方法的自动完成很好用(例如在组件中添加
componentWill...
),但是在输入JSX时我没有得到任何建议。 在main
中输入onCli...
不会提示onClick
。我找到了一些关于typescript定义的教程,所以我安装了:
"@types/react": "^16.0.36",
"@types/react-dom": "^16.0.3",
但这并没有起到任何作用。即使我将文件从
.js
重命名为.jsx
,.ts
或.tsx
,我也无法在JSX属性上获得自动完成。我有什么遗漏的吗?
我还创建了一个
jsconfig.json
:{
"compilerOptions": {
"target": "ES6",
"module": "commonjs",
"allowSyntheticDefaultImports": true
},
"exclude": [
"node_modules"
]
}
我将以下内容添加到了我的VS Code配置文件中:
"emmet.includeLanguages": {
"javascript": "javascriptreact"
},
"emmet.syntaxProfiles": {
"javascript": "jsx"
},
"files.associations": {
"*.js": "javascriptreact"
}
React.Component
的抽象方法时,基于自动完成“智能感知”,这应该是默认行为的假设? - Mark C..html
文件中一样自动完成常规HTML属性,例如name
,type
等。 - Slevin