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

Add an option to prevent side panel from opening #105270

Closed
rgarrigue opened this issue Aug 24, 2020 · 58 comments · Fixed by #205225
Closed

Add an option to prevent side panel from opening #105270

rgarrigue opened this issue Aug 24, 2020 · 58 comments · Fixed by #205225
Assignees
Labels
feature-request Request for new features or functionality insiders-released Patch has been released in VS Code Insiders output Output channel system issues verification-needed Verification of issue is requested verified Verification succeeded
Milestone

Comments

@rgarrigue
Copy link

I've this kind of messages that keep popping up the side panel

image

I guess it's a linter or whatever having small issues. There are multiples culprit, here it's "YAML Support", but I saw other ones. My issue is, I don't give a damn, and it's taking space, and popping up again and again if I close it. So far I could only stick it to the bottom and reduce it to the smallest size before closing... but now and then I like to open an integrated terminal, which lives in the same panel. Then the focus keep being stolen by those same messages.

So I'ld like a VS way to get rid of those. Asking plugin by plugin will never work, even if I knew where to report about those.

@sbatten sbatten assigned sandy081 and unassigned sbatten Oct 20, 2020
@sbatten
Copy link
Member

sbatten commented Oct 20, 2020

request makes sense but really extensions should not aggressively show the channel. a setting would help the user now but any extensions behaving responsibly may not be able to reliably convey info.

@shankara-n
Copy link

Issue seems to be closed now but I can't find any setting to disable the output window from showing up

@StringEpsilon
Copy link

StringEpsilon commented Oct 7, 2023

I would really like to know why this was closed as "out of scope". The reasoning provided by @sbatten seems incomplete to me. If extension authors should not re-open the panel anyway, why not give the users more control over the panels. What exactly is at risk of breaking, and why is a badly designed extension breaking more important than the overall user experience?

The only reason I use the Panel is the terminal. I sometimes look at the "Output" Panel for triaging an issue I am having but every single time an extension has opened the output panel it was to the immediate detriment of my experience while providing absolutely no positive value in return. To the point that whenever the Output panel opens itself I immediately dismiss it again without looking at the contents - because it is never relevant or informative.

Also worth noting that all the extensions I have had this displeasure with are authored by Microsoft.

@JRodez
Copy link

JRodez commented Nov 17, 2023

"out-of-scope" they said...
So I'm going CLion if this kind of annoyance is OK for Microsoft.

@gjsjohnmurray
Copy link
Contributor

@sandy081 please reopen this.

@jstm88
Copy link

jstm88 commented Jan 26, 2024

@sandy081 please reopen this.

I opened #203478 with an extremely thorough explanation on why the issue is still relevant. @sandy081 closed it too, and appears to also be the one closing many of the others.

@sandy081 Do you have some sort of a vendetta against this specific feature? You've been closing these as duplicates even though it's very clear that the issue is not resolved. Users are trying to make their voice heard and you're almost single-handedly shutting down the discussions.

@jstm88
Copy link

jstm88 commented Jan 26, 2024

The first time this issue was reported (that I can find) was #33262 from August 2017. Over 6 years ago.

The fact that one was (incorrectly) closed has been used as a justification to close every other ticket addressing the problem, even though it has still not been resolved.

@jstm88
Copy link

jstm88 commented Jan 30, 2024

So I guess that's it then?

Multiple people point out a major issue, write up detailed reports, and suggest good solutions, and one person can just come along and just shut down the report because of a failure to understand the issue?

And then that person just ignores all requests to reopen the ticket for multiple days, despite closing it instantly and without any sort of review?

You know, I really thought VS Code was better than that. But now the Microsoft-ness is coming through loud and clear.

@gjsjohnmurray
Copy link
Contributor

Is #199946 going to mitigate this by allowing Output to be detached into its own window?

@jstm88
Copy link

jstm88 commented Jan 30, 2024

@gjsjohnmurray No. That just shifts the problem elsewhere, and making an entire window pop up constantly would be even worse.

The issue is plugins being able to force the output panel to open. Many of them abuse (or misuse) the API to dump output constantly that is not useful. It's been said that the fault is with those plugins (and that's technically true) but in that way it's just like pop-up windows on the internet. We added pop-up blockers because they were so annoying. VS Code effectively needs the same thing for its own "pop-up output window" nuisance.

The argument has been made that "the output is important so we must allow it" - to which I say who are you to decide what the user wants? That's an insult to the users, who generally do, in fact, know better than Microsoft how they want their editor configured.

@gjsjohnmurray
Copy link
Contributor

gjsjohnmurray commented Jan 31, 2024

allowing Output to be detached into its own window?

Actually I misinterpreted what the referenced change does. It merely opens a static live copy of the output channel's contents. The ability to detach the entire Output view into its own window isn't with us yet.

@jstm88
Copy link

jstm88 commented Feb 1, 2024

Still calling on @sandy081 (who closed this and then just completely abandoned us) to reopen one of these tickets.

The issue still exists.
It happens dozens of times per day.
It is not possible to fix it any other way.

@gjsjohnmurray
Copy link
Contributor

It is not possible to fix it any other way.

@jstm88 which of your installed extension is/are causing this? Have you raised issues with the extension author(s)? Or considered not using the extension(s)?

Somewhat ironic that your frequent comments on multiple issues are starting to feel to me like the kind of unwanted "spam" you're apparently getting from extensions you choose to install.

@jstm88
Copy link

jstm88 commented Feb 1, 2024

@gjsjohnmurray There are multiple extensions that do this. One of the most common (and the worst offender on my setup) is Microsoft's own C extension.

The argument that we shouldn't do anything is flawed, and it's frustrating that a very small number of developers are using it as a weapon against users to shut down discussion.

I completely understand that, yes, this is technically the extensions' fault. However, with thousands of extensions and who knows how many of them misusing the API, it is absolutely hopeless to get everyone to fix every extension.

That's why we absolutely need an option to prevent focus-stealing on the Output window. There is no other way to fix this problem. I outline in my ticket how this could be done as a per-extension setting, which would allow the user to have control over which of these extensions are allowed to interrupt workflow. A global option would just be easier to implement.

@JonKrone
Copy link

JonKrone commented Aug 29, 2024

Could you please provide more details on which extensions you have encountered this problem with? I am aware of this being an issue with the C++ extension (as noted in microsoft/vscode-cpptools#7234). Are there other extensions experiencing the same issue?

To add on to StringEpsilon's list, the Salesforce CLI Integration also focuses the Output channel when you use its various right-click menu menu actions in the file explorer such as Deploy This Source to Org which pushes that file to your Salesforce Org. It does this even for simple success messages.

I appreciate that the extension's UX is largely the responsibility of the extension authors, but as I am effectively forced to use this extension to work in that ecosystem I also want to have control of behavior that's so impactful to my experience of using VSCode itself. I'd love a setting for this.

@benibenj
Copy link
Contributor

benibenj commented Aug 29, 2024

Thanks for all your input! I think combining this with the Do not Disturb mode would make sense and so would not require adding a separate setting. It would also allow disabling the behaviour just for a specific set of extensions.

@gjsjohnmurray
Copy link
Contributor

@benibenj I can see some sense in combining this with Do Not Disturb, but I don't think everyone who's interested in this issue (Panel appearing suddenly because extension forces its output channel to display) will want to set Do Not Disturb (i.e. suppress all non-error notifications) for an extension as the only way of suppressing Panel-popup.

Related - the only doc references I've been able to find for Do Not Disturb are in release notes:

Perhaps its also time this feature got into the regular doc.

@StringEpsilon
Copy link

StringEpsilon commented Sep 2, 2024

I would agree. Ideally I would just set a setting once and never ever be bothered again by any extension. But having a way of dealing with individual bad extensions would definitely a huge wine.

That is, if setting the extension to do not disturb does not get rid of all toast notifications. While I don't like those either, they are not nearly as disruptive and more often than not actually informative. Having less information because I don't want to get ripped out of my terminal is not quite optimal.

@nonoash
Copy link

nonoash commented Sep 21, 2024

I'm facing a problem where this option would solve it.
When using code runner extension and having the output opened in a new window (instead of a tab in vscode panel) whenever i run a script it will automatically open the output tab on top of my output window.
Which gives me 2 mirrored outputs and kind of ruins the purpose and goal of opening output as external window

edit: i've opened an issue on extensions repo too:
formulahendry/vscode-code-runner#1177

@gjsjohnmurray
Copy link
Contributor

@benibenj any more thoughts on this? I'm willing improve my PR if it's deemed to need changes, e.g. greater configurability.

@benibenj
Copy link
Contributor

benibenj commented Oct 4, 2024

We are not 100% sure yet how this should work. We are currently thinking it could behave the same way notification does. This would mean:

  • enable/disable per extension
  • not having a setting for this but storing in storage
  • have a UI action to see the toggles
  • block the reveal on the API level

Currently we are thinking not to have a global toggle but just per extension (no action like do not disturb for notifications)

Let me know if you have any thoughts about this approach. I still need to discuss this with @bpasero. Let me get back to you next week. Please ping me if I forget.

Edit:
Will take one more week to get back, due to limit availability this week, apologies.

@StringEpsilon
Copy link

StringEpsilon commented Oct 4, 2024

@benibenj

enable/disable per extension

See #105270 (comment)

not having a setting for this but storing in storage
have a UI action to see the toggles
block the reveal on the API level

I'd much prefer a general solution that keeps my desired bottom panel afixed than one where I have to chase down every offending extension and check how I can disable the behavior. For instance sometimes I have to disable the extra terminal and the opening of the Debug Panel for debugging because they obstruct my workflow. I know how to do that, but it is a little annoying. If I could tell VS Code just to keep the most important panel for more than half of my work in place and in focus, that would be better than having half a dozen individual ways to keep it where I want it.

At the very least, I'd prefer If I don't have to remember to check every single extension I install and make sure to add it to the "no output panel" list.

@sbatten sbatten assigned benibenj and unassigned sbatten Oct 11, 2024
@benibenj
Copy link
Contributor

Ok, lets start off with a single setting for the ouput channel, similar to what is suggested in the PR #205225;

@vs-code-engineering vs-code-engineering bot added the unreleased Patch has not yet been released in VS Code Insiders label Nov 29, 2024
@vs-code-engineering vs-code-engineering bot added insiders-released Patch has been released in VS Code Insiders and removed unreleased Patch has not yet been released in VS Code Insiders labels Dec 2, 2024
@gjsjohnmurray
Copy link
Contributor

The new workbench.view.showQuietly setting is now available in today's Insiders.

@benibenj benibenj modified the milestones: Backlog, November 2024 Dec 3, 2024
@benibenj benibenj added the verification-needed Verification of issue is requested label Dec 3, 2024
@benibenj
Copy link
Contributor

benibenj commented Dec 3, 2024

Verification steps: #205225 (comment)

@alexr00
Copy link
Member

alexr00 commented Dec 3, 2024

Verified, but that status bar indicator is very subtle.

@alexr00 alexr00 added the verified Verification succeeded label Dec 3, 2024
@jstm88
Copy link

jstm88 commented Dec 5, 2024

Verified, but that status bar indicator is very subtle.

When I see “but…” and “…very subtle” together, that tells me it’s done right. 😁

The editor’s job is to get out of my way so I can code. The amount of bloat (especially with the AI fad) is insane, so everything we can do to hide/remove the cruft is a major win.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request Request for new features or functionality insiders-released Patch has been released in VS Code Insiders output Output channel system issues verification-needed Verification of issue is requested verified Verification succeeded
Projects
None yet