CursorはVSCodeの code コマンドを上書きする
TL;DR
- Windows環境で、CursorはVSCodeのCodeコマンドをたとえユーザーが上書きしない設定にしていても勝手に上書きする
- ファイル削除で暫定対応できるが、アップデートの度に上書きされるため恒久的対応にはならない
- 現状解決するには、ユーザー環境変数をいじるしかない
- さっさとなおせ。ユーザーの意思を無視するな
なんでそうなるのか
VSCodeとVSCodeフォークであるCursorは、 %localappdata%\Programs\{cursor|Microsoft VS Code}\resources\app\bin
をパスに登録し、そのディレクトリにcodeコマンドやcursorコマンドを入れています。
しかしCursorはデフォルトでbinにcursorとcodeが入っており、codeコマンドもCursorを起動するコマンドに置き換わっています。
しかも、CursorはデフォルトでPATHをシステム環境変数に設定するため、デフォルトでユーザー環境変数に設定を行うVSCodeより優先されてしまいます。
結果、VSCodeのcodeコマンドが無視され、Cursorのcursorコマンドとcodeコマンドが優先されることになります。
暫定的解決策
暫定的には、 %localappdata%\Programs\cursor\resources\app\bin
にある
- code
- code.cmd
を削除すれば、codeコマンドが復活します。
ただし、この場所はアップデートの度に上書きされるので、ここを消したとしてもCursorをアップデートすると再度code / code.cmdが復活します。
無理やり直す
他にも方法があって、システム環境変数に設定されているCursorのPATHをユーザー環境変数に移動し、VSCodeよりも順位を下げるという方法があります。
そうすれば、VSCodeのCodeコマンドが優先されるので、上書きされることがなくなります。
アップデートでも変わることはないっぽいです。
そうはいえども
ユーザーの意思に反して、他のアプリケーションのエイリアスを上書きするなんて言語道断です。
お行儀が悪すぎる。
そんなに時間かからず修正できるはずなので、是非とも早急に修正していただきたいです。
参考
Discussion