18
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

VSCodeのSettings Sync拡張機能でOS毎に設定を切り替えた話

Posted at

複数のOSでVSCodeを使うならSettings Sync拡張機能を使うべき!

仕事柄 ホストOSのWindows上のHyper-Vで、ゲストOSのUbuntuを動かす、みたいな開発環境でいろいろやっています。
ホストOS/ゲストOSともにVSCodeを愛用していて、設定についてはSettings Syncを使って同期しているのですが、「Linuxではこの設定を使いたいけど、Windowsでは使いたくないんだよなぁ」ってことが結構あって悩んでいました。

VSCodeのissuesにも同じような悩みを持つ人が挙げたissueがありますが、2019/06/12時点でまだ公式な対応方法はないようです。

こんな悩みを抱えていたある日、なんとなくSettings SyncのWikiを読んでいると…

上のページを見つけました。どれどれ…。

Settings Sync supports per-os and per-host inline settings and keybindings by using Sync Pragmas.

Settings Syncは、Sync Pragmas機能を使用してOS毎およびホスト毎の設定とキーバインドをサポートします。

悩みを解決する方法はこれだー!!

Sync Pragmas機能のざっくりとした使い方

詳細はWikiを見ていただくとして、ざっくりとは以下のような感じです。

settings.json
{
    // @sync os=linux
    "window.zoomLevel": "1" // ...(1)
}

(1)の設定をLinuxでのみ適用したい場合、1行上に// @sync os=linuxというキーワードを挿入します。
すると、Settings SyncのSync : 設定をダウンロード機能を使用したときに、

  • Windows OS/Mac OSの場合は(1)を自動的にコメントアウトしてダウンロードする
    (=設定が無効となる)
settings.json
{
    // @sync os=linux
  //    "window.zoomLevel": "1" // ...(1)
}
  • Linux OSの場合は何もしない
    (=設定が有効となる)
settings.json
{
    // @sync os=linux
    "window.zoomLevel": "1" // ...(1)
}

という動作を自動処理してくれます。

補足
先ほどの// @sync ...キーワードを挿入してSync : 設定をアップロード機能を使用した後、すぐにSync : 設定をダウンロード機能を使用しても(自分のWindows環境では)自動処理は実行されませんでした。たぶん既に最新の設定を持っている場合は自動処理が実行されないのだと思います。
その場合は、Sync : 拡張機能の設定をリセット機能を使用して初期化してからやるとうまくいきます。(トークン等の情報を控えておくようにしてくださいね)

キーバインドについては、v3.3.0から対応するみたいなのでもう少し待ちましょう。

これでVSCodeがより使いやすくなりそうです!

18
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?