The default settings in vscode is a non-editable document. It acts as a way for you to view the default settings for native settings as well as extension default settings.
These defaults are also used to identify when a setting has changed with a 'blue' line indicator, when using the settings editor:
Changes to settings are reloaded by VS Code as you change them. Modified settings are now indicated with a blue line similar to modified lines in the editor. The gear icon opens a context menu with options to reset the setting to its default value as well as copy setting as JSON.

Currently, vscode only offers 2 editable settings:
VS Code provides two different scopes for settings:
- User Settings - Settings that apply globally to any instance of VS Code you open.
- Workspace Settings - Settings stored inside your workspace and only apply when the workspace is opened.
Workspace settings override user settings. Workspace settings are specific to a project and can be shared across developers on a project.
Note: A VS Code "workspace" is usually just your project root folder. Workspace settings as well as debugging and task configurations are stored at the root in a .vscode folder. You can also have more than one root folder in a VS Code workspace through a feature called Multi-root workspaces.
You can configure these settings with the settings editor, as pictured above, or you can navigate to their JSON counterparts for manual entry (example pictured on the right below).

For workspace settings JSON, the JSON file is located in a folder of the root directory called .vscode, you can create it yourself if it is not there.
By default, VS Code shows the Settings editor, but you can still edit the underlying settings.json file by using the Open Settings (JSON) command from your command palette or by changing your default settings editor with the workbench.settings.editor setting.
Settings
You can define which view is shown using the following settings:
workbench.settings.openDefaultSettingsOpens the default settings any time you open regular settings (this only works with the
JSONsettings editor option)workbench.settings.editorDetermine which editor to use, you can elect
UIorJSONworkbench.settings.useSplitJSONThis will open a JSON settings editor, with the default settings to the left, but the default editor to the left will behave like a
UIeditor in that you can collapse regions based on category and there is a search input box and it will share the same tab as the json editor on the right, whereas theworkbench.settings.openDefaultSettingsoption mentioned above puts each setting view in its own respective tab (editor)
The default settings in vscode is a non-editable document. It acts as a way for you to view the default settings for native settings as well as extension default settings.
These defaults are also used to identify when a setting has changed with a 'blue' line indicator, when using the settings editor:
Changes to settings are reloaded by VS Code as you change them. Modified settings are now indicated with a blue line similar to modified lines in the editor. The gear icon opens a context menu with options to reset the setting to its default value as well as copy setting as JSON.

Currently, vscode only offers 2 editable settings:
VS Code provides two different scopes for settings:
- User Settings - Settings that apply globally to any instance of VS Code you open.
- Workspace Settings - Settings stored inside your workspace and only apply when the workspace is opened.
Workspace settings override user settings. Workspace settings are specific to a project and can be shared across developers on a project.
Note: A VS Code "workspace" is usually just your project root folder. Workspace settings as well as debugging and task configurations are stored at the root in a .vscode folder. You can also have more than one root folder in a VS Code workspace through a feature called Multi-root workspaces.
You can configure these settings with the settings editor, as pictured above, or you can navigate to their JSON counterparts for manual entry (example pictured on the right below).

For workspace settings JSON, the JSON file is located in a folder of the root directory called .vscode, you can create it yourself if it is not there.
By default, VS Code shows the Settings editor, but you can still edit the underlying settings.json file by using the Open Settings (JSON) command from your command palette or by changing your default settings editor with the workbench.settings.editor setting.
Settings
You can define which view is shown using the following settings:
workbench.settings.openDefaultSettingsOpens the default settings any time you open regular settings (this only works with the
JSONsettings editor option)workbench.settings.editorDetermine which editor to use, you can elect
UIorJSONworkbench.settings.useSplitJSONThis will open a JSON settings editor, with the default settings to the left, but the default editor to the left will behave like a
UIeditor in that you can collapse regions based on category and there is a search input box and it will share the same tab as the json editor on the right, whereas theworkbench.settings.openDefaultSettingsoption mentioned above puts each setting view in its own respective tab (editor)
I had the same problem and the solution that worked is below. It is true that default settings cannot be modified, but the below steps explain how to edit the settings in JSON:
- Cmd+Shift+P and select Open Settings UI (Ctrl+Shift+P for Windows I think)
- Search for "Settings" and under "Workbench" click on Settings Editor. Change from "ui" to "json".
- Search for “use split JSON” and tick “Controls whether to use split JSON…”.
Credit to Ahmad Awais video posted here
Hello,
I am following online course and currently we need to change something in User Settings (JSON). The video shows (in VScode) that i need to follow path Code -> Preferences -> Settings and then press on three dots and open settings json. However, on my mac i don't have such option as these three dots.
I managed to open these settings by using keyboard: CMD + Shift + P. It opens dropdown list where i choose Preferences: Open Default Settings (JSON). This is the code which looks the same as my instructor has and i can locate code line i need to update: "code-runner.executorMap" . Learning about Virtual Environments in VSCode. However, the settings opens in read only mode and i can't edit them. How can i open them so i can edit them?
I am complete beginner, had the same problem right at the begining of this online course when we learned about debugging, but i couldn't find an answer so i decided to move on and come back when i understand more about programming itself etc. And here i am, starting to get the idea of programming, but still can't find solution to this one...
setting.json "Can Not edit in read-only editor"
How to open Visual Studio Code's 'settings.json' file - Stack Overflow
Cannot Edit Default Settings
VS Code: Workaround for read-only settings
Videos
To open the User settings:
- Open the command palette (either with F1 or Ctrl+Shift+P)
- Type ">open settings" (You must include the '>' at the beginning)
- You are presented with a few options¹, choose Open User Settings (JSON)
This image was taken in the VS Code online editor

Which, from the manual and depending on platform, is one of:
- Windows
%APPDATA%\Code\User\settings.json² - macOS
$HOME/Library/Application\ Support/Code/User/settings.json - Linux
$HOME/.config/Code/User/settings.json
The Workspace settings will be in a {workspaceName}.code-workspace file where you saved it, and the Folder settings will be in a .vscode folder if and when it has been created.
Official page on User and Workspace Settings
As stated by sevencardz below, VS Code includes a button in the Settings UI gutter which can be used to switch between JSON and graphical view.

The workbench.settings.editor option selects which of the settings files is opened by default when not using the above method, such as with the shortcut ⌘+, or through the application menu.
Footnotes
The aforementioned settings, User and Workspace. Remote settings will appear when using WSL.
By a test this maps to
%APPDATA%\Roaming\Code\User\settings.json, I am not sure by what logic.
On the settings UI page, there's a special button in the top right corner gutter that toggles between the settings.json file and the settings UI.

Bonus Answer:
Add "workbench.settings.editor": "json" to your settings.json file. This will make it so that menu File → Preferences → Settings or ⌘ + , opens your settings.json file by default. Optionally, add a comment at the top to remind yourself where the toggle button is.
// Click the Open Settings (UI) button in the top
// right corner gutter to toggle the settings UI
{
// Other settings in settings.json
// ...
"workbench.settings.editor": "json"
}
I’m a total noob, but I wanted to do some edits on my settings.json file. But my problems is that it says it’s read-only… How can I change that?
Hi Experts,
I’m new to VSCode so pardon me if this is seems to be a noob question.
I set up a central coding server so keep all my projects in one place and I’m now trying the VSCode remote feature. Every-time I open a new environment the settings I made on the User Workspace are being over written by the default settings on new environment. This is forcing me to redo the setting that I already made before.
Now the questions is, what is the best way to edit the default settings in a way that it will push your preferred settings down to the new environment/workspace?