JetBrains Rider 2026.1 Help

React

React は、カプセル化されたコンポーネントから複雑なインタラクティブユーザーインターフェースを構築するための JavaScript ライブラリです。 React オフィシャル Web サイト(英語)からライブラリの詳細を参照してください。

JetBrains Rider は React と連携して、設定、編集、リントする、実行、デバッグ、アプリケーションの保守をサポートします。

始める前に

  1. お使いのコンピューターに Node.js(英語) がインストールされていることを確認してください。

  2. JavaScript および TypeScriptJavaScript デバッガー の必須プラグインが 設定 | プラグイン ページ、タブ インストール済み で有効化されていることを確認してください。 詳細については、 プラグインの管理を参照してください。

  3. React および Vite プラグインを 設定 | プラグイン ページ、 Marketplace タブにインストールします。手順は JetBrains Marketplace からプラグインをインストールする をご覧ください。

既存の React アプリケーションから始める

既存の React アプリケーションの開発を続けるには、JetBrains Rider で開き、必要な依存関係をダウンロードしてください。

すでにマシン上にあるアプリケーションソースを開く

  • ようこそ 画面で オープン をクリックするか、メインメニューから ファイル | オープン | オープン を選択します。 開いたダイアログで、ソースが保存されているフォルダーを選択します。

バージョン管理からアプリケーションのソースをチェックアウト

  1. ようこそ 画面で リポジトリのクローン をクリックします。

    または、メインメニューから Git | クローン… または VCS | バージョン管理から取得 を選択します。

    メインメニューの Git の代わりに、プロジェクトに関連付けられている他のバージョン管理システムが表示される場合があります。 例: Mercurial または Perforce

  2. 表示されるダイアログで、リストからバージョン管理システムを選択し、アプリケーションソースをチェックアウトするリポジトリを指定します。 詳細については、 プロジェクトをチェックアウトする(クローン) を参照してください。

依存関係をダウンロードする

  • ポップアップで 'npm install' の実行 または 'yarn install' の実行 をクリックします。

    アプリケーションを開いて依存関係をダウンロードする

    npmYarn 1 、または Yarn 2 を利用できます。詳細は npm および Yarn をご参照ください。

  • または、エディターの package.json のコンテキストメニュー、または エクスプローラー ツールウィンドウ (Alt+1) で 'npm install' の実行 または 'yarn install' の実行 を選択します。

プロジェクトのセキュリティ

JetBrains Rider 以外で作成され、そこにインポートされたプロジェクトを開くと、JetBrains Rider は見慣れないソースコードを含むこのプロジェクトをどう処理するか決めるダイアログを表示します。

次のいずれかのオプションを選択します:

  • セーフモードでプレビュー :この場合、JetBrains Rider はプロジェクトをプレビューモードで開きます。 これは、プロジェクトのソースを参照することはできますが、タスクやスクリプトを実行したり、プロジェクトを実行 / デバッグしたりすることはできないことを意味します。

    JetBrains Rider はエディター領域の上部に通知を表示し、 プロジェクトを信頼する… リンクをクリックして、いつでもプロジェクトをロードできます。

  • プロジェクトを信頼 :この場合、JetBrains Rider はプロジェクトを開いてロードします。 これは、プロジェクトが初期化され、プロジェクトのプラグインが解決され、依存関係が追加され、すべての JetBrains Rider 機能が使用可能になることを意味します。

  • 開かない :この場合、JetBrains Rider はプロジェクトを開きません。

コード補完

JetBrains Rider は、JavaScript コードで React API や JSX のコード補完を提供します。 コード補完は、React メソッド、React 固有の属性、HTML タグとコンポーネント名、 React イベント(英語) 、コンポーネントプロパティなどに対して機能します。 React オフィシャル Web サイト(英語)から詳細を参照してください。

React メソッドのコード補完と React 固有の属性を取得するには、プロジェクトのどこかに react.js ライブラリファイルが必要です。 通常、ライブラリはすでに node_modules フォルダーにあります。

完全な React メソッド、属性、イベント

デフォルトでは、入力時にコード補完ポップアップが自動的に表示されます。 例えば:

補完ポップアップ

JSX タグ内では、JetBrains Rider は React 固有の属性classNameclassID など)や、 非 DOM 属性keyref など)のコーディング支援を提供します。 さらに、自動補完は、プロジェクトの CSS ファイルで定義されているクラスの名前に対しても機能します。

CSS クラス名の完成

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

