my VSCode setup

my VSCode setup

February 25, 2026

i run a VS Code setup that is customized to feel cleaner and closer to zed.

this post is the exact setup, with links to the real config.

setup at a glance

why this setup

i like zed's UI, but i still want VS Code's ecosystem and remote workflow.

so instead of switching editors, i customized VS Code.

the biggest difference is the custom UI layer, not the extension count.

how the custom ui started

while scrolling twitter, i found stumbled upon a github discussion with a lot of VS Code custom styles.

the original extension in that thread was deprecated, but i kept the ideas i liked and recreated the look using Custom UI Style.

config

{  // Behaviour  "diffEditor.ignoreTrimWhitespace": false,  "editor.formatOnPaste": false,  "editor.formatOnSave": true,  "security.workspace.trust.untrustedFiles": "open",  "security.promptForRemoteFileProtocolHandling": false,  "workbench.activityBar.location": "bottom",  "workbench.editor.highlightModifiedTabs": true,  "workbench.startupEditor": "readme",  "workbench.editor.showIcons": false,  "outline.collapseItems": "alwaysCollapse",  "outline.showVariables": false,  "outline.showProperties": false,  "window.titleBarStyle": "native",  "window.commandCenter": false,  "typescript.updateImportsOnFileMove.enabled": "never",  "javascript.updateImportsOnFileMove.enabled": "never",  "files.autoSave": "afterDelay",  "files.autoSaveDelay": 100,  "explorer.confirmDelete": false,  "explorer.confirmDragAndDrop": false,  "editor.inlineSuggest.enabled": true,  "git.autofetch": true,  "github.copilot.enable": {    "*": true,    "plaintext": true,    "markdown": false,    "scminput": false  },  "github.copilot.nextEditSuggestions.enabled": true,  // Terminal  "terminal.integrated.allowChords": false,  "terminal.integrated.macOptionIsMeta": true,  "terminal.integrated.enableMultiLinePasteWarning": "never",  "terminal.integrated.cursorBlinking": true,  "terminal.integrated.cursorStyle": "line",  "terminal.integrated.fontFamily": "JetBrainsMono Nerd Font, JetBrainsMono Nerd Font Mono, JetBrains Mono, monospace",  "terminal.integrated.fontSize": 13,  "terminal.integrated.lineHeight": 1.2,  "terminal.integrated.sendKeybindingsToShell": true,  "terminal.integrated.suggest.enabled": false,  "terminal.integrated.defaultProfile.linux": "zsh",  "terminal.integrated.profiles.linux": {    "zsh": {      "path": "zsh"    }  },  // Editor  "editor.fontLigatures": true,  "editor.fontSize": 14,  "chat.editor.fontSize": 14,  "editor.lineHeight": 1.6,  "editor.fontFamily": "JetBrainsMono Nerd Font, JetBrainsMono Nerd Font Mono, JetBrains Mono, monospace",  "editor.minimap.enabled": false,  "editor.wordWrap": "on",  "editor.cursorStyle": "line",  "editor.cursorBlinking": "smooth",  "editor.cursorSmoothCaretAnimation": "on",  // Scrollbars  "editor.scrollbar.vertical": "visible",  "editor.scrollbar.verticalScrollbarSize": 9,  "editor.scrollbar.horizontalScrollbarSize": 9,  // Theme  "window.autoDetectColorScheme": true,  "workbench.iconTheme": "quill-icons",  "workbench.preferredDarkColorTheme": "Cursor Dark",  "workbench.preferredLightColorTheme": "Cursor Light",  // UI Styles  "custom-ui-style.reloadWithoutPrompting": true,  "custom-ui-style.font.monospace": "JetBrainsMono Nerd Font, JetBrainsMono Nerd Font Mono, JetBrains Mono, monospace",  "custom-ui-style.font.sansSerif": "JetBrains Mono, -apple-system",  "custom-ui-style.electron": {    "titleBarStyle": "hiddenInset",    "trafficLightPosition": { "x": 12, "y": 12 }  },  "custom-ui-style.stylesheet": {    ".monaco-workbench": {      "--activitybar-width": "84px",      "--titlebar-height": "38px"    },    ".editor .decorationsOverviewRuler": {      "display": "none !important"    },    // Scrollbar    "div.visible.scrollbar.vertical .slider, div.invisible.scrollbar.vertical .slider": {      "border-radius": "10px !important",      "left": "-4px !important"    },    "div.visible.scrollbar.horizontal .slider, div.invisible.scrollbar.horizontal .slider": {      "border-radius": "10px !important",      "top": "-4px !important"    },    // Breadcrumbs    ".monaco-breadcrumbs": {      "font-size": "10px"    },    // Hide editor title text    ".monaco-workbench .part > .title > .title-label h2": {      "display": "none"    },    // Wide Action Bar    ".part.sidebar.left .composite-bar": {      "min-width": "100% !important",      ".monaco-action-bar .actions-container": {        "justify-content": "space-between !important"      }    },    // Titlebar    ".part.sidebar.left .composite.title": {      "-webkit-app-region": "drag",      "&, .title-actions, .global-actions, .monaco-toolbar": {        "height": "var(--titlebar-height)"      },      ".title-label": {        "line-height": "var(--titlebar-height)"      },      "border-bottom": "1px solid var(--vscode-sideBar-border)"    },    ".title.tabs": {      "--editor-group-tab-height": "var(--titlebar-height) !important"    },    // Make line numbers a bit smaller.    ".editor .margin-view-overlays .line-numbers": {      "font-size": "85%"    },    // Search inputs / Results in monospaced font.    ".search-widget textarea, .find-widget textarea, .search-view .results .match": {      "font-family": "var(--cus-monospace-font) !important"    },    ".monaco-workbench.nosidebar .part.editor > .content .editor-group-container > .title .tabs-container": {      "padding-left": "var(--activitybar-width) !important"    },    ".monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container, .monaco-workbench .part.statusbar": {      "-webkit-app-region": "drag",      // Allow interaction on tabs and action items      ".tab, .monaco-action-bar, .statusbar-item, .title-actions .action-label": {        "-webkit-app-region": "no-drag"      }    },    ".monaco-workbench .part.sidebar > .title": {      "-webkit-app-region": "drag",      // Allow interaction on tabs and action items      ".statusbar-item, .title-actions .action-label": {        "-webkit-app-region": "no-drag"      }    }  },  "window.customTitleBarVisibility": "never",  "claudeCode.preferredLocation": "sidebar",  "claudeCode.allowDangerouslySkipPermissions": true,  "claudeCode.initialPermissionMode": "bypassPermissions",  "[jsonc]": {    "editor.defaultFormatter": "esbenp.prettier-vscode"  }}

screenshot

My VS Code setup

extensions

this list is intentionally simple:

thanks again for reading!

Leave comment

Written by

Anirudh

Created At

Wed Feb 25 2026

Updated At

Wed Feb 25 2026