-
Notifications
You must be signed in to change notification settings - Fork 29.7k
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 initial debug / run experience #84677
Comments
I like it. Do we need "You have no launch configurations." text? I suspect the term "launch configurations" doesn't mean anything to many folks, so maybe something that is descriptive of what you can do rather than what you don't have would be more helpful. I don't have a good suggestion for text right at this moment though :) |
Another thing worth mentioning is that "...current file" isn't always accurate. I have a model open and launch the debugger with no config and the express app is correctly launched rather than trying to exec my The language can be much friendlier, something like "Run this app." Can the editor be smart about what's in the workspace? For example, The root
I realize this will get out of control if we try to handle every case so maybe the debuggers can contribute this. They would need to contribute the markers to "announce" they can run something in the current workspace. Doing this may prevent users from ever having the directly deal with launch.json unless they really need to do some custom shenanigans. I don't think that's a goal of ours though so maybe I'm creeping a little. |
Thanks you for your feedback, however we have already discussed both these concers at the UX meeting last week. |
Thanks again for the feedback. Here's a very first rought version of this and I would love to get feedback. This new view I call the start view. So please note:
In case somebody is hot to try it out in action, here's the PR. Also fyi @eamodio @joaomoreno @sana-ajani @roblourens @connor4312 |
FYI @qubitron |
I like it. It would be cool to be able to contribute an action to it too. Something that you might not have seen yet is that with the new node DA, we have the ability to start arbitrary node processes in debug mode more easily, for example it has a "debug terminal" where vscode will attach to any node process started in that terminal. So we need to figure out how to expose that capability, and a button for "start debug terminal" might be cool. |
I have mixed feeling about the
|
Thanks for the feedback. I will improve the text. And for now we will go just with After discussion in the standup we came to the conclusion that it would be nice to make this a contributable menu, and that all extensions can contribute there. We would have to enforce I think it is fine to show these 2 + 1 (debug, run, configure) commom commands for every debugger, and that via these contributable commands every debugger can customise the experience. Another feedback was that even if I have a |
I don't think you even need to say "There are no configured launch configurations", I think it is implied. How about simply |
I wanted to add that the majority of users we see in user studies ignore the side bar and look to the menu items, they gravitate towards text and the menu bar says "Debug". So we should probably take a look at how the menu bar is used as part of this. |
Based on the feedback I have polished the view and this is the state of things now:
@qubitron are the users in your user study first time users? If yes, that would explain why they look at the top menu, since we have noticed that brand new users use the menu bar as a way to explore the product. The menu bar can be renamed, however for now I have just done the action rename 4) I did not rename the top level item for width concerns. For follow up on this can you please create a new issue There were ideas to add text before the buttons as well that would explain the state better. For now I did not add this, to not have too much text and scare of users. However I am open for suggestions. Follow up work for next milestone is #85548 and we should try to get feedback from debug extension authors how they would like to customise this experience. |
I like where this is headed, we should run this through user tests to get feedback. @isidorn to answer your question yes, these are first time users to VS Code. Visually for the Debug menu I think it would look better to have Run be the first item, then followed by Start/Stop/Restart debugging, though I also see why it makes sense for Start Debugging to be first in the list. |
I really like the changes, but I think the view title should be Run and Debug as it feels more natural (because you run and debug -- like in the Also I agree with @qubitron, I think the |
After some great feedback from @weinand we fine tuned the experience (especially for corner cases). Here are some examples:
Feedback is very welcome! |
We can rename the view to be We will not change the order of the menu items to not screw up muscle memory of users who are used to the current ordering. Also keeping the order makes it clear for the user that Run is actually Start Without Debugging from before. |
@isidorn 👍 on both! Maybe for the Run menu option -- call it Run Without Debugging? Also minor, but maybe replace |
Run Wihtout Debugging sounds like it may scare new users. I like the simple Run. But I know @weinand had a similar suggestion Yes! I like the customise wording suggestion. Shorter and cleaner. |
Yeah, true. Run is simple and clear. |
I'm not sure I like the * with Python suffix. Part of me likes it as it can be helpful for new users, but how would it work for multi-root folders - where you could have multiple languages? Or just a folder with more than 1 language? What happens if you have a Also maybe the buttons should go along with the menu labels? So Start Debugging and Run? |
Agreed I'm not sure the "with Python" adds much here for the implementation complexity it might bring. I could also see it being confusing "what do you mean with Python? how do I use python to debug something?" |
Just a clarification: Today VS Code does not support generic "Run" functionality! What we currently support is the optional "noDebug" attribute of launch configurations: If a debug adapter supports this hint, it will launch the debuggee but disables debugging. VS Code does not know whether a debug adapter obeys the "noDebug" hint. So the VS Code debug UI will switch to debug mode and show a debug toolbar in any case. With these details in mind, I'm a bit reluctant to make "Run" a prominent first-class-citizen in the VS Code UI. Today you never know whether "Run"
I suggest to treat "Run" more as a variant of "Debug". That's the reason why I prefer "Run without debugging". Before we can make "Run" a prominent first-class-citizen, we need to improve the extension API/Debug Adapter Protocol so that a debug extension can clearly state that a "real Run" is supported. In this case we should consider to make VS Code show a different UI, e.g. one without a debug toolbar. /cc @isidorn |
This makes perfect sense. As a follow up item to improve the run experience I have created #85759 And I agree, for now let's go with the safer "Run Without Debug". @qubitron @eamodio for now we are not showing this view if you have a Thanks all for feedback! |
Currently setting up debugging is not an easy task for new users. Due to that we decided to create this issue where we can discuss how to make it easier for users to start debugging / running their programs.
A first proposal:
These "buttons" could cover these use cases:
While showing the button UI we would not show the launch config drop down and the gear icon (because this duplication would be confusing).
fyi @chrisdias @misolori @fiveisprime
The text was updated successfully, but these errors were encountered: