VScodeでカーソルが消える問題の解決方法!
VScodeで入力している時、カーソルが消えてイラッとしたことはありませんか?!
マウスを動かして入力したいところへマウスポインタを持って行こうとすると、編集画面に入った途端にポインタが消えてしまうのです。
正確に言うと、マウスポインタが白い縦線に変化して背景と同化して見失うのですが、まあそれがめちゃめちゃイラつくんですよ!
そしてそれは、VScodeをダークモードで使ってる人には出ない症状で、VScodeをWindows で白い画面で使っている場合にのみ出てくる不具合だということが分かりました。参考
だったらダークモードにすればいいじゃないか?!と思うかもしれませんが意地でも黒い画面を使いたくない人って一定数いるんですよ・・。
あの黒い画面を見るだけで拒否反応が……😅
何なんでしょうね、あの色にすると急に思考停止するんですよ。
私は急に見失うそれをポインターではなくカーソルだと思っていたので、AI に「カーソルが消えるので表示したい」と聞くと「カーソルの表示方法」を案内してくれたのですが、実は私が言っていたのは「カーソル」ではなくで「マウスポインター」の事だったのです。
どおりで何回試しても出てこないはずだ!
調べると他にも解決方法が出てくるのですが、結局直らないパターンが多い+私には難しそうだったので私にもすぐできた解決策を紹介します。
参考までにその他の解決方法:
Radeon RX 9070 XT – andju-know
方法1:Windows の設定「文字の入力中にポインターを非表示にする」
まずはWindows の設定で「入力中のポイントを非表示にする」設定をオフにしましょう。
- スタートメニューから「設定」を開く
- 「アクセシビリティ」を選択
- 「マウス」を選択
- 「文字の入力中にポインターを非表示にする」をオフにする
VS コードのマウスポインターが見えない場合はこれだけでは解決しません。
これに加えて次の方法を試します。
方法2:VS Codeの「ハードウェアアクセラレーションを無効にする」
VS Codeを使用していると、環境によっては マウスポインターが見えなくなる、表示がおかしくなる といった場合、VS Codeの ハードウェアアクセラレーションを無効にする ことで改善することがあります。
使用する設定は次の1行です。
"disable-hardware-acceleration": true,
この設定は何をしているの?
この設定は「マウスポインターを表示する」という直接的な設定ではありません。
VS Codeが画面を描画するときに使用する GPUによるハードウェアアクセラレーションを無効にして、 ソフトウェア側で描画するようにする設定です。
GPUやグラフィックドライバーとの相性などが原因で マウスポインターや画面表示に問題が起きている場合、 この設定によって症状が改善することがあります。
設定を追加する場所
VS Codeのコマンドラインに設定を書きます。大まかな設定方法は以下の通りです。
- VSCode で「Ctrl + Shift + P」でコマンドパレットを開く
- 「
Preferences: Configure Runtime Arguments」で検索して、argv.json を開く - 「
"disable-hardware-acceleration": true,」を追加する - VSCode を再起動する
設定方法:詳細な説明
VSCode で「Ctrl + Shift + P」でコマンドパレットを開いて、「Preferences: Configure Runtime Arguments」で検索して、argv.json を開きます。
VS Codeのコマンドライン設定ファイルを開くと、 次のように { } で囲まれた部分があります。
{
}
設定は、この 波かっこ { } の間 に記述します。
設定がこれ1つだけなら、次のようになります。
{
"disable-hardware-acceleration": true
}
すでに他の設定がある場合
すでに他の設定が書かれている場合は、 それぞれの設定を 半角のカンマ「,」 で区切る必要があります。
例えば次のようにします。
{
"disable-hardware-acceleration": true,
"enable-crash-reporter": true,
"locale": "ja"
}
上の例では "disable-hardware-acceleration": true の後にも設定が続いているため、 行の最後にカンマが付いています。
すでに同じ設定がコメントとして用意されている場合
VS Codeの設定ファイルには、最初から次のような行が入っていることがあります。
// "disable-hardware-acceleration": true,
この場合は、同じ設定を新しく追加する必要はありません。
行の先頭にある // を削除します。
変更前
// "disable-hardware-acceleration": true,
変更後
"disable-hardware-acceleration": true,
// は、その行を設定として使用しないための 「コメント」を表しています。
そのため、 // を外すことで設定が有効になります。
注意:引用符は必ず半角を使う
初心者の方が特に注意したいのが、 ダブルクォーテーション(引用符) です。
次の書き方は間違いです。
”disable-hardware-acceleration”: true
この ” は、文章作成ソフトなどで使われる 全角・スマートクォート系の記号 です。
VS Codeの設定では、次のような 半角の「”」 を使用します。
"disable-hardware-acceleration": true
見た目が似ているため分かりにくいですが、 コンピューターにとっては別の文字です。
よくある間違い
間違い1:全角の引用符を使う
”disable-hardware-acceleration”: true
正しい書き方
"disable-hardware-acceleration": true
間違い2:他の設定との間にカンマを入れない
{
"disable-hardware-acceleration": true
"locale": "ja"
}
正しい書き方
{
"disable-hardware-acceleration": true,
"locale": "ja"
}
間違い3:コードブロックの記号まで貼り付ける
```
"disable-hardware-acceleration": true
```
``` はブログやチャット上でコードを表示するための記号です。 VS Codeの設定ファイルには入力しません。
一番簡単な設定方法
設定ファイルの中に、すでに次の行がある場合は、
// "disable-hardware-acceleration": true,
新しくコードを追加せず、 先頭の「//」だけを削除 してください。
"disable-hardware-acceleration": true,
これが最も簡単で、入力ミスも起こりにくい方法です。
設定後はVS Codeを再起動する
設定を書き換えて保存しただけでは、 すぐに反映されない場合があります。
設定後は「 ctrl + s 」で保存後、 VS Codeを完全に終了して、もう一度起動してください。
これでマウスポインター(カーソル)が表示されなかった場合は、次の方法を試してください。
最終手段:Windows設定の「PowerToys」で「十字線」を有効にする
もしも上記の方法「ハードウェアアクセラレーションを無効にする」で直らなかった場合は以下の方法が最終手段です。
最終手段は、
Windows設定の「PowerToys」でマウスポインタでの「十字線」を有効にする
というものです。
これは、ショートカットで使いたい時だけ呼び出してマウスポインターから「十字線」を表示するというものです。
根本解決にはなっていませんし、若干邪魔ではありますがマウスポインターを見失うストレスを考えたら有効な解決策だと思います。
最初にこの設定を知っときは、「これは邪魔なので却下!」としていたのですが、やはり カーソルを見失うストレスに耐えきれず、これがありがたいと思えるようになったのです。
見失うよりだいぶマシ!!これ(十字線)が邪魔だと思う人はまだストレス耐性残ってます。
ストレス耐性が残り少なくなったら試してみてください。
参考サイト
「PowerToys設定」について
十字線の設定方法
設定手順(対象機種:Windows)
- PowerToysアプリを開きます。(検索で「PowerToys」を呼び出す)
- 「マウス ユーティリティ」を選びます。
- 「マウスポインターの十字線を有効にする」をオンにします
- 十字線の太さ、色、透明度、ショートカットキーの変更が可能です。
(色を薄めに設定すると邪魔に感じにくいです)
十字線の表示・非表示を切り替える方法
十字線は切り替えショートカットを使用して必要な時だけ表示して使います。
初期設定では Win + Alt + P(または環境により Ctrl + Alt + P)で表示・非表示になります。
根本的な解決策ではないけれど……。
これは苦肉の策であり、根本解決にはなっていないかもしれませんが、興味があったら試してみてください。
この十字線の長さを短く設定できたらかなり助かるのですが、その設定はできないというのが残念なところです。
それができたら、表示しっぱなしでもそんなに邪魔にならないのにな~!なんて思います。
あとがき:cursorはこのカーソルのことなのか?!
AI にそれは「カーソル」じゃなくて「ポインター」だって言われたけど、
「あれは感覚的にはポインターではなくてカーソルだよなぁ……だって、入力欄のカーソルに形を変えて動作するものなのでカーソルと言いたいんだよ。」
なんて思ってもやもやしたり、
そもそも設定でどうやっても直せないということに疑問を感じて、ストレスMaxになってしまいました。
あまりにイラつきすぎてVScodeの派生で「cursor(カーソル)」というツールがありますが、この「cursor(カーソル)」というものは、どうしてもカーソルを表示したかった人が遺恨を込めて作成&命名したのかな?私ならそうする!
なんて思ってしまうぐらいに怒りマックスでした。。
それでも黒い画面にはしませんよ、決して黒い画面には……。(謎の抵抗)
なんか負けたみたいで悔しいし、、(何に?)
コメント 【情報提供などもこちらから!】