Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Nifty Team Settings: Shared Settings for TeamsNew to Visual Studio Code? Get it now.
Nifty Team Settings: Shared Settings for Teams

Nifty Team Settings: Shared Settings for Teams

Nifty

| (0) | Free
Share VS Code settings with your team: a committed base file, per-OS blocks, personal overrides that stay out of git, and a required-extensions check.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Nifty Team Settings

Share VS Code settings with your team: a committed base file, per-OS blocks, personal overrides that stay out of git, and a required-extensions check.

Maintained. No sign-in. No telemetry. Works in VS Code, Cursor, Windsurf, VSCodium and other editors that use Open VSX.

The problem

VS Code has one workspace settings file, .vscode/settings.json. Commit it and everyone fights over it: your font size, their formatter path, Windows vs macOS shells. Don't commit it and new teammates start from nothing. The GitHub issues asking for a fix have thousands of 👍 and have been open for years.

How Nifty Team Settings fixes it

Setting up shared settings for a project, then adding a Windows-only block and required extensions to settings.shared.json; the status bar flags the two that are missing

settings.shared.json with a Windows-only block and required extensions, and the status bar pointing out two that are missing

Where Does Each Setting Come From?: each setting with the file it comes from, the shared one or your own

.vscode/
  settings.shared.json   ← committed: the team's settings
  settings.local.json    ← not committed: yours, overrides shared
  settings.json          ← generated for VS Code (not committed)
  • Shared + local, merged. Put the team's settings in settings.shared.json and commit it. Put yours in settings.local.json. Nifty Team Settings merges them (local wins, objects like files.exclude merge key by key) into settings.json, which VS Code reads as usual.
  • Per-OS blocks. "[os:windows]": { "terminal.integrated.defaultProfile.windows": "Git Bash" } applies only on Windows. Also [os:mac] and [os:linux].
  • Edits land in the right place. Change a setting in the Settings UI (Workspace tab) or in settings.json and it's moved into your settings.local.json automatically, so the next merge keeps it and it never reaches git.
  • Required extensions. List them in the shared file with optional versions: "$requiredExtensions": ["dbaeumer.vscode-eslint@>=3.0.0", "esbenp.prettier-vscode"]. Anyone missing one gets a status bar warning and a one-click install.
  • Easy to adopt. Set Up Shared Settings for This Project turns your current settings.json into the shared file (comments kept), creates your local file and updates .gitignore.
  • Organization policy: point nifty.team-settings.policyUrl at a settings file (https URL or path) and it's applied underneath every project's shared settings, with its own required extensions.
  • See where a setting comes from: shared, local or organization policy.
  • IntelliSense in both files, the same as in settings.json.
  • Works in the browser on vscode.dev and github.dev; an organization policy file given as a local path (rather than a URL) needs the desktop app.

Example settings.shared.json

{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "files.exclude": { "**/dist": true },
  "[os:windows]": { "terminal.integrated.defaultProfile.windows": "Git Bash" },
  "$requiredExtensions": ["esbenp.prettier-vscode", "dbaeumer.vscode-eslint@>=3.0.0"]
}

Commands

Command What it does
Nifty Team Settings: Set Up Shared Settings for This Project Create the shared and local files from today's settings.json
Nifty Team Settings: Sync Settings Now Merge again (happens automatically when files change)
Nifty Team Settings: Open Shared Settings Open settings.shared.json
Nifty Team Settings: Open My Local Settings Open settings.local.json
Nifty Team Settings: Where Does Each Setting Come From? Every setting and the file it comes from
Nifty Team Settings: Check Required Extensions Install anything missing

Settings

Setting Default What it does
nifty.team-settings.policyUrl "" Organization policy file (URL or path)

Install

  • VS Code: search for "Nifty Team Settings" in the Extensions view, or install from the Visual Studio Marketplace.
  • Cursor, Windsurf, VSCodium, Kiro, Antigravity: install from Open VSX.

Privacy

This extension collects no telemetry and needs no account.

More Nifty tools

  • Nifty Settings Sync: Sync via GitHub Gist: Sync settings, keybindings, snippets and extensions between VSCodium, Cursor, Windsurf and VS Code through a private GitHub Gist, with a diff before anything is overwritten. (Open VSX)
  • Nifty Workspace Keybindings: Per-Project Shortcuts: Keybindings per project: put them in .vscode/keybindings.json and they work only in that workspace, shared with your team through Git. Something VS Code doesn't do on its own. (Open VSX)
  • Nifty Beautify: Format HTML in PHP, Blade & Twig: Format HTML inside PHP, Blade, Twig, Jinja, Handlebars, ERB and Liquid templates without breaking the template tags. (Open VSX)
  • Nifty Branches: Clean Up Merged Git Branches: Safely clean up merged, squash-merged, gone and stale git branches, with a preview and one-click restore. (Open VSX)
  • Nifty C# Scratchpad: Run C# Snippets & NuGet: Run C# snippets instantly with NuGet packages and rich Dump() output, a LINQPad-style scratchpad and Polyglot Notebooks replacement. (Open VSX)
  • Nifty C# Templates: New Class, Record & Namespace: New C# class, interface, record, enum, test and controller files with the right namespace, plus namespace syncing. (Open VSX)

See all 56 Nifty tools at https://getnifty.dev

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft