React
React は、カプセル化されたコンポーネントから複雑なインタラクティブユーザーインターフェースを構築するための JavaScript ライブラリです。 React オフィシャル Web サイト(英語)からライブラリの詳細を参照してください。
IntelliJ IDEA は、React と統合され、lint の設定、編集、実行、デバッグ、アプリケーションの保守を支援します。
始める前に
お使いのコンピューターに Node.js(英語) がインストールされていることを確認してください。
JavaScript and TypeScript、 React、 Vite の必要なプラグインが 設定 | プラグイン ページの インストール済み タブで有効になっていることを確認してください。 詳細については、 プラグインの管理を参照してください。
新しい React アプリケーションを作成する
React アプリケーションを生成する
メインメニューから を選択するか、 ようこそ 画面の 新規プロジェクト ボタンをクリックします。
新規プロジェクト ダイアログで、左側のペインで Vite を選択します。
ウィザードの右側で、プロジェクト名と作成先のフォルダーを指定します。
Node runtime フィールドで、使用する Node.js ランタイムを指定します。 リストから構成済みのランタイムを選択するか、 追加 を選択して新しいランタイムを構成します。
React CLI. リストから、使用するジェネレーターを選択します。
Vite を使用するように開発環境が事前構成されるので、デフォルトの
npx create-viteをそのまま受け入れます。webpack、Babel、ESLint を使用するように開発環境が事前構成されるので、
npx create-react-appを選択します。カスタムのダウンロード済みジェネレーターを使用するには、 選択 をクリックし、開いたダイアログでジェネレーターへのパスを指定します。

オプション:
JSX の代わりに TSX を使用するには、 TypeScript プロジェクトの作成 チェックボックスを選択します。 IntelliJ IDEA は、アプリケーション用の .tsx ファイルと tsconfig.json 構成ファイルを生成します。
作成 をクリックすると、IntelliJ IDEA は、必要なすべての構成ファイルを含む React-specific プロジェクトを生成し、必要な依存関係をダウンロードします。 IntelliJ IDEA は、アプリケーションを実行またはデバッグするためのデフォルト設定で、 npm スタートおよび JavaScript デバッグ構成も作成します。
空の IntelliJ IDEA プロジェクトに React をインストールする。
この場合、以下の React アプリケーションの構築の説明に従ってビルドパイプラインを自分で設定する必要があります。 React オフィシャル Web サイト(英語)からプロジェクトに React を追加する方法の詳細を参照してください。
空の IntelliJ IDEA プロジェクトを作成する.
メインメニューから を選択するか、 ようこそ 画面の 新規プロジェクト ボタンをクリックします。
新規プロジェクト ダイアログで、左側のペインで 新規プロジェクト を選択します。
右側のペインで、 言語 領域の JavaScript を選択します。
新しいプロジェクトに名前を付け、必要に応じてその場所を変更してから、 作成 をクリックします。
空のプロジェクトに React をインストールする
React を使用する空のプロジェクトを開きます。
組み込み ターミナル (Alt+F12) で次のように入力します。
npm install --save react react-dom
既存の React アプリケーションから始める
既存の React アプリケーションの開発を継続するには、IntelliJ IDEA で開き、必要な依存関係をダウンロードします。
すでにマシン上にあるアプリケーションソースを開く
ようこそ 画面で 開くまたはインポート をクリックするか、メインメニューから を選択します。 開いたダイアログで、ソースが保存されているフォルダーを選択します。
バージョン管理からアプリケーションのソースをチェックアウト
ようこそ 画面で リポジトリのクローン をクリックします。
あるいは、メインメニューから 、 、 を選択します。
メインメニューの Git の代わりに、プロジェクトに関連付けられている他のバージョン管理システムが表示される場合があります。 例: Mercurial または Perforce。
表示されるダイアログで、リストからバージョン管理システムを選択し、アプリケーションソースをチェックアウトするリポジトリを指定します。 詳細については、 プロジェクトをチェックアウトする (クローン) を参照してください。
依存関係をダウンロードする
ポップアップで 'npm install' の実行 または 実行 'yarn install' をクリックします。

