Merge 'feature/podman' into 'main'#1589
Merged
Merged
Conversation
…rn (#1579) * Refactor Docker transport into shared base classes and strategy pattern Extract shared container transport infrastructure to enable additional container runtimes without duplicating Docker code. Key changes: - `ContainerTransportSettingsBase` shared abstract base eliminates duplication in transport settings (exe name, host flag, command format) - `IContainerDiscoveryStrategy` interface with Docker implementation keeps runtime-specific logic out of the ViewModel - `ContainerRuntimeType` enum threaded through port picker -> ConnectionManager -> dialog for future extensibility - XAML bindings changed from static resources to ViewModel properties so labels can vary per runtime No behavioral changes - Docker works exactly as before. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address review feedback: remove unused field, add type check - Remove unused _runtimeType field from ContainerPickerViewModel - Add explicit type check in DockerExecutionManager.CreateExecSettings instead of unsafe cast Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address review: seal classes, use OrdinalIgnoreCase, remove defaults - Seal DockerDiscoveryStrategy, DockerCommandSettings, DockerContainerTransportSettings, DockerExecSettings, DockerCopySettings - Use StringComparison.OrdinalIgnoreCase for Windows check in AssignPlatforms instead of ToTitleCase + Contains - Remove default parameter values for ContainerRuntimeType to force explicit runtime selection by callers Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Hoist CultureInfo allocation outside loop Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add Podman container support for Attach to Process Adds Podman as a container runtime option in the Attach to Process dialog, enabling developers to discover and debug processes inside Podman containers. - New PodmanConnection, PodmanContainerInstance, PodmanDiscoveryStrategy, PodmanExecutionManager, PodmanHelper, PodmanPortPicker, PodmanPortSupplier, and PodmanTransportSettings classes - Renamed DockerContainerInstance to ContainerInstance (shared by both runtimes) - Renamed DockerHostPrefixRegex/DockerHostPrefix to HostPrefixRegex/HostPrefix - Registered Podman port supplier and CLSID in pkgdef files - Added ContainerRuntimeType.Podman enum value - Added Podman case in ContainerPickerViewModel and ConnectionManager NOTE: The Podman port supplier also needs to be registered in vsdbg's VsIntegration.pkgdef for full VS integration. * Address PR comments
gregg-miskelly
approved these changes
Jun 19, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR adds the support for attaching to a podman container with Visual Studio.