ユーザーおよびワークスペース設定
Visual Studio Codeは、さまざまな設定を通じて好みに合わせて構成できます。VS Codeのエディター、ユーザーインターフェース、機能動作のほぼすべての部分には、変更可能なオプションがあります。
VS Codeは設定に対して異なるスコープを提供します
- ユーザー設定 - 開いているVS Codeのすべてのインスタンスにグローバルに適用される設定。
- ワークスペース設定 - ワークスペース内に保存され、ワークスペースが開かれている場合にのみ適用される設定。
VS Codeは設定値を設定JSONファイルに保存します。設定JSONファイルを編集するか、設定を管理するためのグラフィカルインターフェースを提供する設定エディターを使用して、設定値を変更できます。
ユーザー設定
ユーザー設定は、VS Codeをカスタマイズするための個人的な設定です。これらの設定は、開いているVS Codeのすべてのインスタンスにグローバルに適用されます。たとえば、ユーザー設定でエディターのフォントサイズを14に設定すると、コンピューター上のVS Codeのすべてのインスタンスで14になります。
ユーザー設定にはいくつかの方法でアクセスできます
- コマンドパレット(⇧⌘P (Windows, Linux Ctrl+Shift+P))でPreferences: Open User Settingsコマンドを選択します
- 設定エディター(⌘, (Windows, Linux Ctrl+,))でUserタブを選択します
- コマンドパレット(⇧⌘P (Windows, Linux Ctrl+Shift+P))でPreferences: Open User Settings (JSON)コマンドを選択します

ワークスペース設定
ワークスペース設定はプロジェクトに固有のもので、ユーザー設定を上書きします。特定のプロジェクトに適用したい特定のカスタム設定がある場合は、ワークスペース設定を使用できます。たとえば、バックエンドサーバープロジェクトの場合、File Explorerからnode_modulesフォルダーを除外するようにfiles.exclude設定を設定したい場合があります。
VS Codeの「ワークスペース」は通常、プロジェクトのルートフォルダーです。マルチルートワークスペースと呼ばれる機能を通じて、VS Codeワークスペースに複数のルートフォルダーを持たせることもできます。VS Codeワークスペースの詳細については、こちらをご覧ください。
VS Codeはワークスペース設定をプロジェクトのルートにある.vscodeフォルダーに保存します。これにより、バージョン管理された(例:Git)プロジェクトで設定を他のユーザーと簡単に共有できます。
ワークスペース設定にはいくつかの方法でアクセスできます
- コマンドパレット(⇧⌘P (Windows, Linux Ctrl+Shift+P))でPreferences: Open Workspace Settingsコマンドを選択します
- 設定エディター(⌘, (Windows, Linux Ctrl+,))でWorkspaceタブを選択します
- コマンドパレット(⇧⌘P (Windows, Linux Ctrl+Shift+P))でPreferences: Open Workspace Settings (JSON)コマンドを選択します

すべてのユーザー設定がワークスペース設定として利用できるわけではありません。たとえば、更新やセキュリティに関連するアプリケーション全体の設定は、ワークスペース設定で上書きすることはできません。
設定エディター
設定エディターは、ユーザー設定とワークスペース設定の両方を管理するためのグラフィカルインターフェースを提供します。設定エディターを開くには、File > Preferences > Settingsに移動します。または、Command Palette(⇧⌘P (Windows, Linux Ctrl+Shift+P))からPreferences: Open Settingsで設定エディターを開くか、キーボードショートカット(⌘, (Windows, Linux Ctrl+,))を使用します。
設定エディターを開くと、探している設定を検索して見つけることができます。検索バーを使用して検索すると、設定エディターは検索条件に一致する設定のみを表示するように設定をフィルタリングします。これにより、設定をすばやく簡単に見つけることができます。

VS Codeは、設定を変更するとすぐに変更を適用します。エディターで変更された行と同様に、設定の左側にある色付きのバーで、変更した設定を識別できます。
以下の例では、サイドバーの位置とファイルアイコンテーマが変更されています。

設定の横にある歯車アイコン(⇧F9 (Windows, Linux Shift+F9))をクリックすると、設定を既定値にリセットしたり、設定IDをコピーしたり、JSON名と値のペアをコピーしたり、設定URLをコピーしたりするオプションを含むコンテキストメニューが開きます。

設定URLを使用すると、ブラウザーから設定エディターの特定の目的の設定に直接移動できます。URLの形式はvscode://settings/<settingName>で、<settingName>は移動したい設定のIDです。たとえば、workbench.colorTheme設定に移動するには、URL vscode://settings/workbench.colorThemeを使用します。
設定グループ
設定はグループで表現されており、関連する設定にすばやく移動できます。一番上には人気のあるカスタマイズ設定を表示するCommonly Usedグループがあります。
以下の例では、ツリービューでSource Controlを選択することで、ソース管理設定に焦点が当てられています。

VS Code拡張機能は独自のカスタム設定を追加することもでき、これらの設定はExtensionsセクションに表示されます。
設定エディターのフィルター
設定エディターの検索バーには、設定を管理しやすくするためのいくつかのフィルターがあります。検索バーの右側には、漏斗アイコン付きのフィルターボタンがあり、検索バーにフィルターを簡単に追加するオプションを提供します。
変更された設定
構成した設定を確認するには、検索バーに@modifiedフィルターがあります。このフィルターでは、値が既定値と異なる場合、または対応する設定JSONファイルで明示的に値が設定されている場合に設定が表示されます。
このフィルターは、設定を構成したかどうかを忘れてしまった場合や、誤って設定を構成したためにエディターが期待どおりに動作しない場合に役立ちます。

その他のフィルター
設定を検索するのに役立つ他のいくつかの便利なフィルターがあります。検索バーに@記号を入力して、さまざまなフィルターを見つけます。

利用可能なフィルターの一部を次に示します
@ext- 拡張機能固有の設定。@ext:ms-python.pythonのような拡張機能IDを指定します。@feature- Featuresサブグループ固有の設定。たとえば、@feature:explorerはファイルエクスプローラーの設定を表示します。@id- 設定IDに基づいて設定を検索します。たとえば、@id:workbench.activityBar.visible。@lang- 言語IDに基づいて言語フィルターを適用します。たとえば、@lang:typescript。詳細については、言語固有のエディター設定を参照してください。@tag- VS Codeのシステムに固有の設定。たとえば、ワークスペース信頼に関連する設定は@tag:workspaceTrust、アクセシビリティに関連する設定は@tag:accessibility。
検索バーは、設定の検索クエリを記憶し、元に戻す/やり直し(⌘Z (Windows, Linux Ctrl+Z)/⇧⌘Z (Windows, Linux Ctrl+Y))をサポートしています。検索バーの右側にあるClear Settings Search Inputボタンで、検索語句やフィルターをすばやくクリアできます。

拡張機能設定
インストールされたVS Code拡張機能も独自のカスタム設定を提供でき、これらの設定は設定エディターのExtensionsセクションで確認できます。

拡張機能の設定は、拡張機能ビュー(⇧⌘X (Windows, Linux Ctrl+Shift+X))から、拡張機能を選択し、Feature Contributionsタブを確認することでも確認できます。

拡張機能の作成者は、カスタム設定の追加方法について、構成貢献ポイントのドキュメントで詳しく学ぶことができます。
設定JSONファイル
VS Codeは、設定値をsettings.jsonファイルに保存します。設定エディターは、settings.jsonファイルに保存されている設定値を確認および変更できるユーザーインターフェースです。
コマンドパレット(⇧⌘P (Windows, Linux Ctrl+Shift+P))でPreferences: Open User Settings (JSON)またはPreferences: Open Workspace Settings (JSON)コマンドを使用して、エディターでsettings.jsonファイルを直接開いて確認および編集することもできます。
設定は、設定IDと値を指定することでJSONとして記述されます。設定エディターで設定の歯車アイコンを選択し、Copy Setting as JSONアクションを選択することで、対応するJSON名と値のペアをすばやくコピーできます。

settings.jsonファイルには、設定と値のスマート補完と説明ホバーを含む完全なIntelliSenseがあります。不正確な設定名やJSON形式によるエラーも強調表示されます。

Workbench: Color Customizationsなどの一部の設定はsettings.jsonでのみ編集でき、設定エディターにEdit in settings.jsonリンクが表示されます。

常にsettings.jsonで直接作業したい場合は、workbench.settings.editorをjsonに設定できます。そうすると、File > Preferences > Settingsとキーバインド⌘, (Windows, Linux Ctrl+,)は常にsettings.jsonファイルを開き、設定エディターUIは開きません。
設定ファイルの場所
user settings.json の場所
お使いのプラットフォームによって、ユーザー設定ファイルは次の場所にあります。
- Windows
%APPDATA%\Code\User\settings.json - macOS
$HOME/Library/Application\ Support/Code/User/settings.json - Linux
$HOME/.config/Code/User/settings.json
workspace settings.json の場所
ワークスペース設定ファイルは、ルートフォルダーの.vscodeフォルダー内にあります。ワークスペース設定settings.jsonファイルをプロジェクトまたはソース管理に追加すると、プロジェクトの設定は、そのプロジェクトのすべてのユーザーと共有されます。

マルチルートワークスペースの場合、ワークスペース設定はワークスペース構成ファイル内にあります。
設定のリセット
歯車アイコンを表示するために設定の上にカーソルを合わせ、歯車アイコンをクリックし、Reset Settingアクションを選択することで、いつでも設定を既定値にリセットできます。
設定エディターで個別に設定をリセットすることはできますが、settings.jsonを開き、中括弧{}内のエントリを削除することで、変更されたすべての設定をリセットできます。以前の設定値を回復する方法がないため、注意してください。
言語固有のエディター設定
言語固有の設定をカスタマイズする1つの方法は、設定エディターを開き、フィルターボタンを押して、言語オプションを選択して言語フィルターを追加することです。または、検索ウィジェットに@lang:languageIdの形式の言語フィルターを直接入力することもできます。表示される設定は、その特定の言語用に構成可能であり、該当する場合は、その言語に固有の設定値が表示されます。
言語フィルターが適用されている間に設定を変更すると、その設定はその言語の特定のスコープで構成されます。たとえば、検索ウィジェットに@lang:cssフィルターが適用されている間にユーザー範囲のdiffEditor.codeLens設定を変更すると、設定エディターは新しい値をユーザー設定ファイルのCSS固有のセクションに保存します。

検索ウィジェットに複数の言語フィルターを入力した場合、現在の動作では最初の言語フィルターのみが使用されます。
言語ごとにエディターをカスタマイズするもう1つの方法は、Command Palette(⇧⌘P (Windows, Linux Ctrl+Shift+P))からグローバルコマンドPreferences: Configure Language Specific Settings(コマンドID: workbench.action.configureLanguageBasedSettings)を実行して、言語ピッカーを開くことです。目的の言語を選択します。次に、設定エディターが選択した言語の言語フィルター付きで開き、その言語の言語固有の設定を変更できます。ただし、workbench.settings.editor設定がjsonに設定されている場合、settings.jsonファイルが新しい言語エントリで開き、該当する設定を追加できます。

ドロップダウンから言語を選択する

これで、その言語に特化した設定の編集を開始できます。

または、workbench.settings.editorがjsonに設定されている場合は、ユーザー設定に言語固有の設定を追加できます。

ファイルが開いていて、そのファイルタイプのエディターをカスタマイズしたい場合は、VS Codeウィンドウの右下にあるステータスバーの言語モードを選択します。これにより、Configure 'language_name' language based settingsオプション付きの言語モードピッカーが開きます。これを選択すると、ユーザーのsettings.jsonが言語エントリ付きで開き、該当する設定を追加できます。
言語固有のエディター設定は、言語固有でない設定のスコープが狭い場合でも、常に言語固有でないエディター設定を上書きします。たとえば、言語固有のユーザー設定は、言語固有でないワークスペース設定を上書きします。
他の設定と同様に、言語固有の設定をワークスペース設定に配置することで、その言語固有の設定をワークスペースにスコープ設定できます。ユーザーとワークスペースの両方のスコープで同じ言語に設定が定義されている場合、ワークスペースで定義された設定が優先されてマージされます。
次の例をsettings JSONファイルに貼り付けると、typescriptおよびmarkdown言語モードのエディター設定をカスタマイズできます。
{
"[typescript]": {
"editor.formatOnSave": true,
"editor.formatOnPaste": true
},
"[markdown]": {
"editor.formatOnSave": true,
"editor.wordWrap": "on",
"editor.renderWhitespace": "all",
"editor.acceptSuggestionOnEnter": "off"
}
}
settings.jsonでIntelliSenseを使用すると、言語固有の設定を見つけるのに役立ちます。すべてのエディター設定と一部のエディター以外の設定がサポートされています。一部の言語には、すでに既定の言語固有の設定が設定されており、Preferences: Open Default Settingsコマンドを実行してdefaultSettings.jsonで確認できます。
複数の言語固有のエディター設定
複数の言語に対して一度に言語固有のエディター設定を構成できます。次の例は、settings.jsonファイルでjavascriptとtypescript言語の設定をまとめてカスタマイズする方法を示しています。
"[javascript][typescript]": {
"editor.maxTokenizationLineLength": 2500
}
プロファイル設定
VS Codeのプロファイルを使用して、カスタマイズのセットを作成し、それらをすばやく切り替えることができます。たとえば、特定のプログラミング言語に合わせてVS Codeをカスタマイズするのに最適な方法です。
プロファイルを切り替えると、ユーザー設定はそのプロファイルのみにスコープ設定されます。別のプロファイルに切り替えると、その別のプロファイルのユーザー設定が適用されます。このようにして、異なるプロファイルに対して異なる設定を持つことができます。
プロファイルのユーザー設定JSONファイルは、次のディレクトリにあります。
- Windows
%APPDATA%\Code\User\profiles\<profile ID>\settings.json - macOS
$HOME/Library/Application\ Support/Code/User/profiles/<profile ID>/settings.json - Linux
$HOME/.config/Code/User/profiles/<profile ID>/settings.json
<profile ID>はプロファイルの一意の識別子です。設定を上書きするプロファイルごとに、対応するプロファイル設定ファイルが作成されます。
プロファイルの設定ファイルsettings.jsonは、そのプロファイルの設定を変更したときにのみ作成されます。
既定以外のプロファイルを使用している場合は、コマンドパレット(⇧⌘P (Windows, Linux Ctrl+Shift+P))でPreferences: Open Application Settings (JSON)コマンドを使用して、既定のプロファイルに関連付けられたsettings.jsonファイルにアクセスできます。
設定の優先順位
設定は、異なる設定スコープによって複数のレベルで上書きできます。以下のリストでは、後続のスコープが先行するスコープを上書きします。
- デフォルト設定 - このスコープは、未構成のデフォルト設定値を表します。
- ユーザー設定 - すべてのVS Codeインスタンスにグローバルに適用されます。
- リモート設定 - ユーザーによって開かれたリモートマシンに適用されます。
- ワークスペース設定 - 開いているフォルダーまたはワークスペースに適用されます。
- ワークスペースフォルダー設定 - マルチルートワークスペースの特定のフォルダーに適用されます。
- 言語固有のデフォルト設定 - 拡張機能によって提供される言語固有のデフォルト値です。
- 言語固有のユーザー設定 - ユーザー設定と同じですが、言語に固有です。
- 言語固有のリモート設定 - リモート設定と同じですが、言語に固有です。
- 言語固有のワークスペース設定 - ワークスペース設定と同じですが、言語に固有です。
- 言語固有のワークスペースフォルダー設定 - ワークスペースフォルダー設定と同じですが、言語に固有です。
- ポリシー設定 - システム管理者によって設定され、これらの値は常に他の設定値を上書きします。
設定値は様々な型を取ることができます。
- 文字列 -
"files.autoSave": "afterDelay" - ブール値 -
"editor.minimap.enabled": true - 数値 -
"files.autoSaveDelay": 1000 - 配列 -
"editor.rulers": [] - オブジェクト -
"search.exclude": { "**/node_modules": true, "**/bower_components": true }
プリミティブ型および配列型の値は上書きされます。つまり、あるスコープで構成された値が別のスコープより優先される場合、その値が別のスコープの値の代わりに使用されます。しかし、オブジェクト型の値はマージされます。
たとえば、workbench.colorCustomizationsは、UI要素のグループとその希望の色を指定するオブジェクトを取ります。ユーザー設定がエディターの背景を青と緑に設定している場合
"workbench.colorCustomizations": {
"editor.background": "#000088",
"editor.selectionBackground": "#008800"
}
開いているワークスペース設定でエディターの前景が赤に設定されている場合
"workbench.colorCustomizations": {
"editor.foreground": "#880000",
"editor.selectionBackground": "#00FF00"
}
そのワークスペースが開かれているときの結果は、あたかもあなたが指定したかのように、これら2つの色カスタマイズの組み合わせになります。
"workbench.colorCustomizations": {
"editor.background": "#000088",
"editor.selectionBackground": "#00FF00",
"editor.foreground": "#880000"
}
上記の例のように、editor.selectionBackgroundのような競合する値がある場合は、通常のオーバーライド動作が発生し、ワークスペース値がユーザー値よりも優先され、言語固有の値が非言語固有の値よりも優先されます。
複数の言語固有設定に関する注意
複数の言語固有設定を使用している場合、言語固有設定はマージされ、優先順位は個々の言語ID(typescriptとjavascript)ではなく、完全な言語文字列(たとえば"[typescript][javascript]")に基づいて設定されることに注意してください。これは、たとえば"[typescript][javascript]"ワークスペース設定が"[javascript]"ユーザー設定を上書きしないことを意味します。
設定とセキュリティ
一部の設定では、VS Codeが特定の操作を実行するために実行する実行可能ファイルを指定できます。たとえば、統合ターミナルが使用するシェルを選択できます。セキュリティ強化のため、このような設定はユーザー設定でのみ定義でき、ワークスペーススコープでは定義できません。
ワークスペース設定でサポートされていない設定のリストは次のとおりです。
これらの設定のいずれかを定義するワークスペースを初めて開くと、VS Codeは警告を表示し、それ以降は常に値を無視します。
設定の同期
VS Codeのインスタンス間でユーザー設定を共有するには、設定同期機能を使用できます。この機能を使用すると、さまざまなマシンにインストールされたVS Code間で設定、キーボードショートカット、およびインストールされている拡張機能を共有できます。設定同期は、設定エディターの右側にあるBackup and Sync Settingsコマンド、またはAccountsアクティビティバーコンテキストメニューから有効にできます。

設定同期の有効化と構成の詳細については、設定同期ユーザーガイドを参照してください。
VS Codeは、SSH、開発コンテナ(devcontainer)、WSLなどに接続している場合など、リモートウィンドウとの間で拡張機能を同期しません。
機能のライフサイクル
機能およびそれに対応する設定は、次のいずれかの状態にあります。状態によっては、ワークフローでその機能または設定を使用することに注意が必要な場合があります。
-
Experimental - 早期採用者向けに利用可能な探索的な機能。これらの機能は将来変更または削除される可能性があります。設定エディターでは、これらの設定には
Experimentalラベルが付いています。検索ボックスに@tag:experimentalと入力して、実験的な設定を検索することもできます。
-
Preview - プレビュー機能と設定には最終的な機能がありますが、安定性と洗練のためにまだ反復される可能性があります。通常、プレビュー機能はデフォルトで無効になっています。設定エディターでは、これらの設定には
Previewラベルが付いています。検索ボックスに@tag:previewと入力して、プレビュー設定を検索することもできます。
-
Stable - 機能は安定しており、VS Codeで完全にサポートされています。
実験的およびプレビュー機能を使用すると、新機能を試してフィードバックを提供できます。VS Codeの課題でフィードバックを共有してください。
関連リソース
よくある質問
VS Codeが「設定を書き込めません」と表示される場合
設定を変更しようとしたとき(例: 自動保存をオンにする、新しい配色テーマを選択する)、"Unable to write into user settings. Please open user settings to correct errors/warnings in it and try again."というメッセージが表示された場合、それはsettings.jsonファイルが不正な形式であるか、エラーがあることを意味します。エラーは、カンマの不足や不正な設定値のような単純なものかもしれません。コマンドパレット(⇧⌘P (Windows, Linux Ctrl+Shift+P))でPreferences: Open User Settings (JSON)コマンドを使用してsettings.jsonファイルを開くと、エラーが赤色の波線で強調表示されているはずです。
ユーザー設定をリセットするにはどうすればよいですか?
VS Codeをデフォルト設定に戻す最も簡単な方法は、ユーザーのsettings.jsonファイルをクリアすることです。コマンドパレット(⇧⌘P (Windows, Linux Ctrl+Shift+P))でPreferences: Open User Settings (JSON)コマンドを使用してsettings.jsonファイルを開くことができます。ファイルがエディターで開いたら、2つの波括弧{}の間にあるすべてを削除し、ファイルを保存すると、VS Codeはデフォルト値を使用するようになります。
ワークスペース設定を使用するのが理にかなっているのはいつですか?
カスタム設定が必要なワークスペースを使用しているが、他のVS Codeプロジェクトにはそれらを適用したくない場合。良い例は、言語固有のリンティングルールです。
拡張機能設定はどこで見つけることができますか?
一般的に、VS Codeの拡張機能は、ユーザー設定ファイルまたはワークスペース設定ファイルに設定を保存し、設定エディターのUI(Preferences: Open Settings (UI)コマンド)またはsettings.jsonファイル内のIntelliSense(Preferences: Open User Settings (JSON)コマンド)を通じて利用できます。拡張機能名(例: gitlensやpython)で検索すると、拡張機能によって提供される設定のみにフィルタリングするのに役立ちます。