在 Visual Studio Code 中反应智能感知

Posted

技术标签:

【中文标题】在 Visual Studio Code 中反应智能感知【英文标题】:React intellisense in Visual Studio Code 【发布时间】:2016-06-27 07:09:31 【问题描述】:

我确定我遗漏了一些简单的东西,但我根本无法让 React.js IntelliSense 在 Visual Studio 代码中工作。

我做了以下事情:

npm install typings ext install Typings Installer 在 Visual Studio 代码中 ext install Typings 在 Visual Studio 代码中 typings init 在我的“应用程序”的根目录中 typings install --ambient react-global 在我的“应用程序”的根目录中 重新启动 Visual Studio Code

创建了一个typings 文件夹。我的应用采用以下文件夹结构:

├───public
│   ├───css
│   └───scripts
|       └───test.js
└───typings
    ├───browser
    │   └───ambient
    │       └───react-global
    └───main
        └───ambient
            └───react-global

然而,当我在 test.js 并输入 React. 时,我没有得到 IntelliSense。

我想我错过了一些基本的东西?

编辑:感谢您的帮助,实际上它再次涉及更多。我认为我已经成功了,并在这里写了我的步骤http://mattdufeu.co.uk/setup-intellisense-vscode-react-js/

【问题讨论】:

对不起,我不知道这是什么原因.. 幸运的是 React 核心有 4 个功能 :) 大多数项目最多只使用两个或三个。 检查控制台(Help > Toggle Developer Tools)——Visual Studio Code 经常崩溃,javascript 引擎可能已经崩溃。我不建议使用 VSCode 进行 Javascript 编辑,至少在解决错误之前的几个月内。 你看到右下角的莎莎酱了吗?如果它有一个感叹号 - 表示不支持最新版本的萨尔萨,请确保将最新版本的打字稿安装为 typescript@next @AndyRay 在开发者工具中什么都没有。 @gabdallah 我什至不认为莎莎是一种选择。谢谢 【参考方案1】:

我认为您需要将 jsconfig.json 添加到工作区的根目录

https://code.visualstudio.com/docs/languages/javascript#_javascript-projects-jsconfigjson

[注意:您甚至可以将jsconfig.json 文件留空]

我遇到了与 Angular 相同的问题,这为我解决了。

希望这会有所帮助!

【讨论】:

这确实起到了作用,不太确定这是我所期待的,但它确实有帮助。我会打勾,因为它似乎有最大的不同 是否也可以为反应生命周期方法获得智能感知? 2019:刚刚为我解决了同样的问题。我一直在使用yarn build,但如果这与它有任何关系,请使用 IDK。谁能解释一下为什么这行得通?【参考方案2】:

现在不再推荐使用类型(以及就此而言 tsd)。我发现我的情况的单行答案就是在命令中包含来自 npm 的类型定义

npm i @types/react --save-dev

intellisense 立即在 Visual Studio Code 中为我获取了新定义,但对于其他人,您可能需要重新启动 VSCode 窗口。

我不确定它是否相关,但我的应用是使用最新版本的 create-react-app 创建的。

【讨论】:

这实际上在 VsCode 中有效。我在 text/babel 块内进行测试,但无法完成这项工作。但是回到 .js 文件,您的回答帮助我获得了 React 和 ReactDOM 成员的 Intellisens。谢谢! 我不确定这是做什么的,但是这个真的对我有用! 2021,我遇到了麻烦,这个解决方法对我来说非常有效【参考方案3】:

如果其他人在 2016 年 3 月或 4 月遇到此问题,您可能还希望在 github 中查看此问题以查看它是否已关闭:

https://github.com/Microsoft/vscode-react-native/issues/61

本质上,使用import React, Component from 'react' ES6 风格的模块导入会导致Salsa 的Intellisense 不起作用,解决方法是使用require:var React = require('react'); var Component = React;

【讨论】:

【参考方案4】:

如果你将一个空的 jsconfig.json 文件添加到你的 react 项目中,它会导致构建过程崩溃。 只需用类似的东西填充它


  "compilerOptions": 
    "target": "es6"
  

【讨论】:

也可以加"exclude": ["node_modules"]【参考方案5】:

终于得到了这个工作,去定义和所有的反应jsx工作。 您需要 jsconfig.json,看起来像这样(注意您需要“jsx”:“react”属性,并在别名中指定尾随 'index.jsx',如果使用隐式类 - as-folder-name 范例):

 
    "compilerOptions": 
        "baseUrl": "./src",
        "paths":  
            "shared/*":       ["./components/shared/*/index.jsx"],
            "components/*":   ["./components/*/index.jsx"],
            "stores/*":       ["./lib/stores/*"],
            "services/*":     ["./lib/services/*"],
            "utils/*":        ["./lib/utils/*"]
        ,
        "module": "commonjs",
        "target": "es6",
        "moduleResolution": "classic",
        "jsx": "react"
    

然后像这样导入所有工作:

import UserApi from 'services/api/UserApi';
import EditArea from 'components/views/Blog/EditArea';
import EditableLabel from 'shared/EditableLabel';

希望对你有帮助!

【讨论】:

"compilerOptions": "target": "es6", "jsx": "react" 为我工作!

以上是关于在 Visual Studio Code 中反应智能感知的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio Code 中文界面设置

Visual Studio Code代码自动补全无法使用

Visual Studio Code (Mac OS) 重命名符号不起作用

如何在Visual Studio Code 中运行 Python

开发环境安装 Visual Studio Code 开发环境 ( 下载 Visual Studio Code 安装器 | Visual Studio Code )

visual studio code报错误怎么解决