npm(英語)、 Yarn 1(英語) 、または Yarn 2(英語) を使用できます。詳細については、 npm および Yarn を参照してください。
または、エディターの package.json のコンテキストメニューや プロジェクト ツールウィンドウ (Alt+1) から 'npm install' の実行 または 実行 'yarn install' を選択します。
プロジェクトのセキュリティ
IntelliJ IDEA の外部で作成され、そこにインポートされたプロジェクトを開くと、IntelliJ IDEA は、未知ソースコードを使用してこのプロジェクトを処理する方法を決定できるダイアログを表示します。
次のいずれかのオプションを選択します。
セーフモードでプレビュー: この場合、IntelliJ IDEA はプロジェクトをプレビューモードで開きます。 これは、プロジェクトのソースを参照することはできますが、タスクやスクリプトを実行したり、プロジェクトを実行 / デバッグしたりすることはできないことを意味します。
IntelliJ IDEA はエディター領域の上部に通知を表示し、 プロジェクトを信頼する… リンクをクリックして、いつでもプロジェクトをロードできます。
プロジェクトを信頼: この場合、IntelliJ IDEA はプロジェクトを開いてロードします。 これは、プロジェクトが初期化され、プロジェクトのプラグインが解決され、依存関係が追加され、すべての IntelliJ IDEA 機能が使用可能になることを意味します。
開かない: この場合、IntelliJ IDEA はプロジェクトを開きません。
プロジェクトのセキュリティ の詳細を参照してください。
コード補完
IntelliJ IDEA は、React API にコード補完を提供し、JavaScript コードに JSX(英語) を提供します。 コード補完は、React メソッド、React 固有の属性、HTML タグとコンポーネント名、 React イベント(英語) 、コンポーネントプロパティなどに対して機能します。 React オフィシャル Web サイト(英語)から詳細を参照してください。
React メソッドのコード補完と React 固有の属性を取得するには、プロジェクトのどこかに react.js ライブラリファイルが必要です。 通常、ライブラリはすでに node_modules フォルダーにあります。
完全な React メソッド、属性、イベント
デフォルトでは、入力時にコード補完ポップアップが自動的に表示されます。 例:

JSX タグでは、IntelliJ IDEA は className や classID などの React 固有の属性(英語) 、および key や ref などの 非 DOM 属性(英語)のコーディング支援を提供します。 さらに、自動補完は、プロジェクトの CSS ファイルで定義されているクラスの名前に対しても機能します。

onClick や onChange などのすべての React イベント(英語)は、波括弧 ={} または引用符 "" と一緒に自動的に補完することもできます。

デフォルトでは、波括弧が挿入されます。 IntelliJ IDEA で常に引用符を追加することも、 TypeScript 定義ファイル (d.ts)(英語) の型に基づいて引用符または中括弧のどちらかを選択することもできます。 デフォルト設定を変更するには、 設定 ダイアログ (Ctrl+Alt+S) を開き、 に移動して、 JSX 属性の追加 リストから該当するオプションを選択します。

また、波括弧内の JavaScript 式の補完も可能です。 これは、定義したすべてのメソッドと関数に適用されます。

完全な HTML タグとコンポーネント名
IntelliJ IDEA は、JavaScript や他のコンポーネントのメソッドの内部で定義した HTML タグとコンポーネント名に対してコード補完を提供します。

補完は、ES6 形式の構文を持つインポートされたコンポーネントに対しても機能します。

完全なコンポーネントプロパティ
IntelliJ IDEA は、 propTypes を使用して定義されたコンポーネントプロパティに対してコード補完を提供し、それらの定義を迅速に移動またはプレビューできるように解決します。

コンポーネントの名前を自動補完すると、IntelliJ IDEA は必要なすべてのプロパティを自動的に追加します。 必要なプロパティの一部がコンポーネントの使用に欠落している場合、IntelliJ IDEA はそのことについて警告します。
関数コンポーネントに state を追加
IntelliJ IDEA は、特定の場所で未解決の参照を定義することで、関数型 React コンポーネントに useState フックを追加するクイックフィックスを提案します。 IntelliJ IDEA は useState フック用の インポート ステートメントを自動で挿入します。 state の型は、その参照を定義した箇所から推論されます。
未解決の参照にキャレットを置き、 Alt+Enter を押して、リストから < 関数コンポーネント名> コンポーネントに <未解決の参照> 状態を作成 を選択します。
props を追加
IntelliJ IDEA は、特定の箇所で未解決の参照を定義することで、React コンポーネントに新しいプロパティを追加するためのクイックフィックスを提案します。
IntelliJ IDEA は、追加されたプロパティを持つコンポーネントのコードを生成します。 プロパティの型は、対応する参照を定義した箇所から推論されます。
クイックフィックスはクラスベースのコンポーネントにも適用できます。 その場合は、新しいプロパティの挿入後に未解決の参照が this.props.${reference_name} に置き換えられます。
未解決の参照にキャレットを置き、 Alt+Enter を押して、リストから <コンポーネント名> コンポーネントに <未解決の参照> prop を作成 を選択します。

HTML 属性を JSX に転送する
クラス属性または on 系のイベントハンドラを含む HTML コードをコピーして JSX に貼り付けると、IntelliJ IDEA はこれらの属性を React 固有のものに自動的に置き換えます(className、 onClick、 onChange など)。

これは TSX でも機能します。

単一タグを含む HTML コードをコピーして JSX に貼り付けると、IntelliJ IDEA は各単一タグの末尾にスラッシュ / を自動的に追加します。

HTML コードをそのまま JSX または TSX にコピーするには、 そのまま貼り付け Ctrl+Alt+Shift+V を使用するか、 設定 ダイアログ (Ctrl+Alt+S) を開いて の設定ページに移動し、 JSX ファイルに貼り付ける場合に HTML を変換 (属性の変換、単一のタグを閉じる) と JSX ファイルに貼り付けるときに HTML 属性名を変換する のチェックボックスをオフにします。
React コードスニペット
IntelliJ IDEA には、 React フック(英語)などの React アプリでよく使用されるさまざまなステートメントやコードブロックに展開される 50 を超えるコードスニペットのコレクションが付属しています。 以下の例は、 rcjc 省略形を使用して、新しい React コンポーネントを定義するクラスを作成する方法を示しています。

スニペットから React コード構成を作成する
必要な省略形をエディターに入力し、 Tab を押します。
Ctrl+J を押して、関連するスニペットを選択します。 検索を絞り込むには、略語の入力を開始してから、 補完リストから選択します。
詳細は、 ライブテンプレートを参照してください。
使用可能なすべての React スニペットのリストを表示する
設定 ダイアログ (Ctrl+Alt+S) で、 エディター の ライブテンプレート をクリックし、 React ノードまたは React hooks ノードを展開します。

React ディレクティブ
IntelliJ IDEA は、ファイルの先頭や関数内で次の React ディレクティブ を認識しハイライトします。
JSX の Emmet
IntelliJ IDEA では、HTML だけでなく、特別な React twists を利用して JSX コードでも Emmet(英語) を使用できます。 例: 略語 div.my-class は JSX では <div className=”my-class"></div> に展開されますが、HTML のように <div class=”my-class"></div> には展開されません。

React アプリケーションを移動する
基本的なナビゲーションに加えて、IntelliJ IDEA は React 固有のコード要素間を移動できます。
構造ビューで移動する
構造 ツールウィンドウと 構造 ポップアップは、React コードの構造に関するより明確なインサイトを提供し、移動を容易にし、React コンポーネントおよび関連する要素の理解を促進します。
構造 ツールウィンドウには、React 固有の次のノードが表示されます。
React アプリケーションをリントする
JavaScript および HTML 用のすべての IntelliJ IDEA 組み込み コードインスペクションは、JSX コードでも機能します。 IntelliJ IDEA は、未使用の変数や関数、終了タグの欠落、ステートメントの欠落などの場合に警告を発します。

一部のインスペクションでは、IntelliJ IDEA がクイックフィックスを提供します。たとえば、欠落しているメソッドの追加などが提案されます。 クイックフィックスポップアップを開くには、 Alt+Enter を押します。
インスペクション一覧をカスタマイズするには、 設定 ダイアログ(Ctrl+Alt+S )を開き、エディター | インスペクションに移動し、不要なインスペクションを無効化または重要度レベルを変更してください。 詳しくは、 インスペクションを無効または抑制する と インスペクションの重大度を変更する を参照してください。
ESLint
組み込みコードインスペクションを提供するだけでなく、IntelliJ IDEA は、JSX コード用の ESLint(英語) などのリンターとも統合します。 ESLint は、プラグインで拡張できる幅広い lint ルールをもたらします。 IntelliJ IDEA は、入力時に ESLint によって報告された警告とエラーをエディターに表示します。 ESLint を使用すると、 JavaScript 標準スタイル(英語)を使用したり、 TypeScript コードをリントしたりすることもできます。
詳細については、 ESLint を参照してください。
ESLint が React JSX 構文を正しく認識するには、 eslint-plugin-react が必要です。 このプラグインにより、たとえば React コンポーネントの表示名前が設定されていない場合や、危険な JSX プロパティが使用されている場合などに警告が表示されます。

