Skip to content

Comments

Add vs info to settings#14169

Open
andysterland wants to merge 21 commits intomicrosoft:masterfrom
andysterland:addVSInfoToSettings
Open

Add vs info to settings#14169
andysterland wants to merge 21 commits intomicrosoft:masterfrom
andysterland:addVSInfoToSettings

Conversation

@andysterland
Copy link
Member

Summary of the Pull Request

Adding a page to first run experience for Visual Studio integration.

image

PR Checklist

Detailed Description of the Pull Request / Additional comments

Added a new page for Visual Studio, the implementation is a copy of the VSCode page.

Validation Steps Performed

Ran wslsettings app and tested experience
Ran test.bat

Copy link
Collaborator

@OneBlue OneBlue left a comment

Choose a reason for hiding this comment

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

Change LGTM. Let's cleanup the diff a bit (undo the unrelated spaces / line ending changes) and I think we can merge it as long as @craigloewen-msft is OK with this

@andysterland
Copy link
Member Author

Change LGTM. Let's cleanup the diff a bit (undo the unrelated spaces / line ending changes) and I think we can merge it as long as @craigloewen-msft is OK with this

Thanks for looking at the PR, does the clean up include the resources.resw file? I used the resource design in VS and the file is generated and will wipe my changes on build (I assumed).

@andysterland andysterland reopened this Feb 12, 2026
@OneBlue
Copy link
Collaborator

OneBlue commented Feb 12, 2026

Thanks for looking at the PR, does the clean up include the resources.resw file? I used the resource design in VS and the file is generated and will wipe my changes on build (I assumed).

I'd prefer that so we can maintain the history on that file (or format it in a dedicated change). I usually open it with a text editor to avoid adding extra formatting changes

@andysterland
Copy link
Member Author

Thanks for looking at the PR, does the clean up include the resources.resw file? I used the resource design in VS and the file is generated and will wipe my changes on build (I assumed).

I'd prefer that so we can maintain the history on that file (or format it in a dedicated change). I usually open it with a text editor to avoid adding extra formatting changes

Sounds good, Should be tidied up now, and it does look a lot cleaner :).

@andysterland andysterland marked this pull request as ready for review February 12, 2026 23:59
@andysterland andysterland requested a review from a team as a code owner February 12, 2026 23:59
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a new Visual Studio integration page to the wslsettings first-run (OOBE) experience, analogous to the existing VS Code integration page.

Changes:

  • Introduce VSIntegrationPage + VSIntegrationViewModel and wire them into DI + PageService.
  • Add a new OOBE navigation item and protocol navigation route (vsint) to open the page directly.
  • Add localized strings and new image assets for the Visual Studio integration page/icon.

Reviewed changes

Copilot reviewed 9 out of 11 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/windows/wslsettings/Views/OOBE/VSIntegrationPage.xaml.cs Adds code-behind for the new OOBE page and resolves its ViewModel via DI.
src/windows/wslsettings/Views/OOBE/VSIntegrationPage.xaml Defines the new OOBE UI content (text + links) and hero image binding.
src/windows/wslsettings/Views/OOBE/ShellPage.xaml Adds a new NavigationView item for “Visual Studio Integration” in the OOBE sidebar.
src/windows/wslsettings/ViewModels/OOBE/VSIntegrationViewModel.cs New ViewModel type for the VS integration page.
src/windows/wslsettings/Services/PageService.cs Registers the ViewModel→Page mapping for navigation.
src/windows/wslsettings/CMakeLists.txt Ensures new assets and new page/viewmodel files are included in the build.
src/windows/wslsettings/App.xaml.cs Registers the new page + ViewModel with the service container.
src/windows/wslsettings/Activation/ProtocolActivationHandler.cs Adds protocol route vsint to navigate directly to the new OOBE page.
localization/strings/en-US/Resources.resw Adds localized strings + URLs for the page and navigation item.
Images/SettingsOOBEVSIcon.png Adds the Visual Studio icon used in the OOBE navigation list.

Comment on lines 21 to 32
@@ -28,6 +29,7 @@ file(CREATE_LINK ${CMAKE_SOURCE_DIR}/images/SettingsOOBEGPUAcceleration.gif ${BI
file(CREATE_LINK ${CMAKE_SOURCE_DIR}/images/SettingsOOBEGUIApps.png ${BIN}/${TargetApp}/Assets/SettingsOOBEGUIApps.png)
file(CREATE_LINK ${CMAKE_SOURCE_DIR}/images/SettingsOOBENetworkingIntegration.png ${BIN}/${TargetApp}/Assets/SettingsOOBENetworkingIntegration.png)
file(CREATE_LINK ${CMAKE_SOURCE_DIR}/images/SettingsOOBEVSCodeIntegration.png ${BIN}/${TargetApp}/Assets/SettingsOOBEVSCodeIntegration.png)
file(CREATE_LINK ${CMAKE_SOURCE_DIR}/images/SettingsOOBEVSIntegration.png ${BIN}/${TargetApp}/Assets/SettingsOOBEVSIntegration.png)
Copy link

Copilot AI Feb 13, 2026

Choose a reason for hiding this comment

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

The new file(CREATE_LINK ...) entries reference ${CMAKE_SOURCE_DIR}/images/..., but this repo’s assets folder is Images/ (capital I) and there is no images/ directory in a case-sensitive filesystem. If we ever build/configure this target in a case-sensitive checkout, these links will fail; consider aligning the casing (ideally via a shared variable) while touching this section.

See below for a potential fix:

set(WSLSETTINGS_IMAGES_DIR ${CMAKE_SOURCE_DIR}/Images)

# Symlink the icon in the output directory to make local development easier
file(CREATE_LINK ${WSLSETTINGS_IMAGES_DIR}/wsl.ico ${BIN}/${TargetApp}/Assets/wsl.ico)
file(CREATE_LINK ${WSLSETTINGS_IMAGES_DIR}/wslbw.ico ${BIN}/${TargetApp}/Assets/wslbw.ico)
file(CREATE_LINK ${WSLSETTINGS_IMAGES_DIR}/SettingsOOBEDockerIcon.png ${BIN}/${TargetApp}/Assets/SettingsOOBEDockerIcon.png)
file(CREATE_LINK ${WSLSETTINGS_IMAGES_DIR}/SettingsOOBEFileExplorerIcon.png ${BIN}/${TargetApp}/Assets/SettingsOOBEFileExplorerIcon.png)
file(CREATE_LINK ${WSLSETTINGS_IMAGES_DIR}/SettingsOOBEVSCodeIcon.png ${BIN}/${TargetApp}/Assets/SettingsOOBEVSCodeIcon.png)
file(CREATE_LINK ${WSLSETTINGS_IMAGES_DIR}/SettingsOOBEVSIcon.png ${BIN}/${TargetApp}/Assets/SettingsOOBEVSIcon.png)

file(CREATE_LINK ${WSLSETTINGS_IMAGES_DIR}/SettingsOOBECrossOSFileAccess.gif ${BIN}/${TargetApp}/Assets/SettingsOOBECrossOSFileAccess.gif)
file(CREATE_LINK ${WSLSETTINGS_IMAGES_DIR}/SettingsOOBEDistroManagement.png ${BIN}/${TargetApp}/Assets/SettingsOOBEDistroManagement.png)
file(CREATE_LINK ${WSLSETTINGS_IMAGES_DIR}/SettingsOOBEDockerDesktopIntegration.png ${BIN}/${TargetApp}/Assets/SettingsOOBEDockerDesktopIntegration.png)
file(CREATE_LINK ${WSLSETTINGS_IMAGES_DIR}/SettingsOOBEGeneral.png ${BIN}/${TargetApp}/Assets/SettingsOOBEGeneral.png)
file(CREATE_LINK ${WSLSETTINGS_IMAGES_DIR}/SettingsOOBEGPUAcceleration.gif ${BIN}/${TargetApp}/Assets/SettingsOOBEGPUAcceleration.gif)
file(CREATE_LINK ${WSLSETTINGS_IMAGES_DIR}/SettingsOOBEGUIApps.png ${BIN}/${TargetApp}/Assets/SettingsOOBEGUIApps.png)
file(CREATE_LINK ${WSLSETTINGS_IMAGES_DIR}/SettingsOOBENetworkingIntegration.png ${BIN}/${TargetApp}/Assets/SettingsOOBENetworkingIntegration.png)
file(CREATE_LINK ${WSLSETTINGS_IMAGES_DIR}/SettingsOOBEVSCodeIntegration.png ${BIN}/${TargetApp}/Assets/SettingsOOBEVSCodeIntegration.png)
file(CREATE_LINK ${WSLSETTINGS_IMAGES_DIR}/SettingsOOBEVSIntegration.png ${BIN}/${TargetApp}/Assets/SettingsOOBEVSIntegration.png)

Copilot uses AI. Check for mistakes.
Copy link
Member Author

@andysterland andysterland Feb 13, 2026

Choose a reason for hiding this comment

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

Will leave this as-is unless a reviewer would like it to change. My thinking was to copy the pattern elsewhere in the file.

andysterland and others added 2 commits February 12, 2026 16:14
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+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.

3 participants