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.
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"
}
Workspace file vs .vscode files - where do my project settings actually go?
[Feature] Local Workspace settings
How to share common settings.json file between projects/teammates?
visual studio code - Is there a way to make a settings.json simply on a project? - Stack Overflow
Videos
Totally VSCode noob here... but in sublime, the project file is what holds all the project specific settings. In VSCode it looks like there are potentially 2 places for workspace settings: The workspace file, and settings.json (potentially others) inside the .vscode folder.
What actually goes where? On my work computer, I added some filename patterns to exclude from the side bar and vscode created a settings.json file inside a new .vscode folder. On my personal computer I tried the same thing and vscode just added those settings to my workspace file.
Is there a good way to keep a settings.json file in sync between different projects and between team members? I'd like to have a common "base" config that we use on all of our projects, that can then be overwritten further if needed.
What I'd like is similar to having a shared eslint config. With eslint I can publish my config as an npm module, and then just install that module and extend it in any project. If we decide to change a setting, we just update the module and its easily applied to all projects.
Anything like this for VSCode settings? I know you can make an extension pack to auto deploy common extensions for an organization, but I don't think something like that would work for sharing settings?