question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Change the "Run and Debug" View's "Play" icon to a "Connect" icon when an Attach Mode Configuration is Selected

See original GitHub issue

Feature Request

Please add a distinct “Connect” button icon for starting "request": "attach"-type debug sessions in the debug view.

Details

Launch” mode debug sessions run (“play”) some script or program when the start. By default, ending such a debug session will also “stop” said script or program. This is very clean and mirrored by the UI:

  • Launch Mode Debug Session Start (Play): Play Launch Mode Session
  • Launch Mode Debug Session Stop: Stop Launch Mode Session

However, an “Attach” mode debug session “connects” to some engine/program/script when it is started. By default, ending such a debug session will “disconnect” from the engine/program/script and allow it to continue. This is very clean but not mirrored by the UI:

  • Attach Mode Debug Session Start (Connect): Play Attach Mode Session
  • Attach Mode Debug Session Disconnect: Disconnect Attach Mode Session

In the “Attach” mode case, there is no paired “Connect” icon to signal to the user that starting this debug session will connect to a host (engine/program/script) and not run something.

The asymmetry can be summed up with this single screenshot: Attach Session Start/Stop

“Play” and “Stop” work well together for a “Launch” mode debug session. A “Connect” icon would better communicate what starting an “Attach” mode debugger actually does.

The current icon list does not have a “connect” icon, but I imagine that it would be pretty straightforward to create one based on the current “disconnect” icon design language.

Important Note

Please note that I am requesting this on behalf of our debugger extension’s users. See below for more.

Background

I am working on a major update to the ExtendScript Debugger extension. ExtendScript is a custom JavaScript-like language developed by Adobe and implemented in several “host applications” (e.g. Photoshop, Illustrator, InDesign, Premiere Pro, etc.). Scripts are run in engines within the host applications in a variety of ways, including:

  • Automatically at startup
  • Specified directly via application menus
  • Via callbacks from custom UIs (e.g. button clicks)
  • Via a properly configured debugger

The new version will support starting debug sessions using both attach and launch configurations to support the myriad operating scenarios. It will also support running a script directly within a target host application+engine from VS Code. This latter feature is implemented via commands and with a status bar button for convenience. This status bar button is accompanied by the $(play) icon.

Many of our pre-release users have expressed confusion about the “Attach” mode debug configurations. When they click the “Play” button to connect to the host they have an expectation that the focused script will actually be run. We consistently have to explain that this is not how “Attach” mode configurations work and suggest that they either try the “Launch” mode configuration or keep their current configuration and use the script evaluation commands/button (which, again, has a “play” icon).

We did not connect the consistent user confusion about the configuration modes until we received the following feedback from an especially insightful user (emphasis mine):

I also figured out what makes the new debugger hard to ‘grok’ for me… I now think that the root cause is the UI. The thing is that the ‘play’ symbol in VSCode… does not mean ‘Run’ or ‘Play’ - it means ‘Connect’. If that symbol were instead something else - like a power plug or so, that would help me remember that [it means] ‘Connect’. And then the ‘Eval in…’ [button] at the bottom - that is where the little triangle should appear.

That way I am connecting to a particular engine in a particular app, and when I click that ‘Eval in…’ [button] I am running a script.

Now that I know how to adjust my thinking, things work a lot better for me, but I reckon that for new users, it would be helpful to change the play symbol into a ‘connect’ symbol and add a ‘play’ symbol to the ‘Eval in…’ bar.

When this user provided this feedback it was as though a light had been turned on - suddenly the constant confusion of users made sense. They see the “Play” button and they think “this will run something”. That is a reasonable assumption. In the case of “Attach” mode configurations, however, that assumption does not hold.

Issue Analytics

  • State:open
  • Created a year ago
  • Reactions:35
  • Comments:28 (12 by maintainers)

github_iconTop GitHub Comments

4reactions
stibinatorcommented, Jun 7, 2022

The status quo is confusing. Confused the crap outta me, for one. Can I suggest something like the unicode U+1F91D handshake character? image

4reactions
VSCodeTriageBotcommented, Jun 6, 2022

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.

Happy Coding!

Read more comments on GitHub >

github_iconTop Results From Across the Web

Create and edit run/debug configurations - Android Developers
When you run, debug, or test your code Android Studio uses a run/debug ... To open the Run/Debug Configurations dialog, select Run >...
Read more >
Debugger Extension - Visual Studio Code
Switch to the Extensions viewlet and click on the gear icon of the Mock Debug extension. Run the "Uninstall" action and then "Reload"...
Read more >
Setting breakpoints to pause your running app
In the Breakpoint navigator, click the Add button (+) in the lower-left corner, and choose Symbolic Breakpoint. Enter the object and symbol in...
Read more >
Run/debug configurations | IntelliJ IDEA Documentation
Select a temporary configuration in the run/debug configuration switcher and then click Save Configuration. Save a temporary run configuration.
Read more >
Working in the Inspector - Unity - Manual
Click the Other button to open an Object Picker window and select an image Asset to assign as an icon. Toggle Debug Mode....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found