反应
最后修改时间:2023 年 9 月 8 日所需插件:
Javascript and TypeScript, JavaScript Debugger - 这些插件仅在 IntelliJ IDEA Ultimate 中可用,默认情况下启用。
React是一个 JavaScript 库,用于从封装的组件构建复杂的交互式用户界面。从React 官方网站了解有关该库的更多信息。
IntelliJ IDEA 与 React 集成,为配置、编辑、linting、运行、调试和维护应用程序提供帮助。
在你开始之前
创建一个新的 React 应用程序
开始构建新的 React 单页应用程序的推荐方法是create-react-app包,IntelliJ IDEA 使用npx下载并运行该包。因此,您的开发环境已预先配置为使用 webpack、Babel、ESLint 和其他工具。
当然,您仍然可以自己下载 Create React App 或创建一个空的 IntelliJ IDEA 项目并在其中安装 React。
提示
从React 官方网站了解有关安装 React 和创建 React 应用程序的更多信息。
使用 create-react-app 生成 React 应用程序
选择文件 | 新 | 从主菜单进行项目或单击欢迎屏幕上的“新建项目”按钮。
在“新建项目”对话框中,在左侧窗格中选择“React” 。
在向导的右侧部分,指定项目名称和要在其中创建项目的文件夹。
确保在“项目类型”中选择“React”。
在“节点解释器”字段中,指定要使用的 Node.js 解释器。从列表中选择已配置的解释器,或选择“添加”以配置新的解释器。
从create-react-app列表中,选择npx create-react-app。
或者,对于 npm 版本 5.1 及更早版本,您可以
create-react-app通过npm install --g create-react-app在Terminal 中运行来自行安装软件包。创建应用程序时,选择存储包的文件夹。AltF12create-react-app可选:
要使用 TSX 而不是 JSX,请选中“创建 TypeScript 项目”复选框。IntelliJ IDEA 将为您的应用程序生成.tsx文件和tsconfig.json 配置文件。
当您单击Create时,IntelliJ IDEA 会生成一个特定于React的项目,其中包含所有必需的配置文件并下载所需的依赖项。IntelliJ IDEA 还使用默认设置创建npm start和JavaScript 调试配置,用于运行或调试应用程序。
提示
或者,打开内置终端并输入:
npx create-react-app <application-name>创建一个应用程序。
cd <application-name>切换到应用程序文件夹。
npm start启动 Node.js 服务器。
在空的 IntelliJ IDEA 项目中安装 React
在这种情况下,您必须自行配置构建管道,如下面构建 React 应用程序中所述。从React 官方网站了解有关将 React 添加到项目的更多信息。
创建一个空的 IntelliJ IDEA 项目
选择文件 | 新 | 从主菜单进行项目或单击欢迎屏幕上的“新建项目”按钮。
在“新建项目”对话框中,选择左侧窗格中的“新建项目” 。
在右侧窗格中,选择语言区域中的JavaScript。
为新项目命名并根据需要更改其位置,然后单击“创建”。
在空项目中安装 React
打开您将在其中使用React 的空项目。
在嵌入式终端( ) 中,键入:AltF12
npm install --save react react-dom
从现有的 React 应用程序开始
要继续开发现有的 React 应用程序,请在 IntelliJ IDEA 中打开它并下载所需的依赖项。
打开计算机上已有的应用程序源
单击欢迎屏幕上的“打开”或“导入”,或选择“文件”|“导入”。从主菜单打开。在打开的对话框中,选择存储源的文件夹。
从版本控制中检查应用程序源
单击欢迎屏幕上的从 VCS 获取。
或者,选择文件 | 新 | 来自版本控制或Git 的项目| 从主菜单克隆...。
您可能会看到与您的项目关联的任何其他版本控制系统,而不是主菜单中的Git 。例如,Mercurial或Perforce。
在打开的对话框中,从列表中选择您的版本控制系统,并指定用于检查应用程序源的存储库。有关更多信息,请参阅查看项目(克隆)。
下载依赖项
在弹出窗口中单击运行“npm install”或运行“yarn install” :

您可以使用npm、Yarn 1或Yarn 2 ,详细信息请参阅npm 和 Yarn 。
从编辑器或项目工具窗口中package.json的上下文菜单中选择运行“npm install”或运行“yarn install”。
项目安全
当您打开在 IntelliJ IDEA 外部创建并导入其中的项目时,IntelliJ IDEA 会显示一个对话框,您可以在其中决定如何使用不熟悉的源代码处理该项目。

选择以下选项之一:
在安全模式下预览:在这种情况下,IntelliJ IDEA 以预览模式打开项目。这意味着您可以浏览项目的源代码,但无法运行任务和脚本或运行/调试项目。
IntelliJ IDEA 在编辑器区域顶部显示一条通知,您可以单击“信任项目...”链接并随时加载您的项目。
信任项目:在这种情况下,IntelliJ IDEA 打开并加载项目。这意味着项目已初始化,项目的插件已解析,依赖项已添加,并且所有 IntelliJ IDEA 功能均可用。
不要打开:在这种情况下,IntelliJ IDEA 不会打开该项目。
从项目安全中了解更多信息。
提示
从欢迎屏幕或通过文件 |创建的项目 新 | 中描述的项目将自动被视为可信。
代码完成
IntelliJ IDEA 为 JavaScript 代码中的 React API 和JSX提供代码补全。代码完成适用于 React 方法、React 特定属性、HTML 标签和组件名称、React 事件、组件属性等。从React 官网了解更多信息。
要获得 React 方法和 React 特定属性的代码补全,您需要在项目中的某个位置放置 React.js 库文件。通常该库已经位于您的node_modules文件夹中。
完整的 React 方法、属性和事件
默认情况下,代码完成弹出窗口会在您键入时自动显示。例如:

在 JSX 标签中,IntelliJ IDEA 为React 特定属性(例如className或classID)和非 DOM 属性(例如key或 )提供编码帮助ref。此外,自动完成还适用于项目 CSS 文件中定义的类名称:

所有React 事件,例如onClick或,也可以与大括号或引号onChange一起自动完成 。={}""

默认情况下,插入花括号。您可以让 IntelliJ IDEA 始终添加引号,或者根据TypeScript 定义文件 (d.ts)中的类型在引号或大括号之间进行选择。要更改默认设置,请打开“设置”对话框 ( ),转至编辑器 | 代码风格| HTML并从“添加 JSX 属性”列表中选择适用的选项。CtrlAlt0S

补全也适用于大括号内的 JavaScript 表达式。这适用于您定义的所有方法和函数:

完整的 HTML 标签和组件名称
IntelliJ IDEA 为您在 JavaScript 方法或其他组件内定义的 HTML 标签和组件名称提供代码补全:

补全也适用于具有 ES6 样式语法的导入组件:

完整的组件属性
propTypesIntelliJ IDEA 为使用并解析它们定义的组件属性提供代码完成,以便您可以快速跳转或预览它们的定义:

当您自动完成组件的名称时,IntelliJ IDEA 会自动添加其所有必需的属性。如果在使用组件时缺少某些必需的属性,IntelliJ IDEA 会向您发出警告。
将 HTML 属性传输到 JSX
当您复制一段带有类属性或事件处理程序的 HTML 代码并将其粘贴到 JSX 中时,IntelliJ IDEA 会自动将这些属性替换为 React 特定的属性( 、 、className等onClick)onChange。

这也适用于多伦多证券交易所:

要将 HTML 代码按原样复制到 JSX 或 TSX,请使用“粘贴简单” 或打开“设置”对话框 ( ),转至编辑器 | 一般| 智能钥匙| JavaScript,并清除将 HTML 粘贴到 JSX 文件时转换属性复选框。CtrlAltShift0VCtrlAlt0S
反应代码片段
IntelliJ IDEA 附带了 50 多个代码片段的集合,这些代码片段可扩展为 React 应用程序(包括React Hooks)中常用的不同语句和代码块。下面的示例展示了如何使用rcjc缩写来创建一个定义新 React 组件的类:

从片段创建 React 代码构造
在编辑器中输入所需的缩写并按。Tab
按并选择相关片段。要缩小搜索范围,请开始输入缩写,然后从完成列表中选择它。Ctrl0J
有关更多信息,请参阅实时模板。
查看所有可用 React 片段的列表
在“设置”对话框 ( ) 中,单击“编辑器”下的“实时模板”,然后展开“React”或“React hooks”节点。CtrlAlt0S

JSX 中的埃米特
借助 IntelliJ IDEA,您不仅可以在 HTML 中使用Emmet,还可以利用一些特殊的 React 技术在 JSX 代码中使用 Emmet。例如,缩写div.my-class在 JSX 中扩展为<div className=”my-class"></div>,但不像<div class=”my-class"></div>在 HTML 中那样扩展为:

浏览 React 应用程序
除了基本导航之外,IntelliJ IDEA 还可以帮助您在特定于 React 的代码元素之间跳转。
要跳转到大括号内的方法或 JavaScript 表达式的声明
{},请选择方法或表达式并按。Ctrl0B要跳转到组件的声明,请选择组件名称并按。Ctrl0B
提示
或者,使用:按住,将鼠标悬停在符号上。当符号变成超链接时,其声明将显示在工具提示中。单击超链接而不释放按键即可在编辑器中打开声明。从转到声明及其类型了解更多信息。CtrlClickCtrl
要查看组件定义,请按。CtrlShift