Skip to content

Remove Legacy VS Options UI: WinForms & WPF View, Models, and Resources #6531

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jul 8, 2025

Conversation

donnie-msft
Copy link
Contributor

@donnie-msft donnie-msft commented Jul 2, 2025

Bug

Fixes: Decommission Legacy VS Options NuGet Settings · Issue #14398 · NuGet/Home
Fixes: Remove copied WatermarkedTextbox styles once keys are available from VS Platform · Issue #12163 · NuGet/Home

Description

Given the following pages have been onboarded to Unified Settings:

By my calculations, the onboarding to Unified Settings has let me remove a net of 2,981 lines of src/ code (ignoring tests) from the NuGet.Client repo. The onboarding PRs added 2,631 lines of src/ code, and this PR removes 5,612 src/ lines.

This PR removes UI and supporting assets such as:

  • All VS Options WinForms UI, controls and implementation
    • Remove <UseWinForms>true</UseWinForms> from NuGet.PackageManagement.UI.csproj
  • All VS Options WPF UI, controls and implementation (Models and some ViewModels).
  • No longer needed supporting controls like CheckedListBoxAccessibleObject for accessibility support
  • OptionsPageBase class.
  • StubGeneralOptionControl and accompanying .pkgdef declaration which was used when both USX & Legacy options were in place.
  • Resource strings which are either moved to the project hosting USX, or the strings are no longer relevant (eg, USX manages the Add/Remove buttons and accompanying strings).
  • The folder which is now empty: src/NuGet.Clients/NuGet.PackageManagement.UI/Options

Refactoring

  • Menu commands will now use NuGet's OptionsPageActivator for menu command handling.
    • For example, Tools -> NuGet Package Manager -> NuGet Package Manager Settings and Package Manager Console's settings icon button.

    • Commented about the relationship between the legacy page GUIDs between USX's registration.json and NuGet's OptionsPageActivator.

PR Checklist

@donnie-msft donnie-msft requested a review from a team as a code owner July 2, 2025 21:49
@donnie-msft donnie-msft requested review from nkolev92 and martinrrm July 2, 2025 21:49

This comment was marked as resolved.

Copy link
Member

@nkolev92 nkolev92 left a comment

Choose a reason for hiding this comment

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

These guids are pretty wild, and so freaking hard to follow, so thanks for the pointers.

But this is mostly code removal so reviewing was doable after I filtered out the removed files.

@donnie-msft
Copy link
Contributor Author

Merging this PR is blocked on failures in the Client CI pipeline that are unrelated to this change. Andy is working on a fix, see #6534

@donnie-msft
Copy link
Contributor Author

The blocking PR just merged, so will rebase this PR now.

@donnie-msft donnie-msft force-pushed the dev-donnie-msft-delLegacyOptions branch from 891b0d5 to 39f3062 Compare July 8, 2025 17:08
@donnie-msft donnie-msft enabled auto-merge (squash) July 8, 2025 17:08
@donnie-msft donnie-msft merged commit 3051c32 into dev Jul 8, 2025
17 of 18 checks passed
@donnie-msft donnie-msft deleted the dev-donnie-msft-delLegacyOptions branch July 8, 2025 19:35
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.

Decommission Legacy VS Options NuGet Settings Remove copied WatermarkedTextbox styles once keys are available from VS Platform
3 participants