🎨 Lesson 5 of 40 Customization Beginner

Settings, Themes & Customization

VS Code is one of the most customizable editors ever built. In this lesson we configure settings, pick a theme, adjust fonts, and sync everything across machines.

12% complete

1User Settings vs Workspace Settings

VS Code has two layers of settings: User settings apply globally to every project, while Workspace settings are stored in a .vscode/settings.json file inside your project and override user settings for that workspace only. Open settings with Ctrl+,.

2Essential Settings to Configure First

settings.json — recommended starter config
{
  "editor.fontSize": 15,
  "editor.fontFamily": "'JetBrains Mono', Consolas, monospace",
  "editor.fontLigatures": true,
  "editor.tabSize": 2,
  "editor.wordWrap": "on",
  "editor.minimap.enabled": false,
  "editor.formatOnSave": true,
  "files.autoSave": "afterDelay"
}

3Choosing a Colour Theme

Press Ctrl+K Ctrl+T to open the theme picker with a live preview. Popular themes include:

  • One Dark Pro — the most-downloaded theme of all time
  • GitHub Dark / Light — clean, GitHub-inspired
  • Catppuccin — pastel, easy on the eyes
  • Dracula — classic dark theme
  • Tokyo Night — modern dark with vibrant syntax colours

4Choosing a Font

Programming fonts with ligatures make code much easier to read. Top choices:

  • JetBrains Mono — free, excellent ligatures
  • Fira Code — the original ligature font
  • Cascadia Code — Microsoft's own coding font
  • Monaspace — GitHub's new font family

5Settings Sync

Enable Settings Sync (the cloud icon in the Activity Bar) to sync your settings, keybindings, extensions, snippets and UI state across all your machines via your GitHub or Microsoft account — instantly.

💡 Tip: Use Profiles (File › Preferences › Profiles) to keep separate configs for, say, Python data-science work vs web development. Each profile has its own settings, extensions and keybindings.

All 40 Lessons
Pick any lesson to jump straight to it.
L01
Getting Started with VS Code
FoundationBeginner
→
L02
The VS Code Interface & Layout
FoundationBeginner
→
L03
Installing & Managing Extensions
ExtensionsBeginner
→
L04
Keyboard Shortcuts & Command Palette
ProductivityBeginner
→
L05
Settings, Themes & Customization
CustomizationBeginner
→
L06
IntelliSense & Code Completion
Editor FeaturesBeginner
→
L07
Integrated Terminal Mastery
ProductivityBeginner
→
L08
Search, Find & Replace Across Files
Editor FeaturesBeginner
→
L09
Git & Source Control with VS Code
Version ControlBeginner
→
L10
Snippets & Emmet Abbreviations
ProductivityBeginner
→
L11
GitHub Copilot — Getting Started
AI & CopilotIntermediate
→
L12
Copilot Chat & Inline Ask
AI & CopilotIntermediate
→
L13
JavaScript & TypeScript Development
LanguagesIntermediate
→
L14
Python Development in VS Code
LanguagesIntermediate
→
L15
Debugging Like a Pro
DebuggingIntermediate
→
L16
Linting, Formatting & ESLint
Code QualityIntermediate
→
L17
Multi-Cursor Editing & Refactoring
Editor FeaturesIntermediate
→
L18
Workspaces & Multi-Root Projects
WorkspaceIntermediate
→
L19
Tasks, Build Systems & npm Scripts
WorkflowIntermediate
→
L20
Testing with Jest, Vitest & Pytest
TestingIntermediate
→
L21
React Development Workflow
Web DevIntermediate
→
L22
Node.js & Express in VS Code
BackendIntermediate
→
L23
Docker & Dev Containers
DevOpsIntermediate
→
L24
Live Share — Real-Time Collaboration
CollaborationIntermediate
→
L25
Jupyter Notebooks in VS Code
Data ScienceIntermediate
→
L26
REST Client & API Testing
API DevIntermediate
→
L27
SSH Remote Development
Remote DevIntermediate
→
L28
WSL 2 Integration on Windows
Remote DevIntermediate
→
L29
Advanced Debugging: Breakpoints & Watch
DebuggingAdvanced
→
L30
Copilot Agent Mode — Agentic Workflows
AI & CopilotAdvanced
→
L31
Profile & Performance Optimisation
PerformanceAdvanced
→
L32
GitHub Actions & CI/CD Integration
DevOpsAdvanced
→
L33
Custom Keybindings & Key Maps
CustomizationAdvanced
→
L34
Settings Sync & Dotfiles Management
WorkflowAdvanced
→
L35
Language Server Protocol (LSP) Explained
InternalsAdvanced
→
L36
Rust Development in VS Code
LanguagesAdvanced
→
L37
Go Development in VS Code
LanguagesAdvanced
→
L38
GitHub Codespaces & vscode.dev
Remote DevExpert
→
L39
Writing Your First VS Code Extension
Extension DevExpert
→
L40
Pro VS Code Workflow & Mastery
MasteryExpert
→