zed/docs/src
Joseph T. Lyons 3941f4403c
Settings profile base option (#52456)
## Context

This PR introduces a `base` field for settings profiles to allow
profiles to either overlay `user` settings or to overlay `default`,
which is simply zed's defaults (user settings are skipped). I'm not
entirely sure I love `default` because it's a bit confusing (there's a
setting called `default` but the default is `user`). Another idea I had
was `factory` (`user` (default) or `factory`) - curious to hear from the
reviewers. This will be useful for those of us who need to quickly flip
to a default state, or a default state with some customizations on top.
Additionally, from what I can tell, VS Code's profile system is more in
line with what this PR is offering in Zed - profiles overlay the default
settings, not the user's customization layer. So this will be familiar
for those users.

I've had no issue with the migrator, code is pretty simple there, but
would love for @smitbarmase to review the migration to make sure I'm not
missing something.

## Self-Review Checklist

<!-- Check before requesting review: -->
- [X] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [ ] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [X] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- Improved the flexibility of settings profiles by offering a way for
profiles to lay atop of zed defaults, skipping user settings all
together. Settings Profiles now take the following form.

```json5
"Your Profile": {
  "base": "user" // or "default"
  "settings": {
    // ...
  },
},
```
2026-04-02 00:44:53 +00:00
..
ai agent_settings: Add always_play_sound_when_agent_done setting (#52284) 2026-04-01 17:15:01 +00:00
collaboration docs: Remove Preview callouts for stable release (#50736) 2026-03-04 15:10:13 -05:00
development docs: Improve image display aspect ratio (#52511) 2026-03-26 16:21:41 +00:00
extensions Remove text thread and slash command crates (#52757) 2026-03-31 17:55:05 +02:00
languages docs: Add instructions for custom Expert builds (#52746) 2026-03-30 16:28:22 +00:00
migrate Remove text thread and slash command crates (#52757) 2026-03-31 17:55:05 +02:00
reference Settings profile base option (#52456) 2026-04-02 00:44:53 +00:00
all-actions.md docs: Apply documentation standards across all docs (#49177) 2026-02-17 20:58:17 -06:00
appearance.md Add hotkeys and actions for toggle light and dark theme (#49027) 2026-03-12 21:35:42 +02:00
authentication.md docs: Apply documentation standards across all docs (#49177) 2026-02-17 20:58:17 -06:00
command-palette.md docs: Apply documentation standards across all docs (#49177) 2026-02-17 20:58:17 -06:00
completions.md Remove Supermaven-related code from Zed (#50537) 2026-03-02 22:18:49 +00:00
configuring-languages.md Fix FormatSelections to only format selected ranges, not entire document (#51593) 2026-03-31 12:48:22 +03:00
configuring-zed.md Add vim/emacs modeline support (#49267) 2026-03-25 03:15:51 +00:00
debugger.md docs: Remove Preview callouts for stable release (#50736) 2026-03-04 15:10:13 -05:00
dev-containers.md docs: Add AI SEO frontmatter (#48559) 2026-02-11 13:10:31 -08:00
development.md Improve documentation for ETW profiling (#50426) 2026-02-28 23:03:49 -05:00
diagnostics.md docs: Add AI SEO frontmatter (#48559) 2026-02-11 13:10:31 -08:00
editing-code.md docs: SEO content improvements for AI section (#49128) 2026-02-13 13:05:57 -08:00
environment.md docs: Apply documentation standards across all docs (#49177) 2026-02-17 20:58:17 -06:00
extensions.md Remove text thread and slash command crates (#52757) 2026-03-31 17:55:05 +02:00
finding-navigating.md Remove search_on_input from docs (#52435) 2026-03-25 18:41:37 +00:00
getting-started.md docs: Remove Preview callouts for stable release (#50736) 2026-03-04 15:10:13 -05:00
git.md docs: Update File History menu label from Open to View (#49859) 2026-03-01 10:02:33 +00:00
globs.md docs: Remove Preview callouts for stable release (#50119) 2026-02-25 14:16:54 -06:00
helix.md docs: Apply documentation standards across all docs (#49177) 2026-02-17 20:58:17 -06:00
icon-themes.md docs: Apply documentation standards across all docs (#49177) 2026-02-17 20:58:17 -06:00
installation.md docs: Add AI SEO frontmatter (#48559) 2026-02-11 13:10:31 -08:00
key-bindings.md Fix docs validation to detect unknown keys (#49660) 2026-02-19 20:46:21 -05:00
languages.md docs: Apply documentation standards across all docs (#49177) 2026-02-17 20:58:17 -06:00
linux.md Update linux.md to add Ubuntu community packages (#49654) 2026-02-24 11:08:10 +00:00
macos.md docs: Apply documentation standards across all docs (#49177) 2026-02-17 20:58:17 -06:00
modelines.md Add vim/emacs modeline support (#49267) 2026-03-25 03:15:51 +00:00
multibuffers.md docs: Add AI SEO frontmatter (#48559) 2026-02-11 13:10:31 -08:00
outline-panel.md docs: Remove Preview callouts for stable release (#50736) 2026-03-04 15:10:13 -05:00
performance.md docs: Add detailed tracy workflow to performance.md (#52574) 2026-03-30 14:33:42 +02:00
quick-start.md docs: Reorganize introduction (#41387) 2025-10-28 17:39:40 -03:00
remote-development.md docs: Apply documentation standards across all docs (#49177) 2026-02-17 20:58:17 -06:00
repl.md docs: Remove Preview callouts for stable release (#50119) 2026-02-25 14:16:54 -06:00
roles.md docs: Add roles page under Account & Privacy section (#51413) 2026-03-13 10:48:54 -07:00
running-testing.md docs: Apply documentation standards across all docs (#49177) 2026-02-17 20:58:17 -06:00
semantic-tokens.md extension_host: Allow extensions to define semantic highlighting rules (#49282) 2026-03-02 17:54:53 +01:00
snippets.md docs: Remove outdated reference to simple-completion-language-server (#50732) 2026-03-04 18:45:52 +00:00
SUMMARY.md Remove text thread and slash command crates (#52757) 2026-03-31 17:55:05 +02:00
tab-switcher.md docs: Apply documentation standards across all docs (#49177) 2026-02-17 20:58:17 -06:00
tasks.md Save edited buffers before running a task (#48861) 2026-03-19 08:42:28 +00:00
telemetry.md Docs/privacy documentation refresh (#50522) 2026-03-02 11:21:07 -08:00
terminal.md docs: SEO content improvements for AI section (#49128) 2026-02-13 13:05:57 -08:00
themes.md Add hotkeys and actions for toggle light and dark theme (#49027) 2026-03-12 21:35:42 +02:00
toolchains.md docs: Apply documentation standards across all docs (#49177) 2026-02-17 20:58:17 -06:00
troubleshooting.md Add Xcode Instrument images to troubleshooting doc (#52768) 2026-03-30 22:19:53 +00:00
uninstall.md docs: Update guide to remove user data on macOS when uninstalling Zed (#52631) 2026-03-31 05:35:04 +00:00
update.md docs: Apply documentation standards across all docs (#49177) 2026-02-17 20:58:17 -06:00
vim.md docs: Remove Preview callouts for stable release (#50119) 2026-02-25 14:16:54 -06:00
visual-customization.md Remove text thread and slash command crates (#52757) 2026-03-31 17:55:05 +02:00
windows.md docs: Apply documentation standards across all docs (#49177) 2026-02-17 20:58:17 -06:00
worktree-trust.md docs: Apply documentation standards across all docs (#49177) 2026-02-17 20:58:17 -06:00