You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Migrate C# and Visual Basic options to Unified Settings - #86026
Make Advanced and Code Style options available in Unified Settings without losing existing preferences or live language-service updates.
Preserve legacy profile migration, shared settings, nullable defaults, and localization.
Keep editable Naming rules, symbol specifications, and styles in readable, GUID-free settings.json.
Retain the General preview across inline groups and keep preview scrolling bounded.
This draft requires supporting Visual Studio settings APIs and shell behavior, plus a newer Microsoft.VisualStudio.Settings.Manifest.Build package: the pinned 18.12.1217 validator does not accept the new category properties.
Bring Advanced, Code Style General, Naming, and C# Formatting options
into Unified Settings while preserving legacy migration and runtime
synchronization. Keep naming definitions readable and GUID-free, and
retain live previews across inline Code Style groups.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove obsolete access-key markers from localized option text and keep the existing translations marked as translated.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove the complete parenthesized accelerator suffix from East Asian translations instead of leaving the accelerator letter visible.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Migrates C# and Visual Basic options to Unified Settings while preserving legacy persistence, live updates, localization, previews, and editable naming configuration.
Changes:
Adds Advanced, Code Style, Formatting, and Naming manifests and supporting packages.
Adds bidirectional synchronization with legacy option stores.
Adds migration, validation, preview, localization, and regression tests.
Review findings: The validator package is incompatible with the manifests, Naming initialization can lose concurrent profile imports, and NativeNamingSettingsStore is unused by production.
Reset copied translations to new English placeholders while preserving existing accelerator cleanup.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use full declarative migration for inheritance margin and Remove Unused References, treating legacy null as the enabled default. Retain the custom bridge only for registry logging.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
Existing unresolved findings include an unsupported manifest validator, a Naming synchronization race, and keyboard-accessibility regressions in classic option pages.
Route diagnostic logging through the existing Unified Settings persister and full native registry migration. Remove the redundant Advanced synchronization service, registry watcher, and obsolete compatibility tests.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
Startup synchronization can lose profile imports, naming migration can reuse stale data, and the pinned validator is explicitly incompatible with the new manifests.
…zation
Use one settings package and manifest per language, with lazy Code Style preview providers and shared Naming callback/command registration. Query the component model asynchronously and compose startup MEF services on the thread pool. Update registrations, localization, inventories, and threading regression tests.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Apply consistent two-space formatting to the C#, Visual Basic, and shared Advanced settings manifests without changing values, ordering, migrations, or comments.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace Newtonsoft.Json string conversions in the native settings synchronizer and its test helpers, preserving legacy XML serialization.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Explain pending edits and preservation of unchanged option values without storage jargon.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use Action<Exception> for retry reporting and wire explicit Code Style and Naming reporters while keeping task observers for asynchronous operations. Update retry and cancellation tests to inspect exceptions directly.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
Legacy-profile preservation remains unresolved, and cross-store synchronization requires human validation against the supporting Visual Studio APIs and shell behavior.
Rename the helper and test class, and use Serialize/Deserialize method names throughout without changing the storage representation.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
Migration and preview behavior require end-to-end validation against the supporting Visual Studio APIs, shell behavior, and compatible manifest tooling.
Starting synchronization from the language packages fixes normal editing startup, but this separate settings-package initializer starts only Naming. If the user opens Code Style before the corresponding language package loads, existing legacy preferences have not been copied to the native scalars. Those scalars have no migration callbacks; for example, the field-qualification row can show its registered false/silent defaults instead of a saved true/warning preference. Keep the language-package startup and also ensure Code Style synchronization is initialized for this settings-only path before presenting editable values. Add C# and Visual Basic coverage with legacy customizations and neither language package loaded.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Make Advanced and Code Style options available in Unified Settings without losing existing preferences or live language-service updates.
This draft requires supporting Visual Studio settings APIs and shell behavior, plus a newer Microsoft.VisualStudio.Settings.Manifest.Build package: the pinned 18.12.1217 validator does not accept the new category properties.
Microsoft Reviewers: Open in CodeFlow