Complete React events

デフォルトでは、波括弧が挿入されます。 JetBrains Rider で常に引用符を追加するか、 TypeScript 定義ファイル (d.ts) の型に基づいて引用符と中括弧を選択するかが可能です。 デフォルト設定を変更するには、 設定 ダイアログ (Ctrl+Alt+S) を開き、 エディター | コードスタイル | HTML に移動して、 JSX 属性の追加 リストから該当するオプションを選択します。

JSX 属性の追加

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

波括弧内の JavaScript 式の完成

完全な HTML タグとコンポーネント名

JetBrains Rider は、JavaScript 内や他のコンポーネントのメソッドで定義した HTML タグやコンポーネント名に対するコード補完を提供します:

HTML タグとコンポーネント名の補完

補完は、ES6 スタイル構文でインポートしたコンポーネントにも対応しています:

ES6 構文でインポートされたコンポーネントの補完

完全なコンポーネントプロパティ

JetBrains Rider は、 propTypes を使用して定義されたコンポーネントプロパティのコード補完を提供し、それらを解決して定義へのジャンプやプレビューを迅速に行えます:

Completion for component properties

コンポーネントの名前を自動補完すると、JetBrains Rider は必要なすべてのプロパティを自動的に追加します。 必要なプロパティの一部がコンポーネント使用時に不足している場合、JetBrains Rider はその旨を警告します。

機能コンポーネントに状態を追加する

JetBrains Rider は、特定の場所に未解決の参照を定義することで、関数型 React コンポーネントに useState フックを追加するクイックフィックスを提案します。 JetBrains Rider は、 useState フック用に import ステートメントを自動的に挿入します。 状態タイプは、参照が定義されている場所から推測されます。

  • 未解決の参照にキャレットを置き、 Alt+Enter を押して、リストから <unresolved reference> 状態を < functional component name> コンポーネントで作成する を選択します。

props を追加

JetBrains Rider は、特定の場所で未解決の参照を定義することで、React コンポーネントに新しいプロパティを追加するクイックフィックスを提案します。

JetBrains Rider は、追加したプロパティを持つコンポーネントのコードを生成します。 プロパティの型は、対応する参照が定義されている場所から推論されます。

クイックフィックスはクラスベースのコンポーネントにも適用できます。 この場合、新しいプロパティが挿入された後、未解決の参照は this.props.${reference_name} に置き換えられます。

  • 未解決の参照にキャレットを置き、 Alt+Enter を押して、リストから <未解決の reference> プロパティを <コンポーネント名> コンポーネントに作成 を選択します。

    props を追加

HTML 属性を JSX に転送する

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

Transfer HTML to JSX

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

Transfer HTML to TSX

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

Transfer HTML to JSX: close single tags

HTML コードをそのまま JSX または TSX にコピーするには、 そのまま貼り付け Ctrl+Alt+Shift+V を使用するか、 設定 ダイアログ (Ctrl+Alt+S) を開いて エディター | 一般 | 入力支援 | JavaScript の設定ページに移動し、 JSX ファイルにコードを貼り付ける際に HTML 単一タグを閉じるJSX ファイルに貼り付ける際に HTML 属性の命名を変換する のチェックボックスをオフにします。

React コードスニペット

JetBrains Rider には、 React フック など React アプリでよく使われる様々なステートメントやコードブロックに展開できる 50 個以上のコードスニペットが用意されています。 以下の例は、 rcjc 省略形を使用して、新しい React コンポーネントを定義するクラスを作成する方法を示しています。

Live template for a React component

スニペットから React コード構成を作成する

  • 必要な省略形をエディターに入力し、 Tab を押します。

  • Ctrl+J を押して、関連するスニペットを選択します。 検索を絞り込むには、略語の入力を開始し、 補完リストから選択します。

詳細は、 ライブテンプレートを参照してください。

使用可能なすべての React スニペットのリストを表示する

  • 設定 ダイアログ (Ctrl+Alt+S) で、 エディターライブテンプレート をクリックし、 React ノードまたは React hooks ノードを展開します。

    ライブテンプレート: React および React hooks

React ディレクティブ

JetBrains Rider は、ファイルの先頭および関数内で次の React ディレクティブ を認識してハイライトします:

JSX の Emmet

JetBrains Rider なら、HTML だけでなく特有の React の工夫を活用して JSX コードでも Emmet を使えます。 例: 略語 div.my-class は JSX では <div className=”my-class"></div> に展開されますが、HTML のように <div class=”my-class"></div> には展開されません。

Expand Emmet template in React

React アプリケーションを移動する

基本ナビゲーションに加え、JetBrains Rider で React 固有のコード要素間も移動できます。

  • 波括弧 {} 内のメソッドまたは JavaScript 式の宣言に移動するには、メソッドまたは式を選択して Ctrl+B を押します。

    コンポーネントの宣言に移動するには、コンポーネント名を選択して Ctrl+B を押します。

  • コンポーネント定義を表示するには、 Ctrl+Shift+I を押します。

    ポップアップでコンポーネントのクイック定義を表示する
  • コンポーネントのクイックドキュメントを表示するには、 Ctrl+Q を押します。

    React コンポーネントのクイックドキュメントポップアップ
  • JetBrains Rider を使うと エディターのパンくずリストやエディターガターでタグツリーをカラフルにハイライトしながら、JSX タグ間を簡単にナビゲートできます。

    React アプリケーションでの JSX タグのハイライトとパンくずリスト

構造ビューで移動する

構造 ツールウィンドウと 構造 ポップアップにより、React コード構造をより明確に把握できるようになり、ナビゲーションが容易になり、React コンポーネントと関連要素の理解が深まります。

構造 ツールウィンドウには、次の React 固有のノードが表示されます。

  • 名前付きの JSX および TSX タグ。

  • React コンポーネント ノードは React コンポーネント宣言を表示します。 React コンポーネントの定義(英語)に一致するクラスまたは関数ごとに個別のノードが作成されます。

    構造ビュー - コンポーネントノード
  • React フック ノードは React フック宣言を表します。 React コンポーネント内の フックのルール(英語)に一致する関数呼び出しごとに個別のノードが作成されます。 各ノードにはフックの名前とそのジェネリック型が表示されます。

    フックによって初期化された変数は、そのノードに子として表示されます。

    構造ビュー - フックノード

    [variableName, setVariableName] 形式で 2 つの変数を返すフックの場合、変数名はフック名の横に灰色で表示されます。

    構造ビュー - setVariable によるフック
  • 条件付き ノードは、条件に応じてレンダリングされる JSX タグノードを表します。 JSX を含まない条件は表示されません。

    構造ビュー - 条件付きノード
  • Attribute ノードは、他のコンポーネント props 内の JSX を表します。 JSX を含まない属性は表示されません。

    構造ビュー - 属性ノード
  • Array ノードは JSX を含む配列を表します。

    構造ビュー - 配列ノード
  • 変数 ノードは JSX を含む変数を表します。

  • マップ ノードは、JSX コンテンツ内の配列マップを表します。

    構造ビュー - マップノード
  • 構造 ツールウィンドウを開くには、 Alt+7 を押すか、メインメニューの 表示(V) | ツールウィンドウ(T) | 構造 に移動します。

  • 構造 ポップアップを開くには、 Ctrl+F12 を押すか、メインメニューの 移動(N) | ファイル構造(I) に移動します。

  • 構造 ツールウィンドウと 構造 ポップアップは、アクティブなエディタータブ内のファイルと同期しています。 構造ビュー内を移動すると、ファイル内の対応するコード要素がハイライト表示されます。 また、ソースコード内の項目の名前を変更すると、対応するノードもそれに応じて更新されます。

    構造ビュー内の項目からソースコードに移動するには、 F4 を押します。

ソースコードナビゲーション: ファイル構造の詳細を参照してください。

React アプリケーションをリントする

JavaScript および HTML 用のすべての JetBrains Rider 組み込み コードインスペクションは、JSX コードでも動作します。 JetBrains Rider は、未使用の変数や関数、終了タグやステートメントの欠落などがある場合に警告します。

React アプリケーションの JavaSxript インスペクション

一部のインスペクションでは JetBrains Rider がクイックフィックスを提供し、例えば不足しているメソッドの追加を提案します。 クイックフィックスのポップアップを表示するには、 Alt+Enter を押します。

インスペクションリストをカスタマイズするには、 設定 ダイアログ(Ctrl+Alt+S )を開き、エディター | インスペクション設定 に進み、不要なインスペクションを無効化または重要度レベルを変更します。

ESLint

組み込みのコードインスペクション提供に加え、JetBrains Rider は JSX コード用に ESLint などのリンターとも連携します。 ESLint は、プラグインで拡張できる幅広い lint ルールをもたらします。 JetBrains Rider は、入力中に ESLint が報告した警告やエラーをエディター内に表示します。 ESLint を使用すると、 JavaScript 標準スタイル(英語)を使用したり、 TypeScript コードをリントしたりすることもできます。

詳細については、 ESLint を参照してください。

ESLint に React JSX 構文を正しく認識させるには、 eslint-plugin-react プラグインが必要です。 このプラグインにより、たとえば React コンポーネントの表示名前が設定されていない場合や、危険な JSX プロパティが使用されている場合などに警告が表示されます。

React を使用した ESLint: エラーと警告がハイライトされ、問題の説明がツールチップに表示されます。

React プロジェクトで ESLint をインストールして設定する

  1. 組み込み ターミナル表示 | ツールウィンドウ | ターミナル )で、次のように入力します。

    npm install --save-dev eslint npm install --save-dev eslint-plugin-react
  2. プロジェクトに ESLint 構成ファイルを追加します。

  3. 設定 ダイアログ (Ctrl+Alt+S) で、 言語 & フレームワーク | JavaScript | コード品質ツール | ESLint に移動し、 自動 ESLint 構成 を選択します。 JetBrains Rider はプロジェクト node_modules フォルダー内の ESLint を自動的に見つけて、 .eslintrc.* ファイルまたは package.json eslintConfig プロパティからデフォルト構成を使用します。

    または、 手動 ESLint 構成 を選択して、カスタム ESLint パッケージと構成を使用します。

    詳細は JetBrains Rider での ESLint の有効化と構成 をご覧ください。

.eslintrc 構造体の例 (react プラグイン付き ESLint 1.x)

  1. ecmaFeatures オブジェクトに、 "jsx" = true を追加します。 ここでは、ES6 クラスやモジュールなど、使用したい追加の言語機能を指定することもできます。

  2. plugins オブジェクトに、 react を追加します。

  3. 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 プラグイン構成の詳細を学びましょう。

Webinar 録画: React + TypeScript + Rider の TDD

TypeScript を使用した React プロジェクトのために、ポールエブリットが Rider で生産性を高めるためのいくつかの重要なステップを示しているこの webinar の記録も見ることができます。

Webinar のアジェンダ:

リソース:

プロジェクト内で複数のフレームワークを使用する

場合によっては、React プロジェクト内で他のフレームワークを使用する必要があることもあります。

各ファイルでコンテキスト認識コーディング支援を受けるには、構成ファイル .ws-context を作成し、各ファイルまたはフォルダーで使用するフレームワークを指定します。 このファイルの設定は、デフォルトの構成を上書きします。

  1. プロジェクトルートで、コンテキストメニューから 新規 | ファイル を選択し、ファイル名として .ws-context を指定します。

  2. .ws-context では、次の 2 種類のプロパティを使用します。

    • コンテキスト値文字列を持つ <context-name>

    • コンテキスト詳細オブジェクト付きの GLOB パターン

  3. 次のコンテキスト値を使用します:

    • framework: vueangularreactsvelteastro

    • angular-template-syntaxV_2V_17

    • nextjs-projectnextjs

    • astro-projectastro

    • vue-storevuexpinia

    • vue-class-component-library: vue-class-componentvue -property-decoratorvue-facing-decorator

    • jsdoc-dialectjsdoc-typescriptjsdoc-closure

  4. 簡単化のためにパスのネストを使用してください。

    • GLOB パスの最後のセグメントはファイル名パターンであり、 * ワイルドカードのみがサポートされます。

    • 最後のセグメントが ** の場合、ネストされたすべてのディレクトリとファイルと一致します。

    • 最上位レベルのコンテキストプロパティには /** パターンが必要です。

  5. 複数のパターンが同じファイル名に一致する場合、曖昧さを解消するために次のルールが使用されます:

    • ** セグメントを除いて、パスセグメント数が最大となるパターンを選択します。

    • 純粋なファイル名パターン、つまり ** または / で終わらないものを選択してください。

    • 最初に定義されたパターンを選択してください。

サンプル

さまざまなフォルダーで複数のフレームワークを利用しているプロジェクトがあると仮定します。

異なるフレームワークを持つプロジェクト

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

{ "framework": "vue", "angular-template-syntax": "V_2", "src/**/app/**": { "framework": null, "app.component.html" : { "framework": "angular", "angular-template-syntax": "V_17" } }, "src/**/p*-editor/*.html" : { "framework" : "angular" } }
2026 年 6 月 12 日