Skip to content

Don't hide extension terminal entirely #4096

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

Merged
merged 1 commit into from
Jul 29, 2022
Merged

Conversation

andyleejordan
Copy link
Member

@andyleejordan andyleejordan commented Jul 28, 2022

When showOnStartup is false, we currently completely hide the terminal from the user via an API that essentially backgrounds the terminal. This was in response to a user request, but has caused more problems than it's worth. This PR reverts the behavior so that it simply won't show the terminal pane on startup, but opening it reveals the connected extension terminal.

This resolves #2523 and #3918, and reverts #2437 which was a response to #2434. However, we've decided that behavior is undesirable.

Future work: we're going to flight switching the default of showOnStartup, and add to the upcoming PowerShell Walkthrough a step which shows how to re-enable it.

When `showOnStartup` is false, we currently completely hide the terminal
from the user via an API that essentially backgrounds the terminal. This
was in response to a user request, but has caused more problems than
it's worth. This PR reverts the behavior so that it simply won't show
the terminal pane on startup, but opening it reveals the connected
extension terminal.
@andyleejordan andyleejordan requested a review from a team July 28, 2022 22:10
@ghost ghost added Area-Configuration Area-Extension Terminal Issue-Enhancement A feature request (enhancement). labels Jul 28, 2022
@SeeminglyScience
Copy link
Collaborator

Maybe a third option?

There's definitely some folks who never want to see it and often spam close terminals instead of hiding the pane. No idea how many, maybe it'll just be a vocal few. But I think changing the way this setting currently works will result in another surge or false positive "it doesn't work sometimes" issues.

Mostly just wanted to voice that concern, I'm cool with trying it out in a preview if you still want to.

@SeeminglyScience
Copy link
Collaborator

Future work: we're going to flight switching the default of showOnStartup, and add to the upcoming PowerShell Walkthrough a step which shows how to re-enable it.

We want folks to use the PSIC though. If they don't, F8 stops working properly, intellisense doesn't reflect the context of the terminal they're in, when they start debugging they will all of a sudden be in a different context.

That default makes sense if you're only occasionally using PowerShell but if it's your primary workload that's going to be detrimental.

@andyleejordan
Copy link
Member Author

@SeeminglyScience I'll chat with you virtually, I think there's some crossed wires here.

@andyleejordan
Copy link
Member Author

Sounds like maybe we'll add a "Background Process" option.

Copy link
Collaborator

@SeeminglyScience SeeminglyScience left a comment

Choose a reason for hiding this comment

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

Hittin' approve in case you wanna trial run this in a preview before we make a "as background process" setting

@andyleejordan
Copy link
Member Author

Sounds good, let's trial it.

@wsmelton
Copy link

wsmelton commented Sep 29, 2022

We want folks to use the PSIC though. If they don't, F8 stops working properly, intellisense doesn't reflect the context of the terminal they're in, when they start debugging they will all of a sudden be in a different context.

I know this is a bit dated but I'm confused on this area as I intentionally use Code terminal over integrated just for stability and "it runs the same on my machine". Since it more closely mimics running scripts outside of VS Code. I also had issues with integrated using dbatools module and developing in large workspaces like dbatools.

Either way, F8 and Intellisense worked fine for me using Code terminal when I have that setting set to false. I import a module into the terminal and had full Intellisense of that module with no issues.

@SeeminglyScience
Copy link
Collaborator

I know this is a bit dated but I'm confused on this area as I intentionally use Code terminal over integrated just for stability and "it runs the same on my machine". Since it more closely mimics running scripts outside of VS Code. I also had issues with integrated using dbatools module and developing in large workspaces like dbatools.

A large focus of the extension is to keep the console working the same as an external one. Have you reported the issues you encountered?

Either way, F8 and Intellisense worked fine for me using Code terminal when I have that setting set to false. I import a module into the terminal and had full Intellisense of that module with no issues.

If the module is in your PSModulePath then intellisense will work, but it's not related to the code you executed with F8. We get intellisense only from the Extension terminal, any others will have no effect on intellisense (aside from things like installing a module ofc).

@wsmelton
Copy link

A large focus of the extension is to keep the console working the same as an external one. Have you reported the issues you encountered?

Most of it was known issues way back when, when you loaded modules that had a high number of DLL libraries. This was well before all the rewrite that Andy started working on. If I come across it on latest release I will be sure to submit issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants