VS Codeの使えそうな機能を何回かに分けて記事に整理していく。
今回は、ユーザー設定/ワークスペース設定について要点まとめ。
環境
- Windows 11 Home 23H2
- Visual Studio Code 1.91
ユーザー設定とワークスペース設定
VS Codeには、以下のように、スコープに応じた2種類の設定種別がある。
- ユーザー設定…すべてのVS Codeインスタンスに適用される設定
- ワークスペース設定…ワークスペース内に保持され、ワークスペースのみに適用される設定
ユーザー設定
ユーザー設定するには、以下のいずれかの方法で、設定エディタを起動する。
- ショートカットキー…コマンドパレット(Ctrl+Shift+P) -> 基本設定: ユーザー設定を開く (Preferences: Open User Settings)
- ショートカットキー…Ctrl+, -> [ユーザー]タブを選択
設定値は、以下のJSONファイルに保存される。
%APPDATA%/Code/User/settings.json
このJSONファイルをVS Code上で直接編集するには、以下のコマンドを実行する。
- ショートカットキー…コマンドパレット(Ctrl+Shift+P) -> 基本設定: ユーザー設定を開く (JSON) (Preferences: Open User Settings (JSON))
ワークスペース設定
ワークスペース設定するには、以下のいずれかの方法で、設定エディタを起動する。
- ショートカットキー…コマンドパレット(Ctrl+Shift+P) -> 基本設定: ワークスペース設定を開く (Preferences: Open Workspace Settings)
- ショートカットキー…Ctrl+, -> [ワークスペース]タブを選択
設定値は、以下のJSONファイルに保存される。
このファイルはプロジェクト内のファイルなので、他の開発メンバと設定を共有できる。
<ワークスペースフォルダ>/.vscode/settings.json
このJSONファイルをVS Code上で直接編集するには、[エクスプローラー]ビューのファイルを直接クリックするか、以下のコマンドを実行する。
- ショートカットキー…コマンドパレット(Ctrl+Shift+P) -> 基本設定: ワークスペース設定を開く (JSON) (Preferences: Open Workspace Settings (JSON))
ユーザー設定、ワークスペース設定共通
- デフォルト値は、defautlSettings.jsonで確認可能
- コマンドパレット(Ctrl+Shift+P) -> 基本設定: 既定の設定 (JSON) を開く (Preferences: Open Default Settings (JSON))
- デフォルトの設定値や設定可能値は、[公式サイト-Default Settings](https://code.visualstudio.com/docs/getstarted/settings#_default-settings) 参照
設定エディタ
- 設定項目を、検索やフィルタ(変更済みか否か、拡張機能、設定IDなど)して素早く特定することが可能
- 変更した項目は、項目の左端に縦線が表示される (下図は、Files: Auto Saveを、off -> afterDelayに変更した時の表示)

- 設定項目をデフォルトに戻すには、ギアアイコン (その他の操作…) -> 設定をリセット (下図)

すべての設定をリセット
すべての設定をリセットするには、設定ファイル(JSON)を開き、{}内のすべての項目を削除する。
設定の優先順位
設定が重複した場合、定義場所と言語の固有設定かどうかによって、優先される内容が変化する。
優先順位を昇順に並べると、以下のようになる (優先順位低の設定は、高の設定で上書きされる)
- デフォルト設定…設定無しの場合に適用されるデフォルト値
- ユーザー設定…すべてのVS Codeに適用される
- リモート設定…ユーザーによって開かれたリモートマシン (設定の同期している場合?意味不明)
- ワークスペース設定…開いているフォルダやワークスペース
- ワークスペースフォルダ設定…複数ルートのワークスペースのフォルダ
- デフォルトの言語固有設定…拡張機能よって適用される言語固有のデフォルト値
- ユーザーの言語固有設定…言語固有のユーザー設定
- リモートの言語固有設定…言語固有のリモート設定 (設定の同期している場合?意味不明)
- ワークスペースの言語固有設定…言語固有のワークスペース設定
- ワークスペースフォルダの言語固有設定…言語固有の複数ルートのワークスペースのフォルダ設定
- ポリシー設定…システム管理者による設定 (詳細は、[Group Policy on Windows](https://code.visualstudio.com/docs/setup/enterprise#_group-policy-on-windows) 参照)
以下の順で優先度が高くなると考えると覚えやすいかも (たぶん)
- デフォルト -> ユーザー -> ワークスペース
- 言語共通 -> 言語固有
別マシンとの設定の同期
ユーザー設定、ショートカットキー、拡張機能などを別マシンのVS Codeインスタンスと共有することができる。
以下のいずれかを実行し、同期したい項目を選択した後に、[サインイン]。
- 設定エディタ(Ctrl+,) -> [バックアップと同期の設定]ボタン ※[設定の検索]バーの右下
- アクティビティバーの[管理]ボタン -> [バックアップと同期の設定…]
- コマンドパレット(Ctrl+Shift+P) -> 設定の同期: バックアップと同期の設定… (Settings Sync: Backup and Sync Settings…)
参考

User and workspace settings
How to modify Visual Studio Code User and Workspace Settings.
