-
Notifications
You must be signed in to change notification settings - Fork 28.2k
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
Debug setup simplification (user testing) #18098
Comments
Based on what we learned from the studies, I believe that we have the following set of problems that we need to address
Suggested solutions.
I believe that option 1 is currently the best approach, with the addition of perhaps adding the start debugging action to the breakpoint context menu. Choosing a debug environment
We might consider both options. We'd need to consider what the long term effect of this is with respect to users learning about the launch.json file. One way we could address the lack of visibility for the launch.json file would be to write a message in the debug console saying that we are debugging this file based on the settings inside the launch.json. We could have a link in the message that allows the user to change these settings. Choosing a startup file/program
I think overall what we want to do is to add minimal UI that points people towards launch.json so that they learn about how to use it over the long term and in more complex scenarios. If we can automate a lot of the getting started process but at the same time point people towards how to set this up themselves, then we avoid the need for more permanent UI which could ultimately become distracting. Adding @bgashler1 for his thoughts too. |
@stevencl thanks for the nice writeup! I agree that these problems exist Addressing debug viewlet and commands discoverabilityI agree that doing nothing for now is best here. It is always easy to add more stuff (menu items) but a problem comes when we become cluttered and need to remove something.
Choosing a debug environmentFor this we currently have a technical issue that vscode is not aware of what environment debugs what language. Namely, VSCode does not know that our node debugger is interested in .js files. I have an idea on completely leaving this step out. Namely we would generate an empty launch.json which would immediatly go into snippet mode and the user would choose if he wants to add an attach or launch configuration for node / c#. Choosing a startup file/programYes, we could set this by default to be the active editor. And if the user does not like that he can change it in the launch.json I would like to produce a vscode build that does not have 'choose a debug environment' step and has active editor as the default program. After we have a build it would be great to collect another round of feedback. @weinand fyi |
Maybe also interesting is to explore what @chrmarti is doing with a welcome page on first startup for new users. Since he is able to embed the editor into the welcome page, it would imho be cool if you had a little debug toolbar in the welcome page to start debugging and play around with the debugger in a simple sample. |
Good point @chrmarti. We left it out of the study because we know it's a problem but we should make sure we address it. |
Ok - just had a better idea for Debug setup simplificationWe will remove extension development and node2 as the environment options. It will be possible to add both of these using the add configuration button in launch.json. |
The insiders build tomorrow will contain the changes mentioned above
@stevencl it would be cool if we could run another round of 5 participants. fyi @roblourens @weinand I released new versions of your adapters to the marketplace 1.9.2 (since for now I removed the initialConfigurations from extension development and node2 - these adapters can still nicely add snippets, and in the future when we replace node with node2 node2 can again provide initialConfigurations) |
Sounds good, once the build is ready I'll kick off another round of studies. |
After a discussion in the standup we agreed that the "select environment" step is always needed, even when there is only node debug to choose from as we now show the 'More...' option. And not showing anything would worsen the experience a lot for PHP users as an example. Even though we are still showing this step it would be interesting to run these studies as we have simplified it by showing less options and the ${file} should also help. |
Hmm, the select environment step was completely unexpected for the participants in the last study we did. Ultimately, if we absolutely must ask the user for the debug environment, I think we need a better way of asking for this, something that explains why we are asking for this information. Without that motivation we run the risk of people simply ignoring the prompt (as happened in the study). |
After digesting the feedback we got from users here are the updates we have done
I believe these items simplify the initial start debugging experience a lot. We should still invest into how to make users not scared of launch.json and how to make them feel more comfortable in editing a launch.json. This is mostly seen for users that have no experince in JSON. However this should be captured in a seperate issue and this might be a general concern as our settings.json is also a json file. Closing this issue as we have done all that was planned. |
In general try to simplify setting up debug as much as possible.
Also related #285
The text was updated successfully, but these errors were encountered: