Skip to content
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

VS devshell generator should prefer using powershell core if available #11380

Open
LuanVSO opened this issue Sep 30, 2021 · 4 comments
Open

VS devshell generator should prefer using powershell core if available #11380

LuanVSO opened this issue Sep 30, 2021 · 4 comments
Labels
Area-Settings Issues related to settings and customizability, for console or terminal Help Wanted We encourage anyone to jump in on these. Issue-Task It's a feature request, but it doesn't really need a major design. Product-Terminal The new Windows Terminal.
Milestone

Comments

@LuanVSO
Copy link
Contributor

LuanVSO commented Sep 30, 2021

moved from #11326 (comment)

Description of the new feature/enhancement

use pwsh for the devshell command on the visual studio generators

@LuanVSO LuanVSO added the Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. label Sep 30, 2021
@ghost ghost added Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Tag-Fix Doesn't match tag requirements labels Sep 30, 2021
@zadjii-msft
Copy link
Member

Now this one's tricky - we can be sure that powershell.exe is installed. We can't be sure that a version of pwsh.exe is. We'd have to have the Visual Studio generators rely on the same powershell core detection as the powershell core generator. I don't really want to have a hard dependency from one generator on the output of another generator - they should be able to exist independently. We can re-use the code, but let's not plumb the literal Profiles from one generator to the next.

I'm sure @heaths will have thoughts on the matter.

@zadjii-msft zadjii-msft added Area-Settings Issues related to settings and customizability, for console or terminal Help Wanted We encourage anyone to jump in on these. Issue-Task It's a feature request, but it doesn't really need a major design. Product-Terminal The new Windows Terminal. and removed Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. labels Sep 30, 2021
@ghost ghost removed the Needs-Tag-Fix Doesn't match tag requirements label Sep 30, 2021
@zadjii-msft zadjii-msft added this to the Terminal Backlog milestone Sep 30, 2021
@heaths
Copy link
Member

heaths commented Sep 30, 2021

The shortcuts installed by Visual Studio use Windows PowerShell. Some cmdlets on Windows they may rely on e.g. AppX also only work on Windows PowerShell. I don't think it'd be appropriate to assume support for Dev Shell on PowerShell (Core). Users could configure this otherwise, but I don't think Terminal should do so automatically, thus implying support where there is none.

@heaths
Copy link
Member

heaths commented Sep 30, 2021

That said, if we did want to support this - and we'd need to talk with the VC team to be sure that's okay (I'll start an internal thread) - we could refactor out the powershell/pwsh look-up and use that; however, I do worry about the overall startup perf of WT. Perhaps we can cache (statics or whatever) that lookup. So we wouldn't be depending directly on the PowerShell generator, though the brunt of it.

It does raise another issue in my head, though, and perhaps worth of another issue: WT startup perf gets worse with each new generator. Should we have a way to turn them off (do we read the config early enough?) or even run them every X days or something? Or is the thought here (and telemetry to back it up) most people start WT once in a while and just let it run (I do, but that's anecdotal).

@zadjii-msft
Copy link
Member

Should we have a way to turn them off (do we read the config early enough?

We do, disabledProfileSources. They only run when a window is started (or the settings are hot-reloaded)

@DHowett DHowett removed the Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting label Oct 15, 2021
@zadjii-msft zadjii-msft modified the milestones: Terminal Backlog, Backlog Jan 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Settings Issues related to settings and customizability, for console or terminal Help Wanted We encourage anyone to jump in on these. Issue-Task It's a feature request, but it doesn't really need a major design. Product-Terminal The new Windows Terminal.
Projects
None yet
Development

No branches or pull requests

4 participants