Summary of the new feature
As a PowerShell developer, I generally only like to use powershell.exe since it is the most reliable host. I was told that this is because powershell.exe is a 100% fully implemented host.
As a VS Code user, I accept defaults and thus default to the PowerShell Integrated Console which does not have the same stable behavior as powershell.exe.
I didn't really understand the differences between the two hosts and I noticed other VS Code PowerShell users do not know about the differences, either. I actually just learned about the differences at DataGrillen from @SQLDBAWithABeard.
Rob explained that PowerShell Integrated Console must load first in order for a variety of things to work, so powershell.exe as a total default is not possible.
While VS Code can temporarily start as powershell.exe after powershell.exe is selected, this ability is not persisted between VS Code reloads.
Proposed technical implementation details (optional)
I would like to have an option that I can check that would enable VS Code to automatically switch to powershell.exe after PowerShell Integrated Console has loaded.
You probably want the following setting then:
"powershell.integratedConsole.showOnStartup": false
Which will make sure the PowerShell Integrated Console is started in the background so you still get all the features but without having to use the integrated console.
Keep in mind, a regular powershell.exe is not 'integrated' meaning intellisense and a few other features cannot be made aware of any state changes like setting a variable. However, if that's not really a concern, you can safely apply that setting above :)
That's exactly what I wanted! Thank you Tyler!
Most helpful comment
You probably want the following setting then:
Which will make sure the PowerShell Integrated Console is started in the background so you still get all the features but without having to use the integrated console.
Keep in mind, a regular powershell.exe is not 'integrated' meaning intellisense and a few other features cannot be made aware of any state changes like setting a variable. However, if that's not really a concern, you can safely apply that setting above :)