私のメイン環境はUbuntu 22.04 LTSであり、VS Codeの設定としてはほぼデフォルトのままで運用している

ホイールボタンペーストの問題

Linuxデスクトップ環境では、ホイールボタンクリックでクリップボードの内容がペーストされる挙動がデフォルトである。この挙動はLinuxデスクトップ環境における長年の伝統だが、個人的にはあまり直感的でもなければ便利でもない。ホイールボタンクリックは新タブでリンクを開くボタンだと教育されて育った世代なので、ペースト挙動は世間常識から外れていてLinuxデスクトップ環境が一般に普及しない要因のひとつではないかとさえ考えている

人生においてテキストを「ペーストしよう」と思ってホイールボタンをクリックする瞬間が存在するだろうか?と考えてみると、自分の場合にはエディタ作業に誤ってホイールボタンをクリックしてしまうことでコードの途中に意図しないペーストが発生して生産性を下げる懸念のほうが大きいと感じるし、うっかり画面外でペーストしたことに気付かずセンシティブな情報をgit pushした日には面倒が大きすぎる

設定による解決

VS Codeの設定で以下のように変更する*1と、この問題を解決できる

"editor.selectionClipboard": false

設定はsettings.jsonへ直接記述するか、設定画面から変更する

この設定により、以下の操作が無効化される:

  • テキスト選択時の自動クリップボードコピー
  • ホイールボタンクリックによるペースト

通常のCtrl+C / Ctrl+Vによるコピー&ペースト操作は従来通り利用できる

この設定変更はVS Code内でのみ有効であり、他のアプリケーションでの挙動には影響しない。OS全体でこの挙動を無効化する方法もあるが、経験上あまりうまくいったことがない(ホイールボタン自体を無効化するなど副作用が派手で不便なことが多い)ので今回はVS Code内での対応に留めておく

ちなみに個人的にはFirefoxに関して同様の設定をしている。Notionのリンクを新タブで開こうとしてクリップボードを適当なページへぶちまけるリスクは現代において思いのほか現実的で危ういので、これもおすすめする*2