VSCodeでCtrl+`を使いたい

問題点

  • USキーボード使用時にWindows版VSCodeでCtrl+`(バッククオート)を押しても"Ctrl+unknown"と解釈されてショートカットが使えない

  • windowsのIME切り替えのショートカットと衝突してるらしい?

解決法

  • AutoHotKeyのControlSendメソッドを使ってVSCodeに直接Ctrl+`を渡す

    • sendやホットキーでは機能しなかったがControlSendを使えば機能した

使用するAHKスクリプトは以下

; for ahk v1.1
#IfWinActive ahk_exe Code.exe
^SC029::ControlSend,, {Blind}{LCtrl Down}``{LCtrl Up}, ahk_exe Code.exe
#IfWinActive
; for ahk v2
#HotIf WinActive("ahk_exe Code.exe")
^SC029::ControlSend "{Blind}{LCtrl Down}``{LCtrl Up}",, "ahk_exe Code.exe"
#HotIf
  • 動作の概要

    • VSCodeにフォーカスしているときにCtrl+`を押すとVSCodeに直接Ctrl+`を送信します

注意点

  • VSCode以外で使うときはwindow spy を使ってahk_exeの値を調べて書き換える

  • キーボードレイアウトが違うとSC029(バッククオートのスキャンコード)の値が異なる可能性があるのでKey Historyを使って調べる

導入方法(AHK使ったことがない人向け)

ここからは、AHKを使ったことがない人向けの雑な導入方法を記します(蛇足です)

  • 公式サイトからAutoHotKey V2.0をダウンロードしてインストール

    • v1.1とv2.0は共存できます。v2.0のほうが新しく始めるには馴染みやすいと思います

  • https://www.autohotkey.com/

  • 以下のコードをコピペしてmyscript.ahkとして保存

#Requires AutoHotKey v2.0

#HotIf WinActive("ahk_exe Code.exe")
^SC029::ControlSend "{LCtrl Down}``{LCtrl Up}",, "ahk_exe Code.exe"
#HotIf
  • 作ったファイルをダブルクリック

  • タスクトレイにアイコンが出るので起動していることが確認できます


いいなと思ったら応援しよう!