HomeBlogVscode Setup

My Code Editor Setup

4min
0 views

As developers, we spend a lot of our time staring at code, so having a setup that feels just right is essential. Recently, I made a complete switch to Cursor from VSCode, and I’ve been loving it—especially since it offers a familiar feel while providing the flexibility I need. Even though my pro trial period has ended, Cursor still delivers a fantastic experience, and it’s quickly become my go-to.

Before
After

Cursor & VSCode

Creating a workspace that’s easy on the eyes and keeps distractions to a minimum is key for me. Here’s how I’ve set up my minimalistic theme:

If you want to try out my setup, here’s a snippet from my settings.json file.

settings.json
{
  // Workbench settings
  "workbench.colorTheme": "Noir Poimandres Grey",
  "workbench.settings.editor": "json",
  "workbench.tree.enableStickyScroll": true,
  "workbench.editor.showTabs": "multiple",
  "workbench.tips.enabled": false,
  "workbench.editor.editorActionsLocation": "hidden",
  
  // editor labels if you hate the page/layout/route duplication (App Router)
  "workbench.editor.customLabels.patterns": {
    "**/app/**/page.tsx": "${dirname} - page.tsx",
    "**/app/**/layout.tsx": "${dirname} - layout.tsx"
  },
 
  // Editor settings
  "editor.smoothScrolling": true,
  "editor.cursorSmoothCaretAnimation": "on",
  "editor.cursorBlinking": "smooth",
  "editor.scrollbar.horizontal": "hidden",
  "editor.wordWrap": "bounded",
  "editor.wrappingStrategy": "advanced",
  "editor.tabSize": 2,
  "editor.inlineSuggest.enabled": true,
  "editor.minimap.enabled": false,
  "editor.hover.enabled": true,
  "editor.renderLineHighlight": "none",
  "editor.occurrencesHighlight": "off",
  "editor.fontSize": 13,
  "editor.fontFamily": "Geist Mono",
  "editor.fontLigatures": true,
  "editor.lineHeight": 1.7,
 
  // Window settings
  "window.zoomLevel": 1,
 
  // File explorer settings
  "explorer.compactFolders": false,
  "explorer.confirmDelete": false,
  "explorer.decorations.colors": true,
  "explorer.decorations.badges": false,
  "explorer.confirmDragAndDrop": false,
 
  // File settings
  "files.insertFinalNewline": true,
 
  // Git settings
  "git.decorations.enabled": false,
  "git.suggestSmartCommit": true,
 
  // Terminal settings
  "terminal.integrated.fontFamily": "Geist Mono",
  "terminal.integrated.fontSize": 13,
  "terminal.integrated.lineHeight": 1.3,
  "terminal.integrated.defaultProfile.windows": "Git Bash",
 
  // TypeScript settings
  "typescript.updateImportsOnFileMove.enabled": "always",
 
  // APC (A Personal Customization) settings
  "apc.font.family": "Geist Mono",
  "apc.monospace.font.family": "Geist Mono",
  "apc.activityBar": {
    "position": "bottom",
    "hideSettings": true,
    "size": 24
  },
  "apc.statusBar": {
    "position": "editor-bottom",
    "height": 22,
    "fontSize": 10
  },
  "apc.header": {
    "height": 34
  },
  "apc.listRow": {
    "height": 22
  },
  "editor.formatOnSave": true,
    "editor.defaultFormatter": "biomejs.biome", // use esbenp.prettier-vscode for prettier
    "[typescript]": {
      "editor.defaultFormatter": "biomejs.biome"
    },
}
settings.json
{
  // Workbench settings
  "workbench.colorTheme": "Noir Poimandres Grey",
  "workbench.settings.editor": "json",
  "workbench.tree.enableStickyScroll": true,
  "workbench.editor.showTabs": "multiple",
  "workbench.tips.enabled": false,
  "workbench.editor.editorActionsLocation": "hidden",
  
  // editor labels if you hate the page/layout/route duplication (App Router)
  "workbench.editor.customLabels.patterns": {
    "**/app/**/page.tsx": "${dirname} - page.tsx",
    "**/app/**/layout.tsx": "${dirname} - layout.tsx"
  },
 
  // Editor settings
  "editor.smoothScrolling": true,
  "editor.cursorSmoothCaretAnimation": "on",
  "editor.cursorBlinking": "smooth",
  "editor.scrollbar.horizontal": "hidden",
  "editor.wordWrap": "bounded",
  "editor.wrappingStrategy": "advanced",
  "editor.tabSize": 2,
  "editor.inlineSuggest.enabled": true,
  "editor.minimap.enabled": false,
  "editor.hover.enabled": true,
  "editor.renderLineHighlight": "none",
  "editor.occurrencesHighlight": "off",
  "editor.fontSize": 13,
  "editor.fontFamily": "Geist Mono",
  "editor.fontLigatures": true,
  "editor.lineHeight": 1.7,
 
  // Window settings
  "window.zoomLevel": 1,
 
  // File explorer settings
  "explorer.compactFolders": false,
  "explorer.confirmDelete": false,
  "explorer.decorations.colors": true,
  "explorer.decorations.badges": false,
  "explorer.confirmDragAndDrop": false,
 
  // File settings
  "files.insertFinalNewline": true,
 
  // Git settings
  "git.decorations.enabled": false,
  "git.suggestSmartCommit": true,
 
  // Terminal settings
  "terminal.integrated.fontFamily": "Geist Mono",
  "terminal.integrated.fontSize": 13,
  "terminal.integrated.lineHeight": 1.3,
  "terminal.integrated.defaultProfile.windows": "Git Bash",
 
  // TypeScript settings
  "typescript.updateImportsOnFileMove.enabled": "always",
 
  // APC (A Personal Customization) settings
  "apc.font.family": "Geist Mono",
  "apc.monospace.font.family": "Geist Mono",
  "apc.activityBar": {
    "position": "bottom",
    "hideSettings": true,
    "size": 24
  },
  "apc.statusBar": {
    "position": "editor-bottom",
    "height": 22,
    "fontSize": 10
  },
  "apc.header": {
    "height": 34
  },
  "apc.listRow": {
    "height": 22
  },
  "editor.formatOnSave": true,
    "editor.defaultFormatter": "biomejs.biome", // use esbenp.prettier-vscode for prettier
    "[typescript]": {
      "editor.defaultFormatter": "biomejs.biome"
    },
}

While the configuration provided here reflects my personal preferences, it's essential to remember that everyone's needs and preferences are unique. Feel free to tweak and find what makes you feel most productive, and make your editor truly yours.