💨
VSCode + Neovimで急にVisual Modeのhighlightが出なくなった
現象
VSCode + Neovimを利用している環境で最近 v
や Shift + v
などで遷移するビジュアルモードのハイライトが出なくなった。
機能は使えるが、レンダリングがされない気持ち悪い状態。
よく見るとエラー通知も出ていた。
エラー内容
User
[Error: Error making request to nvim_execute_lua at s.request
(/Users/<UserName>/.vscode/extensions/asvetliakov.vscode-neovim-1.1.5/dist/extension.js:1:58466)at s.lua
(/Users/<UserName>/.vscode/extensions/asvetliakov.vscode-neovim-1.1.5/dist/extension.js:1:65278) at Object.<anonymous>
(/Users/<UserName>/.vscode/extensions/asvetliakov.vscode-neovim-1.1.5/dist/extension.js:1:236036) at Generator.next
(<anonymous>) at /Users/<UserName>/.vscode/extensions/asvetliakov.vscode-neovim-1.1.5/dist/extension.js:1:235361 at new Promise (<anonymous>) at C
(/Users/<UserName>/.vscode/extensions/asvetliakov.vscode-neovim-1.1.5/dist/extension.js:1:235106) at Object.lua
(/Users/<UserName>/.vscode/extensions/asvetliakov.vscode-neovim-1.1.5/dist/extension.js:1:235983) at Ie.<anonymous>
(/Users/<UserName>/.vscode/extensions/asvetliakov.vscode-neovim-1.1.5/dist/extension.js:1:269164) at Generator.next (<anonymous>) at s
(/Users/<UserName>/.vscode/extensions/asvetliakov.vscode-neovim-1.1.5/dist/extension.js:1:267638)]
原因
shadaファイルというものの権限エラー。
よく見ると vscode-neovim
にエラーも出力されていました。
.local/state/nvim/shada/main.shada
に書き込めないみたいです。
対応
単純に対象のファイルに権限を調べて対処しましょう。
わたしの場合は ~/.local/state
のオーナーがrootになっていました。
$ ll ~/.local/
total 0
drwx------@ 5 <UserName> staff 160B 12 5 02:40 share
drwx------@ 3 root staff 96B 11 11 19:56 state
ので、chownで解決しました。
$ sudo chown -R <UserName> state
※環境によってはchmodで解決する場合もありそう
note
新しいMac miniを買って引継せず環境設定した中で異様に詰まってしまったのでメモ。
ググってもChatGPTさんでも解決しなかったので後続の方のため残しておきます。(もう一方のMacでは再現しなかったのでエッジケースかもと思ってますが)
settings.json や設定内容を吟味したり、VSCodeの初期化もしてたからかなり無駄な労力を消費していました・・・。
ちなみに、vscode-neovim の v0.9.1
までは特にエラーも出ず、アップデートで少しずつ動きが怪しくなっていき、 v1.1.0
辺りから明らかに動きが怪しくなったという背景でした。
Discussion