VSCodeのSettings Syncを使ってWinとMacで一部異なる設定同期

2021-12-03
2021-12-03

VSCodeのVim拡張で、ノーマルモードに戻った時にIMEをオフにする設定をしているのだが、WinとMacではやり方が違うのでそこだけ設定内容を変えたいというニーズがありまして。

そんな場合にはsettingsSync.ignoredSettingsで設定項目を同期の対象から外すことができるとのこと。

実例としてはMacでsettings.jsonに以下のように書くと。

"settingsSync.ignoredSettings": [
  "vim.autoSwitchInputMethod.enable",
  "vim.autoSwitchInputMethod.defaultIM",
  "vim.autoSwitchInputMethod.obtainIMCmd",
  "vim.autoSwitchInputMethod.switchIMCmd"
],
"vim.autoSwitchInputMethod.enable": true,
"vim.autoSwitchInputMethod.defaultIM": "com.apple.keylayout.ABC",
"vim.autoSwitchInputMethod.obtainIMCmd": "/usr/local/bin/im-select",
"vim.autoSwitchInputMethod.switchIMCmd": "/usr/local/bin/im-select {im}"

Winには以下のように同期される。

"settingsSync.ignoredSettings": [
  "vim.autoSwitchInputMethod.enable",
  "vim.autoSwitchInputMethod.defaultIM",
  "vim.autoSwitchInputMethod.obtainIMCmd",
  "vim.autoSwitchInputMethod.switchIMCmd"
],

実際のところはWinとMacというよりは個別のマシンごとに一部異なる設定を行うことができるというヤツ。

なので仮にもう1台Macのマシンを追加してSettings Syncした場合はそのマシンのsettigs.jsonの内容はWinのものと同じになる。ので、上記のMac用の設定を反映するには手で編集する必要がある。

Profile

フルスタック気味のフリーランスプログラマー。

どちらかと言うと得意はインフラ構築とサーバーサイドプログラミングですが、フロントエンドもぼちぼちやっています。

最近の興味範囲はWordPress、AWS、サーバーレス、UIデザイン。

愛車はセロー。カメラはペンタックス。旅好きです。横浜在住。