Skip to content

Migrate Conda options to Unified Settings - #8618

Draft
Matteo Prosperi (matteo-prosperi) wants to merge 1 commit into
microsoft:mainfrom
matteo-prosperi:matteo-prosperi-conda-unified-settings
Draft

Migrate Conda options to Unified Settings#8618
Matteo Prosperi (matteo-prosperi) wants to merge 1 commit into
microsoft:mainfrom
matteo-prosperi:matteo-prosperi-conda-unified-settings

Conversation

@matteo-prosperi

@matteo-prosperi Matteo Prosperi (matteo-prosperi) commented Sep 5, 2026

Copy link
Copy Markdown
Member

Summary

  • register Python Tools > Conda in Visual Studio Unified Settings for Dev18 with the existing option-page GUID
  • persist CustomCondaExecutablePath through the existing PythonTools\Options\Conda writable settings store via a real-time external settings provider
  • keep legacy consumers synchronized bidirectionally while preserving pre-PR Load/Save/Reset notifications, persisted-change ordering, and lazy cache behavior
  • retain pre-Dev18 VSIX packaging without a dangling Unified Settings asset
  • localize all new user-visible strings and add focused provider, persistence, notification, and cache synchronization tests

Validation

  • full Dev18 PythonTools.sln build succeeded with SpectreMitigation=false
  • Dev18 PythonToolsTests.csproj rebuilt after remediation; all 9 focused PythonCondaUnifiedSettingsProviderTests passed
  • authoritative Unified Settings registration tool passed validate --strict for PythonTools.registration.json
  • all 6 manifest resource references resolve to compiled package resources; provider text resolves from the neutral resource assembly, with verified fallback across all supported PTVS cultures
  • generated pkgdef contains the exact legacy page GUID, category moniker, provider service, and settings manifest registration
  • built Core VSIX contains UnifiedSettings/PythonTools.registration.json
  • Dev17 evaluation selects source.extension.legacy.vsixmanifest, which omits only the Dev18 Unified Settings asset

Downstream integration

No separate Visual Studio registration change is required. The PTVS component VSIX carries both the Unified Settings manifest asset and package registration, so downstream Visual Studio only needs the normal updated PTVS component ingestion.

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@matteo-prosperi
Matteo Prosperi (matteo-prosperi) force-pushed the matteo-prosperi-conda-unified-settings branch 2 times, most recently from d7aa6ff to b56ab6f Compare September 9, 2026 23:04
Register the Conda executable path through a live external settings provider while preserving the legacy settings store and cached option consumers. Package the Dev18 manifest, retain legacy VSIX behavior for older targets, and add focused synchronization tests.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@matteo-prosperi
Matteo Prosperi (matteo-prosperi) force-pushed the matteo-prosperi-conda-unified-settings branch from b56ab6f to 5ff21f1 Compare September 10, 2026 16:55
@sonarqubecloud

Copy link
Copy Markdown

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