【发布时间】:2018-07-18 03:10:22
【问题描述】:
我正在为一个 React 项目使用 Visual Studio Code,并且有很多 .js 文件,如下所示:
import React, { PureComponent } from 'react'
class Foobar extends PureComponent {
render() {
return (
<main>
Foo
</main>
)
}
}
export default Foobar
React 自己的方法的自动补全效果很好(比如将componentWill... 添加到组件中),但是在输入 JSX 时我没有得到任何建议。在main 中键入onCli... 之类的内容并不建议onClick。
我找到了一些关于打字稿定义的教程,所以我已经安装了:
"@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的抽象方法时,这应该是基于自动完成“智能感知”的默认行为? -
我认为 VS Code 至少会自动完成普通的 HTML 属性,例如
name、type等等——就像普通的.html文件一样。 -
明白——你检查this thread了吗?
-
是的,已经检查过了 :(
-
噢……这也是我的问题:github.com/Microsoft/vscode/issues/41123
标签: reactjs visual-studio-code jsx