キーボードショートカット

このページでは、プラグイン固有の機能のキーボードショートカットを一覧表示します。標準の JetBrains ショートカット(コピー、貼り付け、検索など)はここには記載していません。

注釈

表示されているショートカットは macOS 用です。Windows/Linux では、CmdCtrl に、OptionAlt に置き換えてください。

編集

ショートカット

アクション

Cmd+Option+L

ファイルのフォーマット(rescript format)

Ctrl+/

行コメントの切り替え

Ctrl+Shift+/

ブロックコメントの切り替え

Shift+Enter

Smart Enter(文の補完 + 改行)

Alt+Shift+Up

宣言を上に移動

Alt+Shift+Down

宣言を下に移動

Alt+Enter

インテンションの表示(Wrap with Some/Ok/Error など)

Ctrl+Alt+T

囲む(if/switch/try/block)

Ctrl+Alt+O

インポートの最適化(重複 open の削除)

Ctrl+Shift+Delete

Unwrap/Remove(Some/Ok/Error/if/switch/try/block の除去)

Ctrl+Shift+J

Smart Join Lines(pipe/let/arrow 対応の行結合)

Alt+Shift+Cmd+Left/Right

要素を左右に移動

Ctrl+Shift+[ / ]

コードブロック境界の選択

ヒント

Alt+Enter はクイックフィックスやコンテキストに応じたアクションのための万能ショートカットです。カーソルを式の上に置き、Alt+Enter を押すと利用可能なインテンションが表示されます。例えば、任意の式に対して Wrap with Some(...)Wrap with Ok(...)、または Wrap with Error(...) を選択して、式を optionresult のコンストラクタで囲むことができます。@genType アノテーションのない宣言では、Add @genType を選択してデコレータを追加できます。利用可能なインテンションはカーソルの位置によって変わります。

ファイルのフォーマットCmd+Option+L)は、Language Server 経由で現在のファイルに rescript format を実行します。これにより、ファイル全体が標準的な ReScript スタイルに従って再フォーマットされます。空白のみを調整する一部のフォーマッタとは異なり、rescript format は構文の正規化(例: アロー関数のフォーマットの標準化)も行えます。フォーマットには LSP が必要なため、Language Server が切断されている場合、このショートカットは効果がありません。

Smart EnterShift+Enter)は、行末に移動せずに現在の行の下に新しい行を開始したい場合に時間を節約できます。コンテキストに応じて現在の文を補完し、適切なインデントで新しい行にカーソルを配置します。

宣言の上下移動Alt+Shift+Up/Down)は、カーソル位置のトップレベル宣言全体を上下に移動します。標準の行移動ショートカットとは異なり、論理的な宣言単位で操作されます --- let バインディング、type 定義、または module ブロック全体がひとつの単位として移動します。これは、カット&ペーストなしでファイル内の宣言を並べ替えるのに便利です。

Surround withCtrl+Alt+T)は、選択したコードを制御構造で囲みます。式またはコードブロックを選択し、ショートカットを押して、if ... { }switch ... { }try { } catch { }、または { }(プレーンブロック)から選択します。選択されたコードは選んだ構造の中に配置され、条件やパターンを入力できる位置にカーソルが配置されます。

インポートの最適化Ctrl+Alt+O)は、ファイルから重複する open 文を削除します。誤って同じモジュールを複数回 open してしまった場合、このショートカットで一度にクリーンアップできます。

Unwrap/RemoveCtrl+Shift+Delete)は、囲んでいるラッパーを除去して内部の式を取り出します。カーソルを Some(expr)Ok(expr)Error(expr)ifswitchtry、または素の波括弧の中に置き、どのラッパーを除去するかを選択します。これは "Wrap with" インテンションアクションの逆の操作です。

Smart Join LinesCtrl+Shift+J)は、ReScript の構文を考慮したロジックで現在の行と次の行を結合します。パイプチェーン(->)を結合する場合、スペースを追加せずに結合されます。let バインディングやアロー関数を結合する場合、= または => の後に単一のスペースが挿入されます。

リファクタリング

ショートカット

アクション

Shift+F6

シンボルの名前変更

Ctrl+Alt+V

変数の抽出

Ctrl+Alt+M

関数の抽出

Ctrl+Alt+N

変数/関数のインライン化

Ctrl+F6

シグネチャの変更

Alt+Delete

安全な削除

ヒント

シンボルの名前変更Shift+F6)は、カーソル位置の識別子の名前を変更し、プロジェクト全体のすべての参照を更新します。let バインディング、型名、モジュール名、その他の名前付きエンティティに対して機能します。意味解析に依存するため、LSP が接続されている必要があります。

Extract VariableCtrl+Alt+V)は、選択した式を現在の文の上に配置される新しい let バインディングに抽出します。元の式は新しいバインディングへの参照に置き換えられます。これは、複雑な式を可読性を向上させる名前付きの中間値に分解するのに便利です。

Extract FunctionCtrl+Alt+M)は、選択したコードを新しい関数に抽出します。プラグインは、選択範囲で使用されている周囲のスコープの変数を分析し、適切なパラメータを生成します。元のコードは新しい関数の呼び出しに置き換えられます。

Inline Variable/FunctionCtrl+Alt+N)は抽出の逆の操作です。変数や関数の参照をその定義で置き換え、元のバインディングを削除します。中間変数やラッパー関数が可読性の向上に寄与しない場合にコードを簡潔にするために使用します。

Change SignatureCtrl+F6)は、関数のパラメータを変更するダイアログを開きます --- パラメータの追加、削除、並べ替え、名前変更が可能です。すべての呼び出し箇所が新しいシグネチャに合わせて自動的に更新されます。既存の関数にラベル付き引数を追加する場合に特に便利です。

Safe DeleteAlt+Delete)は、プロジェクト内に残りの使用箇所がないことを確認してからシンボルを削除します。使用箇所が見つかった場合、ダイアログにそれらが表示されるので、確認してから続行するかどうかを決定できます。これにより、他の箇所でまだ参照されている関数や型を誤って削除してしまうのを防ぎます。

補完

ショートカット

アクション

Cmd+Space

コード補完の起動

Tab

ライブテンプレートの展開

.switch

Postfix: switch で囲む

.pipe

Postfix: パイプ演算子を追加

.log

Postfix: Console.log で囲む

.some

Postfix: Some(...) で囲む

.ok

Postfix: Ok(...) で囲む

.error

Postfix: Error(...) で囲む

.ignore

Postfix: ignore にパイプ

.promise

Postfix: Promise.then チェーンでラップ

.await

Postfix: await を前置

ヒント

コード補完Cmd+Space)は、LSP の補完ポップアップを起動し、現在のスコープと期待される型に基づいたコンテキスト対応の候補を提供します。補完候補にはモジュールメンバー、レコードフィールド、バリアントコンストラクタ、関数名が含まれます。各候補の横に型情報が表示されるため、類似した名前の関数を区別できます。候補に対して Tab または Enter を押すと挿入されます。

Postfix テンプレートは、慣用的な ReScript を書くための最も生産的な機能のひとつです。式の後にドット(.)を入力し、テンプレート名を入力すると、式が自動的に展開された形式に書き換えられます。

.switch postfix は、値に対してパターンマッチを行いたい場合に特に便利です。myOption.switch と入力すると、式が switch myOption { | _ => } に書き換えられ、カーソルがアローの後に配置されるので、すぐにケースを入力できます。switch キーワード、括弧、波括弧を手動で入力するよりも高速です。

.pipe postfix は expr.pipeexpr-> に変換します。これは ReScript 標準のパイプファースト構文です。操作をチェーンする際に便利で、最初の式を入力し、.pipe を追加して、すぐに関数名を入力し始めることができます。

.log postfix は、クイックデバッグのために式を Console.log(...) で囲みます。myValue.log と入力すると Console.log(myValue) になります。デバッグ用の print 文を追加する最速の方法です。

.some.ok.error の postfix テンプレートは、直前の式を対応するコンストラクタ Some(...)Ok(...)、または Error(...) で囲みます。プレーンな値を option 型や result 型に持ち上げる必要があるときに便利です。

.ignore postfix は式に ->ignore を追加し、戻り値を破棄します。これは ReScript で副作用のために関数を呼び出すが、戻り値を使用しない場合の一般的なパターンです。

ライブテンプレートは、省略形を入力した後に Tab で展開されます。Postfix テンプレート(既存の式を変換する)とは異なり、ライブテンプレートは新しいコードパターンを挿入します。例えば、let と入力して Tab を押すと、名前と値のタブストップを持つ let バインディングのスケルトンに展開されます。

コード生成

ショートカット

アクション

Cmd+N / Alt+Insert

Generate メニュー(Switch Arms、Module Type)

ヒント

Generate メニュー(Cmd+N)は、コンテキストからボイラープレートコードを作成するコード生成アクションを提供します。switch 式の中にカーソルを置き、Generate Switch Arms を選択すると、マッチするバリアント型のすべてのコンストラクタに対するパターンマッチアームが自動生成されます。これは、すべてのケースを手動で入力するのが面倒でエラーが発生しやすい大きなバリアント型で特に便利です。

Generate Module Type は、現在のモジュールの内容からモジュール型シグネチャを作成します。.resi インターフェースファイルを作成したり、ファンクタ引数のモジュール型を定義する必要がある場合に時間を節約できます。

実行

ショートカット

アクション

Ctrl+R / Shift+F10

現在の構成を実行

Ctrl+Ctrl

Run Anything(ReScript CLI コマンド)

Alt+Shift+D

コンパイル済み JavaScript のデバッグ

Ctrl+Shift+P

Expression Type(推論された型の表示)

Alt+6

Problems パネルを開く

ヒント

現在の構成を実行Ctrl+R または Shift+F10)は、現在選択されている実行構成を実行します。通常は ReScript ビルドコマンドです。プラグインはプロジェクトの rescript.json ファイルに基づいて実行構成を自動的に作成します。テスト関数の横のガターアイコンから直接テストを実行することもできます。

Run AnythingCtrl+Ctrl)は汎用の実行ダイアログを開き、rescript buildrescript cleanrescript format と入力して、実行構成を作成せずに ReScript CLI コマンドを直接実行できます。

Debug Compiled JSAlt+Shift+D)は、現在の .res ファイルからコンパイルされた JavaScript 出力を解決し、node --inspect-brk デバッグセッションを起動します。JavaScript Debugger プラグインと事前の ReScript ビルドが必要です。

Expression TypeCtrl+Shift+P)は、カーソル位置の式の推論された型を表示します。これはインレイヒントのオンデマンドの代替手段であり、常時表示のアノテーションなしで特定の型を確認したい場合に便利です。

Problems パネルAlt+6)は、Language Server から報告されたすべての診断情報(型エラー、構文エラー、警告)を表示します。各エントリにはファイル、行番号、エラーメッセージが表示されます。エントリをダブルクリックすると、ソースファイルの該当箇所に正確にジャンプします。このパネルは、プロジェクトのすべての問題を一目で確認するための中心的な場所です。

表示

ショートカット

アクション

Cmd+Shift+Plus

すべての折りたたみを展開

Cmd+Shift+Minus

すべての折りたたみを折りたたむ

Cmd+Plus

カーソル位置の折りたたみを展開

Cmd+Minus

カーソル位置の折りたたみを折りたたむ

ヒント

コード折りたたみは、現在作業していない領域を折りたたむことで大きなファイルの管理を支援します。プラグインは、すべてのトップレベル宣言(lettypemoduleexternal)、ブロックコメント、カスタムリージョンマーカー(//#region ... //#endregion)の折りたたみをサポートしています。

すべての折りたたみを折りたたむCmd+Shift+Minus)は、大きなファイルを初めて開くときに特に便利です。ストラクチャービューに似ていますが、インラインですべての宣言の概要を把握できます。その後、Cmd+Plus で個別の宣言を選択的に展開して、必要なものを掘り下げることができます。

カスタムリージョンマーカーを使用すると、独自の折りたたみ可能なセクションを定義できます。関連する宣言のグループの周りに //#region Section Name//#endregion コメントを追加すると、IDE はそれらを折りたたみ可能な単位として扱います。ユーティリティモジュールの整理や関連する関数のグループ化に便利です。