Prisma
WebStorm は Prisma ORM と統合されており、Prisma スキーマ言語文法のサポートを提供します。
WebStorm の Prisma ORM サポートは Prisma 言語サーバー により実現されています。 WebStorm には Prisma 言語サーバーがバンドルされています。 ただし、言語サーバーを最新の状態に保つために、最新のサーバーバージョンをダウンロードし、 Prisma 言語サーバーを構成する に従って、 ページでそのパスを指定することをお勧めします。
始める前に
コンピューターに Node.js(英語) があることを確認してください。 プロジェクトで Node.js ランタイムを設定するには、 ローカル Node.js インタープリターの構成、 Linux 用 Windows サブシステムで Node.js を使用する 、または リモート Node.js ランタイムの構成の説明をご覧ください。
Prisma ORM 公式サイト(英語)で必要な Node.js バージョンに関する詳細情報を確認してください。
JetBrains マーケットプレイスからプラグインをインストールする説明に従って、 設定 | プラグイン ページの マーケットプレース タブに Prisma ORM プラグインをインストールして有効にします。
Prisma 言語サーバーを構成する
WebStorm の Prisma ORM サポートは Prisma 言語サーバー により実現されています。 WebStorm には Prisma 言語サーバーがバンドルされています。 ただし、言語サーバーを最新の状態に保つことをお勧めします。
@prisma/language-server(英語) の最新バージョンをグローバルにインストールします。 これを行うには、組み込みの ターミナル (Alt+F12 )を開き、次のように入力します。
npm install -g @prisma/language-server設定 ダイアログ(Ctrl+Alt+S )を開き、 に進みます。
言語サーバーパッケージ フィールドに、
@prisma/language-serverパッケージへのパスを指定します。
有効 オプションが選択されていることを確認してください。
Prisma 言語サーバーをオフにして、内部の WebStorm コーディング支援とインスペクションのみを使用するには、 無効 オプションを選択します。
Prisma 構成ファイル
WebStorm は、Prisma 7.0 で新たに導入された prisma.config.js および prisma.config.ts 構成ファイルをサポートします。
構成ファイルから、WebStorm は schema キーを取得し、それを使って定義の解決や複数ファイルでスキーマが定義されている場合の補完を提供するためのルートとなるスキーマディレクトリを検索します。
To load configurations, you need the tsx(英語) package installed. パッケージが見つからない場合、WebStorm は通知を表示してそのインストールを提案します:

環境変数が定義されていない場合にも通知が表示されます。

Prisma 構成ファイルを編集すると、WebStorm は補完候補を表示します:

コード補完
WebStorm は、選択された補完候補のドキュメントも含め、スキーマファイルで Prisma スキーマ言語に対応した コード補完を提供します。

デフォルトでは、入力中に補完候補が表示されます。 この動作をオフにするには、 Ctrl+Alt+S を押して設定を開き、 設定 | エディター | 一般 | コード補完 を選択して、 入力時に候補を表示する チェックボックスをオフにしてください。
補完を手動で呼び出すには、 Ctrl+Space を押します。
コード検査
問題が検出されたハイライトされたコード要素にマウスを移動すると、エディター内で Prisma LSP 診断を表示できます。

問題 ツールウィンドウの 検出されたエラーが表示されますと、ホバーするとエディターのポップアップに表示されます。
必須属性が不足しています

欠落した バイナリターゲット (英語)
欠落している
@@schema属性が検出され、クイックフィックスが提案されます。
ドキュメントの検索
WebStorm は、 datasource および generator ブロックを含む、さまざまな Prisma 固有のシンボルのドキュメントを表示します。

ドキュメント ポップアップは、エディターでシンボル上にカーソルを合わせるか Ctrl+Q を押す、または コード補完時にも表示されます。
構造 ツールウィンドウでシンボルのドキュメントを表示するには、シンボルを選択して Ctrl+Q を押します。

詳細は コードリファレンス情報 をご覧ください。
コメント
データモデルの上部、下部、内部にコメントを追加できます。 複数行のコメントも歓迎します。
コメントを追加するには、 /** と入力し、 Enter を押します。 WebStorm は、各行の先頭に閉じ */ と * を追加します。
シンボルの上にマウスを置くと、適切な書式で ドキュメント ポップアップにコメントが表示されます。

あるいは、 レンダリングされたビューモードでコメントを確認することもできます。 コメントの横のガターにある をクリックするか、 Ctrl+Alt+Q を押してください。
ドキュメント ツールウィンドウでコメントを表示するには、シンボルの上にマウスを移動し、 ドキュメント ポップアップで をクリックして、 ドキュメントツールウィンドウで開く を選択します。

構造ビュー
WebStorm を使うと、 構造 ツールウィンドウ(Alt+7 )でスキーマファイルの構造を閲覧・操作できます。 ツールウィンドウは現在開いている Prisma スキーマと同期されているため、ツールウィンドウで項目を選択すると、スキーマファイルでも自動的に選択されます。
ブロック固有のコーディング支援
ジェネレーターブロック
WebStorm は、
generatorブロック内でリアルタイムにコード補完を提案し、選択した項目のクイックドキュメントを提供します。
WebStorm は バイナリターゲットを認識し、構文ハイライト、コード補完、クイックドキュメントを提供します。
node_modules フォルダーに Prisma クライアントを生成する
prisma-client-jsジェネレーターに加え、WebStorm はプレーンな TypeScript コードを出力するprisma-clientジェネレーターでもコード補完とクイックドキュメントを提供します。
Prisma オフィシャル Web サイト(英語)の詳細を参照してください。
データソースブロック
WebStorm は、 datasource ブロック内でリアルタイムにコード補完を提案し、選択した項目のクイックドキュメントを提供します。
複数のデータベーススキーマのサポート
WebStorm は、
datasourceブロック内のschemasキーを認識し、ハイライト、コード補完、クイックドキュメントを提供します。WebStorm は、補完や 使用箇所の表示 (Ctrl+F7) も含めて、ブロック属性を介した
@@schema参照をサポートします。
専用のインスペクションは、欠落している
@@schema属性を検出し、追加するためのクイックフィックスを提案します。
定義済みのスキーマでは、 名前変更リファクタリングが利用できます。
Prisma オフィシャル Web サイト(英語)の詳細を参照してください。
複数ファイルの Prisma スキーマ
WebStorm では、 複数のファイルに分割された Prisma スキーマも扱え、補完やドキュメント、ナビゲーション、検索などが利用できます。
WebStorm は、同じディレクトリやそのサブディレクトリ、または異なるディレクトリにあるファイル間での
@relationを使った接続をサポートします。 新たに追加されたリレーションは自動的に再フォーマットされます。サブディレクトリにあるマルチファイルスキーマは、
npx prisma generateによって認識されます。
シンボルの宣言に移動するには、 Ctrl+B を押します。
他の .prisma ファイルで指定されたモデルの簡単なドキュメントを表示できます。

専用のインスペクションは、
generatorブロックとdatasourceブロックの重複を検出し、 問題 ツールウィンドウと、マウスをホバーするとエディターのポップアップにエラーを表示します。
シャーディング
Prisma ORM 6.10 以降では、WebStorm は @shardKey および @@shardKey 属性を使ったシャーディングに対応しているため、データベースの負荷が増加したときに容易にスケールアップできます。
シャーディングを使用するには、必ず previewFeatures = ["shardKeys"] を generator ブロックに追加してください。
コード補完および
@shardKeyと@@shardKeyのクイックドキュメント検索。
ブロック属性
@@shardKey内のフィールドの補完。 補完リストにはスカラーの非 null フィールドのみが含まれます
Alt+F7 を使用して、
@@shardKeyブロック属性内のフィールドの使用状況を検索できます。
@@shardKeyブロック属性内のフィールドに 名前変更リファクタリングを適用できます。