Scribble at 2022-05-26 09:28:59 Last modified: 2022-05-26 09:33:26

一昨日から Visual Studio Code を再び自宅でも使い始めて、以前に使っていた感じた不都合が何だったのか思い出そうとしていて、実はすぐに「これだったな」と気づいた。それは、僕が常用している Clibor というクリップボード管理ツールの履歴(または定型文)を表示するホット・キーが shift + shift になっていて、これが VSCode のエディタ画面では反応しなくなるのだ。でも、調べてみたら VSCode のキー・マッピングで shift + shift は定義されていないため、本来ならエディタはスルーして別のプロセスがキーの入力をフックするのに任せる筈だ。しかし、どうもエディタが shift + shift の入力を奪ってしまう(そして何も反応を返さない)らしい。実際、Clibor の設定でホット・キーを ctrl + ctrl に変更したら正しく履歴のウィンドウが出てくるため、shift + shift だけ VSCode に抑制されてしまう(ちなみに下で書く理由から ctrl + ctrl のホット・キーは使わないこととした)。アプリケーションを替えたていどのことで別のホット・キーを使うなんて操作は、はっきり言って記憶力の無駄であり、ミスの元だ。以前は、これだけではないと思うが、こういう小さな理由もあって VSCode は使えないと判断したのだ。

さてしかし、再び仕事の道具として使うとなれば、丁寧に調べて改善できるかどうか検討してみなくてはいけない。公式のマニュアルには

"All keyboard shortcuts in VS Code can be customized via the keybindings.json file."

(https://code.visualstudio.com/docs/getstarted/keybindings)

とあるため、keybingings.json を開いてみるのがいいだろうと思うのだが、このファイルのパスを正確に書こうという人間が酷く少なくて、それなりに時間を使った。エンジニア特有の「独り言取説(自分にしか書いてることの前提や脈絡が分からないという事実を自覚せずに文章を書くこと」という悪癖は、とにかくコーディングする猿を育てる専門学校や大学では教えないスキルなので、できるやつにしかわからず、結果的に無能でも書き方のわかってるやつの説明が「わかりやすい」と好評を博してしまうという、知識やスキルの下方圧力で悪循環になってることを自覚していないのが日本の IT 業界だ。「わかりやすい」なんて海外では物を書いて出版する人間の最低限のスキルであり、しかもそれに加えて査読するのが当たり前なのに、日本ではこれが至上の才能とされる。インターネットだ ICT だと言ったところで、自分たちの身の程もわからないようでは、国際規模のネットワーク通信を利用したり、そこで仕事する資格なんてないと思うね。

念のため書いておくと、Windows は %USER%AppData\Roaming\Code\User、macOS は $HOME/Library/Application Support/Code/User そして Linux だと $HOME/.config/Code/User になっている。ていうか、Linux のユーザで VSCode を使うなんて特殊な環境を自覚しないで、しかも Linux のパスしか書いてないとか、そういうブログ記事も多い。しかも、それが Linux のパスであることすら説明しないのだから、それこそ「チラシの裏」みたいなものだ。

で、結論から言うと、VSCode には随分と前から(たぶん7年以上は前から)、キーマップに定義されようといまいと shift + shift をそもそも認識できないバグがあって、ぜんぜん治っていないか治そうともしていないらしい。それゆえ、shift + shift でファイルを開くようなキーマップが定義されている他のテキスト・エディタや IDE を使っているユーザがキーマップを VSCode に移して同じショートカットを使えないという悩みをいろいろと書いていることが分かった。つまり、元から反応「できない」のだ。よって、VSCode のキーマップのファイルをいじくりまわそうと何をしようと shift + shift は使えない。したがって、VSCode をこのまま使うなら、shift + shift は使えないものとして他のホット・キーで運用するしかないというのが実情だ。

もちろん、僕の場合はクリップボード管理ツールの画面を出すという用途だけなので、これはツール側でホット・キーの設定を変えてしまい、VSCode とは無関係にディフォールトのホット・キーを ctrl + ctrl などに変えてしまえばいいだけだ。僕自身の運用を全ての場面について ctrl + ctrl に変えたらいいだけなので、さほど大きな問題ではない。もっとも、ctrl + ctrl には Windows のショートカットとして「マウスの位置を知らせる」という機能があるため、これは無効にしないといけないから、この機能を使っている人は別のホット・キーを選ぶ方がいいだろう。そして、僕もよくマウスのポインタを見失うため、ctrl + ctrl から alt + alt に変更した。VSCode を使ってるときだけなら ctrl + ctrl でもいいのだが、実は ctrl + ctrl を使うと、マウスのポインタを知らせる挙動と、それからクリップボード管理ツールの履歴画面が出てくる挙動が同時に起きることが分かったので、ctrl + ctrl はマウスの位置表示だけに使うこととした。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook