Skip to content

Migrate Node.js general options to Unified Settings - #2559

Draft
Matteo Prosperi (matteo-prosperi) wants to merge 1 commit into
microsoft:mainfrom
matteo-prosperi:matteo-prosperi-node-general-usx
Draft

Migrate Node.js general options to Unified Settings#2559
Matteo Prosperi (matteo-prosperi) wants to merge 1 commit into
microsoft:mainfrom
matteo-prosperi:matteo-prosperi-node-general-usx

Conversation

@matteo-prosperi

Copy link
Copy Markdown
Member

Issue #

N/A

Bug

The legacy Node.js Tools > General options page is not registered with Visual Studio Unified Settings. Its three string-backed boolean values can also remain stale in the cached DialogPage after an external settings update.

Fix
  • Register WaitOnAbnormalExit, WaitOnNormalExit, and EditAndContinue under debugging.nodejs.general with their existing defaults and localized labels.
  • Use full bidirectional VsUserSettingsRegistry migration for the existing NodejsTools\Options\General\* string values and associate legacy page EF677A38-0953-39C2-A228-2FBE8F8F082E.
  • Refresh unmodified cached values before launch while preserving unsaved direct GeneralOptionsPage mutations used by existing consumers.
  • Package the manifest and registration pkgdef in the Node.js Tools VSIX. The existing generated VS component payload carries that VSIX, so normal Node.js Tools insertion is sufficient; no coordinated VS repository change is required.
Testing
  • 6 focused NodejsGeneralOptionsTests pass.
  • Nodejs.csproj and NodejsToolsVsix.csproj Release builds pass with the installed VS 18 toolchain (GeneratePkgDefFile=false avoids an unrelated local CreatePkgDef dependency-resolution failure).
  • Manifest passes the installed VS 18 registration.schema.json draft-07 schema.
  • Built VSIX contains UnifiedSettings.pkgdef and UnifiedSettings/NodejsGeneralOptions.registration.json at the registered paths.
  • Full NodejsTools.vsmanproj dependency build remains blocked locally by pre-existing TestAdapterImpl VS SDK reference failures; the Node.js Tools component JSON was generated and references the validated VSIX payload.

Register the three legacy general options with full bidirectional string migration, refresh unmodified cached values before launch, and add focused compatibility tests.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
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