🐼

NeovimでReactのエラー箇所を開くように設定する

2024/07/01に公開1

Visual Studio Code x Reactすごい

Visual Studio CodeでReact系の開発をやっていると、ブラウザのエラーから直接エディタに飛べるのが便利ですよね。
これをNeovimでもやりたい。

REACT_EDITOR環境変数

REACT_EDITOR環境変数を設定することで、ブラウザのエラーからエディタに飛べます。
Visual Studio Codeの拡張でも、この環境変数を使っているようです。

export REACT_EDITOR=nvim

既存のNeovimインスタンスを使う

Neovimを立ち上げっぱなしにしている人の場合は、既存のNeovimインスタンスを使いたいですよね。
Reactを子プロセスとして動かせば、REACT_EDITOR経由で既存のNeovimインスタンスを使うことができます。

vim.env.REACT_EDITOR = table.concat({ vim.v.progpath, "--server", vim.v.servername, "--remote" }, " ")

こうして、たとえば

:terminal npm start

のように子プロセスとして動かすと、ブラウザのエラー箇所がこのNeovimインスタンスで開かれます。

Discussion

ryoppippiryoppippi

ブラウザからエディタへ直接飛べるのは、Frameworkが内部でlaunch-editorライブラリを使っているからなのですが、
https://github.com/yyx990803/launch-editor
それをうまくNeovimから使えるようにするtipsがこの記事でしたね!

また関連記事としてこんなものがあります
https://theosteiner.de/open-neovim-from-your-browser-integrating-nvim-with-sveltes-inspector

ちなみに neovim remote を使わない方法は過去に自分はプラグインとして切り出してました
https://github.com/ryoppippi/svelte_inspector.vim

ただneovim remoteを使うやり方の方が良さそうに見えるので、参考にします