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

Improve exception experience #16860

Closed
weinand opened this issue Dec 7, 2016 · 7 comments · Fixed by #20807
Closed

Improve exception experience #16860

weinand opened this issue Dec 7, 2016 · 7 comments · Fixed by #20807
Assignees
Labels
debug Debug viewlet, configurations, breakpoints, adapter issues feature-request Request for new features or functionality
Milestone

Comments

@weinand
Copy link
Contributor

weinand commented Dec 7, 2016

For details see dotnet/vscode-csharp#1007

We could consider to revive the Peek UI.

@weinand weinand added the debug Debug viewlet, configurations, breakpoints, adapter issues label Dec 7, 2016
@weinand weinand added this to the January 2017 milestone Dec 7, 2016
@weinand weinand added the feature-request Request for new features or functionality label Jan 4, 2017
@egamma egamma mentioned this issue Jan 4, 2017
56 tasks
@isidorn
Copy link
Contributor

isidorn commented Jan 19, 2017

Not a fan of using peek UI since showing errors in the peek is the ugliest part of vscode that we have now imho. Another reason that peek UI is not the best for this is because peek has a lot of horizontal space and not a lot of vertical, which is not correct for exceptions which usually want to show a stack trace, e.g

Error
    at Object.<anonymous> (/Users/isidor/Development/w/standup/fib.js:20:8)
    at Module._compile (module.js:556:32)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)
    at Timeout.Module.runMain [as _onTimeout] (module.js:590:10)
    at tryOnTimeout (timers.js:232:11)
    at Timer.listOnTimeout (timers.js:202:5)"

As for the motivation of this I only see the request from the C# exception. Do all the other languages also expect an experience which is similar to Visual Studio?
Yes I see that the exception is not that discoverable when it is not in the users face but it is a tradeoff in the end.

In any case I do not see a rush for doing this in January -> I propose we push it to February and then design this nicely if we decide we want to change something here.

@weinand weinand modified the milestones: February 2017, January 2017 Jan 23, 2017
@weinand
Copy link
Contributor Author

weinand commented Jan 23, 2017

Showing the stacktrace in the peek UI is not necessary because we already have the CALLSTACK view.
What we should show more prominently:

  • the Exception type,
  • if this is an unhandled exception,
  • and the exception message.

Currently:

  • the exception message can only be found by finding $exception in the locals window, which can be confusing to find if one is in a big function
  • the exception type and unhandled/handled status can be found by hovering over the 'PAUSED ON EXCEPTION' text, which is nice, but not all that discoverable.

We'll defer the implementation to February.

@weinand
Copy link
Contributor Author

weinand commented Feb 2, 2017

VS for Mac:

2017-02-02_17-48-49

@kieferrm kieferrm mentioned this issue Feb 6, 2017
38 tasks
@weinand
Copy link
Contributor Author

weinand commented Feb 6, 2017

see microsoft/vscode-debugadapter-node#97 for the corresponding protocol change

@isidorn
Copy link
Contributor

isidorn commented Feb 15, 2017

ping @michelkaporin

@isidorn
Copy link
Contributor

isidorn commented Feb 21, 2017

Closing this since we have an initial exception widget (still needs a bit of ux polish) thanks to @michelkaporin #20807
I suggest to create a new item for March where we can capture on how to make the widget more feature rich.

@weinand
Copy link
Contributor Author

weinand commented Feb 21, 2017

@isidorn @michelkaporin make sure that the hover information available on the CALL STACK view is shown in the peek UI. I'm referring to the bullet item

The exception type and unhandled/handled status can be found by hovering over the 'PAUSED ON EXCEPTION' text, which is nice, but not all that discoverable

from dotnet/vscode-csharp#1007

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
debug Debug viewlet, configurations, breakpoints, adapter issues feature-request Request for new features or functionality
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants