-
Notifications
You must be signed in to change notification settings - Fork 29.4k
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
Clear all problems in the 'Problems' pane with a button #66982
Comments
(Experimental duplicate detection) |
Please do NOT close this again @sandy081 (FYI @atishpatel @meshula @pmunin) |
As I mentioned in other issues, this is an issue with those extensions generating problems. They own the lifecycle of problems and they are responsible for clearing them when become stale. Looks like VS Code has to fix this as extensions are not. So here is my proposal:
I am worried to introduce a clear button because this causes repercussions like introducing API changes etc., |
I don't think that will work - for example, my problems are generated from a cmake build running as a task - I wouldn't expect to have to open any files that have compilation errors. If you would prefer not to add a button, or change the API, maybe just adding a command which destroys the problems window and recreates it would be enough? |
Yes. The issue is an issue from the extensions. But, adding this simple feature allows the users to have a much better experience.
The filter probably isn't a great idea. Plus, if you add a filter, there will need to be a way to disable it and it doesn't catch all the cases.
Could you please explain more specifically why introducing a clear button would cause issues? The reason I ask is that there might be a difference between what you are imagining and what we are. With respect 🙏 |
The issue isn't even just about extensions, it is not perfect problem matchers as well (and for some cases, e.g. webpack it isn't even possible to get a PM that works in all cases) -- so having a clear would be a great addition imo. |
I don't agree with this. The lingering errors aren't always about files that have been deleted since the last check. Sometimes the extension doesn't get executed again so the results are stale, etc. etc. Perhaps the clear could be a forced re-run of the extension? I'm not sure if this is a good idea, thoughts? |
If there are "magic" extensions that the Problems pane is expected to interact with in a special way, and "non-magic" operations such as output from linters that are not deeply aware of VSCode architecture that cause the Problems pane to irrevocably and incrementally fill with garbage, perhaps there's a fundamental design problem here, and the "non-magic" operations need to yield be routed to a new, less opinionated panel with a Clear button. |
Clearing problems is not as straight forward as it is. @dbaeumer mentioned why exactly it is here
So, this needs introducing API(s) for changing problems and this has to be adopted by the problems owners. |
I don't understand @sandy081 , the ones we are clearing are the ones we never want to see again; the extension has long forgotten about them, that's why they are getting stuck.
The extension doesn't think anything at this point, the stale items have been forgotten about, the deltas are not reflecting them any more. What's wrong with removing the stale items that the extension isn't maintaining any more?
If the extension is sending deltas, this is actually impossible as new problems will be added to deltas. How could we miss new items? |
@sandy081 A couple of questions:
|
@adam-ah If a clear action is introduced, then it cannot be specific/scoped to stale problems. A stale problem can be anything in the given context. It can be from the deleted file, or from a task which did not update on fixing the problem. My point is that, clear action cannot be half complete and it should work for all problems including those which behave correctly. It means that extensions that are playing well and smart (incremental) should be aware of problems being removed.
It is not just about missing it is also VS Code and extensions will be out of sync. This is not a good design and is error prone.
It is not good to restart an extension to just reset the problems. An extension can be contributing more in addition to problems. This should be called restart extension instead of clear problems 😄 . Anyways restarting a running extension without window reload is not possible due to code loading and unloading. This is a separate topic and let's not deviate. If clear button is needed, it has to be done the right way with API. |
Hahaha 😆 Yeah, it's not an ideal solution, but it's about what I do to solve it currently with "Reload window". :) So, where do we stand? There have been 5 issues opened with multiple people commenting and the proposed filter solution won't work in many cases. What more would it take to decide if a proper solution with an API change should be implemented? Or should we just live with the reload window? |
If clear button is what it is needed, then we need to take the right path. |
Facing this now with Git History plugin. When I view a git history, issues appear in Problem view. And, no way to clear these. A Clear button would be nice. Most IDEs do this. |
A good example of why this is needed - I currently have 5 problems coming from vscode's If vscode can't clear up it's own problems, how can it reasonably expect extensions to do it? |
@Gruntfuggly It is a bug, can you please file a separate issue providing steps to repro. |
I've raised one, but the bug isn't really the issue... |
Any update on this one? |
Right path is to introduce an API for problems removal and let the extensions to adopt to it. As of release, not yet planned. |
Nothing wrong with an API, but it doesn't make sense to not have a Clear button. I think as users we are concerned with practical aspects of usage, i.e. having a window not cluttered with useless junk, rather than semantic correctness on the part of extension authors we have no control over. |
Can't wait for appropriate API to come. For now, I've implemented a whole separate extension to run webpack and show errors in a separate treeview, which is such an overkill... |
I'm confused by this thread. I hear the maintainers saying that this is the extensions' responsibility. But not every problem is created by an extension. I wrote a task by hand in I don't necessarily need a nuclear "Clear all problems" button. I just don't understand how this is supposed to ever work usefully. Can my task make the problems which it itself generated disappear somehow? I'm not seeing a way to. |
I gave up on that useless window, and I'm just running |
why not the terminal pane that can take the same space the problems pane used to take? meme it hard about how unhelpful the dedicated tool is. |
That's only marginally better, if at all. Actually, it is easier to alt-TAB into an external terminal than to navigate the shortcuts (or use the mouse) to get into the built-in terminal, which is a mess on itself. |
@HFTrader FWIW, the default binding to go to the terminal is |
for the past while now i had been wondering if we were all just taking the piss on a thread nobody at microsoft knows exists and was fixed a while ago, because it has not happened in a long time here and this year i've done more coding than the previous. and then today just now for the first time in 2023 the default css tools got a stuck problem in that pane about a semi-colon it was angry about. nothing would make it go away. it wasn't even a line number that existed in the file anymore, as the file got shorter. sigh ctrl+shift+p, "reload" which is a double pain in the arse because im using the remote dev stuff so its a full state wipe and connection reconnect, one being suffered just to sanity check the problems pane against what i think of the file. so now i lost my up arrow history in that terminal from the reload, and like now im really feeling that burn in the tips of the ears right. can we just have a button? |
This isn't stale. But it is 3+ years old.
…On Fri., Dec. 8, 2023, 8:09 p.m. Bob Magic II, ***@***.***> wrote:
for the past while now i had been wondering if we were all just taking the
piss on a thread nobody at microsoft knows exists and was fixed a while
ago, because it has not happened in a long time here and this year i've
done more coding than the previous.
and then today just now for the first time in 2023 the default css tools
got a stuck problem in that pane about a semi-colon it was angry about.
nothing would make it go away. it wasn't even a line number that existed in
the file anymore, as the file got shorter.
*sigh* ctrl+shift+p, "reload"
—
Reply to this email directly, view it on GitHub
<#66982 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAFKHXSL3H5D2WIGYV5VZ4TYIPB5XAVCNFSM4GR2Q642U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOBUHAYDSMBQGM3A>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Its still a problem (pun intended). My knee jerk rxn was that there should be a way to "refresh" the problem pane thus forcing whatever put it/them there to re-evaluate the sitch and not post the problem/s again if they aren't relevant. Nevertheless it isn't gonna fix my "problems" right now and it's holding up progress. |
+1 to the request |
Ha, I just swung by see if there was any resolution for this yet, or if anyone came up with any hacks or workarounds. |
I'm thoroughly amazed at the reaction by vscode developers. I'm surprised UX isn't higher on the list of priorities. |
historically microsoft goes through this sine wave regarding how serious they take the open source stuff it seems like we might be starting a fall from the apex of max ignore. ux being sidelined should not be too surprising looking at the current microsoft library like w11. sometimes i wonder if vscode getting popular was too much of a surprise, since the marketplace is also half baked - only just this week after 7 years they posted a paper about how when you let a user upload a file, you should let them delete that file later. (developers publishing plugins for vscode) |
Lmao, can you link to said paper @bobmagicii? |
microsoft/vsmarketplace#875 this md file they are collabing on. |
+1 to the request. It's infuriating. |
I'm writing some C# Code. There were a lot of problems with a particular file. |
5 years |
It’s a real testament to the care and attention to user experience provided by Microsoft |
Also faced with stuck problems in TS project and "Reload Window" doesn't help at all. 5 years for a simple UX fix, what a shame... |
@MihaelIsaev did you try |
@gjsjohnmurray thank you for the suggestion, unfortunately, restarting the TS server doesn’t seem to resolve the issue either Screen.Recording.2024-09-24.mp4 |
and two weeks... |
Aging like fine cheese |
Searching a while on the internet how to achieve this, found this issue. |
It's the same principle as with companies not being able to integrate a Bitcoin Strategy in their potfolios to increase financial stability. It is a "no-brainer" but yet here we are suffering each day by inflation. |
In #159911 (comment) @aeschli previously proposed that VS Code should leverage LSP support for a "pull" mode of getting Diagnostics from language servers. Entries made in the Problems pane using that mechanism would be owned by VS Code, unlike the ones of the current "push" mode which VS Code treats as belonging to the extension which pushed them, and is therefore not entitled (so to speak) to delete. Even though #159911 has been closed it isn't yet locked, so it's possible to comment there in support of the proposal. |
Please add a button in the
Problems
pane that allows the developer to clear all items in there.Following discussions from #15524, #29169, #66343 and #50448.
Currently we see problems from different sources (linters, tasks, etc) and they sometimes stay there after the problem or the source file is gone, e.g. problems in an unsaved buffer, in files that were renamed, or files removed when we switch Git branches.
More often than not I have a bunch of problems and the only way to clear that pane is to restart the entire editor.
The text was updated successfully, but these errors were encountered: