iwantcoding.com
🔥 Daily 👥 Rooms 🏆 Top Log in Sign up

Profiles

VS Code Profiles let you bundle settings, extensions, keybindings, snippets, and UI state under a named identity, then swap between them. A "Frontend" profile loads React tooling and Tailwind extensions; a "Data" profile loads Jupyter and the Python data extensions. Profiles solve extension overload without uninstalling anything.

Create, export, and import a profile

EXAMPLE
// 1) Create a profile via the Command Palette
//    Ctrl+Shift+P -> 'Profiles: Create Profile...'
//    Name it (e.g. 'Frontend'), choose which categories to copy from current.

// 2) The active profile is shown in the bottom-left gear menu.

// 3) Export the profile to a file (good for team sharing or your dotfiles):
//    'Profiles: Export Profile...' -> writes a .code-profile JSON file.

// Example exported profile (truncated):
{
  "name": "Frontend",
  "settings": {
    "editor.formatOnSave": true,
    "editor.defaultFormatter": "esbenp.prettier-vscode",
    "tailwindCSS.experimental.classRegex": [
      ["cva\\(([^)]*)\\)", "[\"'\`]([^\"'\`]*).*?[\"'\`]"]
    ]
  },
  "extensions": [
    "dbaeumer.vscode-eslint",
    "esbenp.prettier-vscode",
    "bradlc.vscode-tailwindcss",
    "dsznajder.es7-react-js-snippets"
  ],
  "keybindings": [
    { "key": "ctrl+alt+t", "command": "workbench.action.terminal.toggleTerminal" }
  ]
}

// 4) Import on another machine:
//    'Profiles: Import Profile...' -> point at the .code-profile file or a URL.

// 5) Pin a workspace to a profile so opening that folder always uses the right tooling:
//    File -> Preferences -> Profiles -> Show Profile Contents -> "Associated Folders".

Why it matters

The killer feature is the per-workspace association: open the e-commerce repo and VS Code automatically activates the "Frontend" profile, hiding the Python extensions that would otherwise slow startup. That alone usually pays back the setup time within a week.

Tip: Tweak the snippet with Try it Yourself », then sit the quiz at the bottom of the page.

Example

Example
// Profiles bundle settings + keybindings + extensions for a context.
// Useful for switching between Node / Python / writing modes without polluting each other.
Try it Yourself »

Discussion

Loading…