React プロジェクトに ESLint をインストールして構成する。
組み込み ターミナル ( )で、次のように入力します。
npm install --save-dev eslint npm install --save-dev eslint-plugin-reactプロジェクトに ESLint 構成ファイルを追加します。
設定 ダイアログ(Ctrl+Alt+S )で、 言語 & フレームワーク | JavaScript | コード品質ツール | ESLint に移動し、 自動 ESLint 構成 を選択します。 IntelliJ IDEA は、プロジェクト node_modules フォルダー内の ESLint を自動的に見つけて、 .eslintrc.* ファイルまたは package.json の
eslintConfigプロパティからのデフォルト構成を使用します。または、 手動 ESLint 構成 を選択して、カスタム ESLint パッケージと構成を使用します。
詳細は IntelliJ IDEA での ESLint のアクティブ化と構成を参照してください。
.eslintrc 構造体の例 (react プラグイン付き ESLint 1.x)
ecmaFeaturesオブジェクトに、"jsx" = trueを追加します。 ここでは、ES6 クラスやモジュールなど、使用したい追加の言語機能を指定することもできます。pluginsオブジェクトに、reactを追加します。rulesオブジェクトでは、有効にする ESLint ビルトインルール(英語)と、 react プラグイン経由で利用できるルール(英語)をリストできます。{ "parser": "babel-eslint", "env": { "browser": true, "es6": true, "jest": true }, "rules": { "arrow-parens": ["error", "as-needed", { "requireForBlockBody": true }], "react/jsx-props-no-spreading": "off", "react/jsx-sort-props": ["error", { "reservedFirst": ["key"] }], "react/require-default-props": "off", "react/sort-prop-types": "error", "react/state-in-constructor": ["error", "never"], "semi-spacing": "warn" }, "overrides": [ { "files": [ "sample/**", "test/**" ], "rules": { "import/no-unresolved": "off" } } ] }
ESLint 公式 Web サイト(英語)から ESLint および react プラグイン構成の詳細を学びましょう。
React アプリケーションを構築する
既存の IntelliJ IDEA プロジェクトに React をインストールした場合は、ビルドプロセスを設定する必要があります。 React オフィシャル Web サイト(英語)から React アプリケーションのビルドパイプラインを構成するさまざまな方法について説明します。
プロジェクト内で複数のフレームワークを使用する
場合によっては、1 つの React プロジェクト内で他のフレームワークを使用する必要があることがあります。
各ファイルでコンテキスト認識コーディング支援を受けるには、構成ファイル .ws-context を作成し、各ファイルまたはフォルダーで使用するフレームワークを指定します。 このファイルの設定は、デフォルトの構成を上書きします。
プロジェクトルートで、コンテキストメニューから 新規 | ファイル を選択し、ファイル名として
.ws-contextを指定します。.ws-contextでは、次の 2 種類のプロパティを使用します。コンテキスト値文字列を持つ
<context-name>コンテキスト詳細オブジェクトを持つ GLOB パターン
次のコンテキスト値を使用します。
framework:vue、angular、react、svelte、astroangular-template-syntax:V_2、V_17nextjs-project:nextjsastro-project:astrovue-store:vuex、piniavue-class-component-library:vue-class-component、vue -property-decorator、vue-facing-decoratorjsdoc-dialect:jsdoc-typescript、jsdoc-closure
簡単にするためにパスのネストを使用します。
GLOB パスの最後のセグメントはファイル名パターンであり、
*ワイルドカードのみがサポートされます。最後のセグメントが
**の場合、ネストされたすべてのディレクトリとファイルと一致します。最上位レベルのコンテキストプロパティには
/**パターンが必要です。
複数のパターンが同じファイル名に一致する場合、曖昧さを解消するために次のルールが使用されます。
**セグメントを除いて、パスセグメント数が最大となるパターンを選択します。純粋なファイル名パターン、つまり
**または/で終わらないものを選択してください。最初に定義されたパターンを選択します。
サンプル
さまざまなフォルダーで使用されている多数のフレームワークを含むプロジェクトがあるとします。

プロジェクト内の各ファイルに対してコンテキスト認識型の支援を受けるには、次のコードを .ws-context に追加します。









