Kenneth Au

My Must-Have VS Code Extensions

VS Code’s extension ecosystem is one of its biggest strengths. After years of trying and discarding extensions, here are the ones that have earned a permanent spot in my setup.

Essential

  • GitLens — See who last modified each line (git blame inline), view file history, and compare branches without leaving the editor. The “Open Changes” view is invaluable for code reviews.

  • ESLint — Integrates ESLint into VS Code. Shows errors inline, auto-fixes on save. If you write JavaScript/TypeScript, this is non-negotiable.

  • Prettier — Automatic code formatting on save. Set "editor.formatOnSave": true and never think about formatting again.

  • Error Lens — Highlights errors and warnings inline, right where they occur, instead of hiding them in the problems panel. Sounds small, but it meaningfully reduces the time between seeing an error and fixing it.

Language Support

  • Python (Microsoft) — IntelliSense, linting, debugging, Jupyter notebook support. The official extension.
  • Go (Go Team at Google) — IntelliSense, debugging, testing, and linting for Go.
  • Rust Analyzer — The standard Rust language server. Excellent code completion and inline errors.
  • Tailwind CSS IntelliSense — Autocomplete for Tailwind classes, class sorting, and linting.

Productivity

  • Multi Cursor Case Preserve — When using multi-cursor editing and changing case, this preserves the original case pattern. Niche but saves time.

  • Todo Tree — Searches your workspace for TODO, FIXME, HACK, and other annotations, and displays them in a tree view. Great for tracking what needs attention.

  • Code Spell Checker — Catches typos in variable names, comments, and strings. Embarrassingly useful — you’ll be surprised how many typos you make.

  • Remote - SSH — Edit files on remote servers as if they were local. Indispensable for debugging production issues or working on remote development environments.

Appearance

  • GitHub Theme — Clean, well-designed themes (light and dark). The dark default is easy on the eyes during long sessions.

  • Material Icon Theme — File icon theme that makes it easy to distinguish file types at a glance. Small quality-of-life improvement.

Git and GitHub

  • GitHub Pull Requests — Review PRs, check out branches, and leave comments without leaving VS Code. Particularly useful when you need to read code carefully.

  • Git Graph — Visualizes your git history as a graph. Much faster than running git log --graph in the terminal.

Settings Worth Configuring

Add these to your settings.json for a better experience:

{
  "editor.formatOnSave": true,
  "editor.minimap.enabled": false,
  "editor.bracketPairColorization.enabled": true,
  "editor.guides.bracketPairs": true,
  "editor.inlineSuggest.enabled": true,
  "files.autoSave": "afterDelay",
  "terminal.integrated.defaultProfile.osx": "zsh"
}

The best extension setup is minimal. Every extension adds load time and potential conflicts. Install what you actually use, disable what you don’t, and keep your editor fast.