Skip to content

maintenance(ide): sync VS Code extensions + settings so install-profile base is a no-op - #52

Open
abarrows wants to merge 1 commit into
productionfrom
feature/vscode-extension-sync-hygiene
Open

maintenance(ide): sync VS Code extensions + settings so install-profile base is a no-op#52
abarrows wants to merge 1 commit into
productionfrom
feature/vscode-extension-sync-hygiene

Conversation

@abarrows

@abarrows abarrows commented Aug 11, 2026

Copy link
Copy Markdown
Owner

Brings the dotfiles VS Code config in sync with the current machine so ./install-profile base is idempotent (installs and re-links nothing).

Why: VS Code Settings Sync had drifted the machine from the repo (it silently uninstalled eslint + prettier). This makes the repo the single source of truth again.

Extension lists — every entry in extensions_base.txt (what install-profile base installs) is now already-installed, so the install loop is a no-op:

  • Removed 16 uninstalled extensions across the lists (extensions.txt −16, base −2, devops −2, react −2).
  • Dropped GitHub.copilot (now bundled into VS Code) and PKief.material-icon-theme (unused) from extensions_base.txt.

settings.json:

  • Removed debug/trace logging: eslint.debug, prettier.enableDebugLogs, yaml/html/markdown trace, atlascode.outputLevel, dev.containers.logLevel, liveshare.diagnosticLogging, grammarly.debug.
  • Fixed perf-hostile keys: editor.largeFileOptimizations→true, removed diffEditor.maxComputationTime: 0, scm.diffDecorationsIgnoreTrimWhitespace string→boolean.
  • Added typescript.tsserver.watchOptions (FSEvents-on-parent-dir) to cut tsserver open-fd usage; added coverage/build to files.watcherExclude.
  • Added core dev tools (eslint, prettier, stylelint, shell-format) to settingsSync.ignoredExtensions as a safety net.

README: documents that dotfiles (not Settings Sync) owns extensions — with the exact "turn off the Extensions resource in Settings Sync" steps and the 2026-08-11 eslint/prettier incident.

Verification: extensions_base.txt ⊆ installed (gap = 0); ide.yml symlinks already point correctly.

Summary by Sourcery

Align VS Code IDE configuration with the current machine so the base profile install becomes idempotent and the repo is the source of truth for editor setup.

New Features:

  • Document in the IDE README that dotfiles, not VS Code Settings Sync, own extension configuration, including steps to disable extension syncing and a note on the eslint/prettier drift incident.

Enhancements:

  • Update VS Code extension lists (base, main, devops, react) to match the currently installed set, removing unused or uninstalled extensions and dropping Copilot now bundled with VS Code.
  • Adjust VS Code settings to remove excessive debug/trace logging, improve performance-related options, refine file watching behavior, and safeguard core dev tool extensions via settings sync ignore rules.

@abarrows abarrows self-assigned this Aug 11, 2026
@sourcery-ai

sourcery-ai Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Syncs the repo’s VS Code extensions and settings with the current machine so install-profile base becomes idempotent, clarifies ownership of IDE configuration, and removes noisy/perf-hostile settings while adding safety nets around Settings Sync and core dev tools.

File-Level Changes

Change Details Files
Make the base VS Code extension profile fully installed and clean up unused/uninstalled extensions across all extension lists.
  • Updated the base extension list so all entries are already installed on the target machine, making the install loop a no-op.
  • Removed extensions that are no longer installed from the general, devops, and react extension lists to eliminate drift.
  • Dropped legacy or redundant extensions that are now bundled into VS Code or no longer used from the base profile.
engineering/ide/.vscode/extensions.txt
engineering/ide/.vscode/extensions_base.txt
engineering/ide/.vscode/extensions_devops.txt
engineering/ide/.vscode/extensions_react.txt
Rationalize VS Code settings to remove debug/trace noise, fix performance-related options, and add watcher/tsserver tuning plus safety nets for settings sync.
  • Removed various debug and trace logging settings for eslint, prettier, yaml/html/markdown, atlascode, dev containers, Live Share, and Grammarly to cut log noise.
  • Adjusted performance-related settings, including enabling large file optimizations, removing an unbounded diff computation time, and fixing a diff decoration whitespace setting type.
  • Added tsserver watch options to reduce file descriptor usage and expanded file watcher excludes to cover coverage/build directories.
  • Configured settings sync to ignore core dev tool extensions (eslint, prettier, stylelint, shell-format) so they stay managed by dotfiles rather than Settings Sync.
engineering/ide/.vscode/settings.json
Clarify in documentation that dotfiles own the VS Code extension configuration and provide guidance for disabling extension sync and describing a recent drift incident.
  • Updated the README to state that the dotfiles repo is the single source of truth for VS Code extensions, not Settings Sync.
  • Documented the exact steps for turning off the Extensions resource in VS Code Settings Sync.
  • Recorded the 2026-08-11 incident where Settings Sync silently uninstalled eslint and prettier to justify the new process.
engineering/ide/.vscode/README.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant