Ubuntuで VSCodeの Quick Fixが使えなかった問題の調査と修正
VScodeには Quick Fixという機能があって, Rustとか Goの traitとか interfaceを実装する際の雛形の生成に使えるのですが, そのショートカットである Ctrl + .
が Ubuntuで効かなかったのでその原因の調査と修正を行った.
バインドされているキーを探す
gsettings list-recursively
を使ってショートカット一覧を出力し, Ctrlがバインドされているキーを探す.
% gsettings list-recursively | grep "<Control>" org.freedesktop.ibus.panel.emoji hotkey ['<Control>period', '<Control>semicolon'] org.freedesktop.ibus.panel.emoji unicode-hotkey ['<Control><Shift>u'] org.gnome.Terminal.Legacy.Keybindings close-tab '<Control><Shift>w' org.gnome.Terminal.Legacy.Keybindings close-window '<Control><Shift>q' org.gnome.Terminal.Legacy.Keybindings copy '<Control><Shift>c' org.gnome.Terminal.Legacy.Keybindings find '<Control><Shift>F' org.gnome.Terminal.Legacy.Keybindings find-clear '<Control><Shift>J' org.gnome.Terminal.Legacy.Keybindings find-next '<Control><Shift>G' org.gnome.Terminal.Legacy.Keybindings find-previous '<Control><Shift>H' org.gnome.Terminal.Legacy.Keybindings move-tab-left '<Control><Shift>Page_Up' org.gnome.Terminal.Legacy.Keybindings move-tab-right '<Control><Shift>Page_Down' org.gnome.Terminal.Legacy.Keybindings new-tab '<Control><Shift>t' org.gnome.Terminal.Legacy.Keybindings new-window '<Control><Shift>n' org.gnome.Terminal.Legacy.Keybindings next-tab '<Control>Page_Down' org.gnome.Terminal.Legacy.Keybindings paste '<Control><Shift>v' org.gnome.Terminal.Legacy.Keybindings prev-tab '<Control>Page_Up' org.gnome.Terminal.Legacy.Keybindings zoom-in '<Control>plus' org.gnome.Terminal.Legacy.Keybindings zoom-normal '<Control>0' org.gnome.Terminal.Legacy.Keybindings zoom-out '<Control>minus' org.gnome.desktop.wm.keybindings cycle-panels ['<Control><Alt>Escape'] org.gnome.desktop.wm.keybindings cycle-panels-backward ['<Shift><Control><Alt>Escape'] org.gnome.desktop.wm.keybindings switch-panels ['<Control><Alt>Tab'] org.gnome.desktop.wm.keybindings switch-panels-backward ['<Shift><Control><Alt>Tab'] org.gnome.shell.extensions.screenshot-window-sizer cycle-screenshot-sizes ['<Alt><Control>s'] org.gnome.shell.extensions.screenshot-window-sizer cycle-screenshot-sizes-backward ['<Shift><Alt><Control>s']
org.freedesktop.ibus.panel.emoji
に '<Control>period'
がアサインされており, こちらにキーが取られ VScodeの方が効いていないと予想される
ibusのショートカットを変更する
ibus-setup
で ibusの設定画面を起動, emoji
タブが下記のようになっていることを確認する
絵文字を直接使うことはまずないし, 使ったこともないのですべて削除した.
最後に
これで VScodeで Ctrl+.
でショートカットが効くようになりました.