トラブルシューティング

よくある問題とその解決方法です。

Language Server が検出されない

症状: エディタ上部に Language Server が見つからないという通知バーが表示されます。

解決方法:

  1. プロジェクトに Language Server をインストールします:

    npm install @rescript/language-server
    
  2. Node.js が PATH に含まれていることを確認します:

    node --version  # Should output a version number
    
  3. Language Server をインストールした後、IDE を再起動します

  4. プロジェクトルートに rescript.json が存在することを確認します

シンタックスハイライトが表示されない

症状: .res ファイルが色なしのプレーンテキストとして表示されます。

解決方法:

  1. ファイルの拡張子が .res または .resi であることを確認します

  2. プラグインがインストールされていることを確認します: SettingsPlugins → "ReScript" を検索

  3. IDE の再起動を試してください

コード補完が動作しない

症状: 入力時に補完候補が表示されません。

解決方法:

  1. Language Server がインストールされ、検出されていることを確認します(通知バーが表示されていないこと)

  2. ReScript プロジェクトが少なくとも1回ビルドされていることを確認します:

    npx rescript build
    
  3. ファイルを開いた後、数秒待ってください — Language Server の初期化に時間がかかります

  4. Cmd+Space を手動で押して補完をトリガーしてみてください

フォーマットが動作しない

症状: Cmd+Option+L を押しても何も起こらないか、エラーが表示されます。

解決方法:

  1. プロジェクトに rescript がインストールされていることを確認します:

    npm install rescript
    
  2. プロジェクトルートに rescript.json が存在することを確認します

  3. ファイルに構文エラーがないことを確認します(不正なコードではフォーマットが失敗する場合があります)

ビルドエラーが表示されない

症状: コンパイルエラーがあるにもかかわらず、インラインのエラー注釈が表示されません。

解決方法:

  1. Language Server が実行中であることを確認します(ステータスバーを確認)

  2. ファイルを保存します — 診断は保存時に更新されます

  3. Problems パネル(Alt+6)で一覧表示されている問題を確認します

  4. Language Server の再起動を試みます: プロジェクトを閉じてから再度開きます

reanalyze が動作しない

症状: 未使用のコードがあるにもかかわらず、デッドコードの警告が表示されません。

解決方法:

  1. reanalyze をインストールします:

    npm install reanalyze
    
  2. 先にプロジェクトをビルドします:

    npx rescript build
    
  3. SettingsLanguages & FrameworksReScript で reanalyze のパスを確認します

CPU またはメモリ使用率が高い

症状: ReScript ファイルの作業中に IDE が遅くなります。

解決方法:

  1. 使用していないプロジェクトを閉じます

  2. IDE のメモリを増やします: HelpChange Memory Settings

  3. 不要なインスペクションを無効にします: SettingsEditorInspections → 不要な ReScript インスペクションのチェックを外します

  4. Language Server プロセスが過剰なリソースを消費していないか確認します

プラグインの競合

症状: 他の言語プラグインがインストールされている場合に、予期しない動作が発生します。

解決方法:

  1. 古い reasonml-idea-plugin がインストールされている場合は無効にします

  2. .res ファイルのファイルタイプ関連付けに競合がないことを確認します

診断ツールキット

上記の Quick Fix で解決しない場合、以下の手順で情報を収集し、状態をリセットしてからバグを報告してください。

Node.js と Language Server を確認する

# Confirm Node.js is reachable from the same PATH the IDE uses
node --version
which node

# Confirm @rescript/language-server is installed locally or globally
ls node_modules/@rescript/language-server/out/server.js 2>/dev/null \
  || npm ls -g @rescript/language-server

シェルでは Node.js が動作するのに IDE が見つからないと報告する場合、IDE がシェルの PATH なしで起動されている可能性があります。macOS では Terminal から IDE を起動 (idea . または webstorm .) するとシェル環境が引き継がれますが、Dock のランチャーでは引き継がれないことがあります。

Language Server を再起動する

  1. Tools → Restart ReScript LSP — プロジェクトを再度開かずにサーバーを完全に再起動します。依存関係をインストールした後、ブランチを切り替えた後、補完/診断が無反応になったときに使用します。

  2. Tools → Dump ReScript LSP State — サーバーの内部リクエスト/レスポンスキューと初期化オプションを Event Log に出力します。LSP 挙動に関するバグ報告時に出力内容を添付してください。

キャッシュをクリアする

古くなったインデックスやキャッシュは、誤った補完・参照の欠落・古い診断の原因になります。

  1. File → Invalidate CachesClear file system cache and Local History をチェック → Invalidate and Restart をクリック。

  2. rescript build が幻のエラーを報告する場合は ReScript のビルド出力を削除します:

    rm -rf lib/bs lib/es6 lib/ocaml
    npx rescript clean
    npx rescript build
    

ログを確認する

  1. Help → Show Log in Finder (macOS) / Show Log in Explorer (Windows/Linux)。

  2. idea.log を開き ReScriptrescript-language-server、または com.rescript.plugin でフィルタしてプラグインの出力を抽出します。

  3. 再現可能な問題では詳細ログを有効化します: Help → Diagnostic Tools → Debug Log Settings…#com.rescript.plugin:trace を追加。

プラグイン設定をリセットする

設定が壊れているように見える場合、プラグインの永続化状態を削除します:

# macOS
rm ~/Library/Application\ Support/JetBrains/<IDE>/options/RescriptProjectSettings.xml

# Linux
rm ~/.config/JetBrains/<IDE>/options/RescriptProjectSettings.xml

# Windows (PowerShell)
Remove-Item "$env:APPDATA\JetBrains\<IDE>\options\RescriptProjectSettings.xml"

その後 IDE を再起動すると、デフォルト設定ファイルが新規生成されます。

問題の報告

問題が解決できない場合:

  1. GitHub で既存の Issue を確認します

  2. 以下の情報を含めて新しい Issue を作成します:

    • IDE のバージョンと OS

    • プラグインのバージョン

    • ReScript と Language Server のバージョン

    • 再現手順

    • エラーログ(HelpShow Log in Finder/Explorer から取得)

    • LSP 機能に関する問題の場合は Tools → Dump ReScript LSP State の出力