How to Turn Zed IDE Into a Distraction-Free Canvas
Zed has a killer feature up its sleeve: fine-grained control over every single UI component.
Today, we are going to take this a step further. We’re going to clean house. Using just the settings.json file, we will strip away every non-essential element to achieve the ultimate, distraction-free, code-only immersive environment.
Here is the complete configuration snippet we’ll be adding:
// Title Bar Configuration
"title_bar": {
"show_onboarding_banner": false,
"show_project_items": false,
"show_branch_name": false,
"show_user_menu": false
},
// Tab Bar
"tab_bar": {
"show": false
},
// Top Toolbar
"toolbar": {
"quick_actions": false
},
// Bottom Status Bar
"status_bar": {
"experimental.show": false
},
// Project Panel (File Tree)
"project_panel": {
"dock": "right",
"default_width": 400,
"hide_root": true,
"auto_fold_dirs": false,
"starts_open": false,
"git_status": false,
"sticky_scroll": false,
"scrollbar": {
"show": "never"
},
"indent_guides": {
"show": "never"
}
},
// Outline Panel
"outline_panel": {
"default_width": 300,
"indent_guides": {
"show": "never"
}
}Let’s break down what each of these configurations actually does and how it transforms your workspace.
1. title_bar: Clearing the Clutter
"title_bar": {
"show_onboarding_banner": false,
"show_project_items": false,
"show_branch_name": false,
"show_user_menu": false
}show_onboarding_banner: Disables the welcome banner so you don't get those newbie prompts every time you open a project.show_project_items: Hides the project name in the title bar.show_branch_name: Hides the current Git branch. (If you hate glancing at the branch name constantly, turn this off).show_user_menu: Hides your user profile avatar in the top right corner.
Result: The title bar retains only the native OS window controls, ditching Zed’s built-in project, branch, and user info. It looks exceptionally clean.
User Info:
2. tab_bar: The Ultimate Immersion
"tab_bar": {
"show": false
}This is the favorite configuration for immersion lovers. It completely disables the top file tab bar.
The Shift in Workflow: You no longer use your mouse to click and switch tabs. Instead, you transition to a pure keyboard-driven workflow: use
Ctrl+Pto quickly find files, andCtrl+Tabto jump between recent files. Perfect for heavy keyboard users.
3. toolbar: Removing Quick Actions
"toolbar": {
"quick_actions": false
}This hides the shortcut buttons just below the title bar, such as Git operations and AI assistant shortcuts. Fewer clickable buttons mean a less scattered interface.
4. status_bar: Blanking the Bottom
"status_bar": {
"experimental.show": false
}The status bar usually displays line/column numbers, LSP status, and Git status. By disabling it, the bottom of your screen becomes completely blank, maximizing your screen real estate for actual code.
5. project_panel: The Minimalist File Tree
"project_panel": {
"dock": "right",
"default_width": 400,
"hide_root": true,
"auto_fold_dirs": false,
"starts_open": false,
"git_status": false,
"sticky_scroll": false,
"scrollbar": {
"show": "never"
},
"indent_guides": {
"show": "never"
}
}dock: "right": Moves the file tree to the right side of the editor (unlike VS Code's default left alignment).
default_width: 400: Sets the default width to 400px.hide_root: true: Hides the top-level project root folder, displaying files directly. This eliminates one layer of visual nesting.
- Effect after hiding:
starts_open: false: The file tree is closed by default when you launch Zed. Summon it only when needed.git_status: false: Removes the color-coded Git markers (added/modified) from the file tree.
- After turning it off, your Git-modified files will look just like unmodified ones.
sticky_scroll: false: Disables sticky directory headers when scrolling.scrollbar.show: "never": Permanently hides the file tree scrollbar (use your mouse wheel).indent_guides.show: "never": Hides the directory indent guide lines.
Result: The file tree itself is lightweight. It doesn’t start by default, has no scrollbars, no indent lines, and no Git markers. It only appears when manually summoned.
6. outline_panel: Stripping Down the Outline
The outline panel is displayed by default.
"outline_panel": {
"default_width": 300,
"indent_guides": {
"show": "never"
}
}This panel displays the functions, classes, and variables of the current file. Here, we disable the indent guides to maintain the minimalist style consistent with the file tree. The default width is set to 300px.
Bonus Tip: Resizing the File Finder
One last thing worth mentioning is that you can customize the size of the File Finder (Command Palette) pop-up.
Personally, I prefer the xlarge layout for a more spacious look.
The Philosophy Behind This UI Purification
The core philosophy of this configuration is simple: Hide all panels by default, summon them on demand, and remove all decorative lines and markers.
Get golang学习记’s stories in your inbox
Join Medium for free to get updates from this writer.
The interface is left with only the main code editor area, almost entirely devoid of UI elements.
- Switch files:
Ctrl+P - Open file tree:
Ctrl+B - Open outline:
Ctrl+Shift+O
It is a completely keyboard-driven workflow. By reducing mouse usage, your visual focus remains entirely on the code.
Zed vs. VS Code: The UI Control Battle
VS Code has relatively weak native control over its UI elements:
- You can’t easily hide the Tab bar without relying on plugins.
- You can’t natively close the Status bar; it also requires plugins.
- Scrollbars, indent guides, and Git markers in the file tree have very limited native control.
Zed, on the other hand, bakes all these UI toggles directly into settings.json. You don't need any extensions. It natively supports fine-grained control, and changes take effect instantly without restarting the editor. This is a major reason why many developers seeking a minimalist interface are flocking to Zed.
Final Thoughts
If the previous theme_overrides article was about "painting," this article is about "spring cleaning."
Zed natively provides incredibly delicate UI toggles. We can hide tabs, status bars, redundant buttons, and auxiliary lines to create a coding canvas with almost zero redundancy.
This extreme minimalist mode is perfect for developers who don’t want to be distracted by UI elements while writing code. By shifting all panels from “always-on” to “on-demand,” you pivot entirely to a keyboard-driven development flow. Yes, there is a learning curve — you need to memorize basic shortcuts — but once you get used to it, your level of coding immersion will increase dramatically.









