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 name of "Jump to Cursor" command #9875

Closed
luabud opened this issue Feb 3, 2020 · 7 comments
Closed

Improve name of "Jump to Cursor" command #9875

luabud opened this issue Feb 3, 2020 · 7 comments
Labels
area-debugging feature-request Request for new features or functionality

Comments

@luabud
Copy link
Member

luabud commented Feb 3, 2020

Option 1) "Jump to Cursor" doesn't make it clear that you can jump backward in your code. If we add "(forward or backward)" next to "Jump to Cursor", we may enhance discoverability of this awesome feature 😊

Option 2) Rename it to "Set Next Statement" for consistency with VS and other extensions (see #9947 (comment)).

@luabud luabud added feature-request Request for new features or functionality triage-needed Needs assignment to the proper sub-team area-debugging good first issue needs PR and removed triage-needed Needs assignment to the proper sub-team labels Feb 3, 2020
@luabud luabud changed the title Add "forward or backward" between parenthesis next to "Jump to Cursor" Add "forward or backward" next to "Jump to Cursor" Feb 3, 2020
@greazer
Copy link
Member

greazer commented Feb 4, 2020

I have to disagree with adding "forward" or "backward". IMO, adding these descriptors doesn't help remove the implication that the command is doing more than setting the current instruction pointer to a different place. It implies that code will either be executed up to the cursor (i.e. run to cursor) or reversed (the functionality Karthik said in the demo that is is planned but really hard).

Instead, if we truly have total control over what this command is called, I would highly recommend using the same verbiage that Visual Studio uses for this scenario: "Set next statement".

BTW, this is a command I REALLY miss when debugging Typescript. If I was debugging Python more, I would think the same thing.

I added the type-bug flag, as I think this is something that should be addressed before we release for the first time and is different than an ehancement. :) :) :)

@greazer greazer added the bug Issue identified by VS Code Team member as probable bug label Feb 4, 2020
@luabud
Copy link
Member Author

luabud commented Feb 4, 2020

@greazer I understand the concern. The reason why I wasn't so worried about that is because this feature is not widely known nor used, so I didn't think it would cause any bad reactions/implications.

But you did raise a good point, so I'm flipping "needs PR" to "needs decision", so I can talk to the team about this and discuss if we want to change it to "Set next statement" instead, or even some other option. And because of that I'm also putting a "type-enhancement" back to keep consistency ("needs decision" is applicable only for "type-enhancement" issues, which we basically consider as feature requests. We usually consider bugs anything that is working differently from the expected and/or designed. Sorry, I know it seems like nitpicking but since we keep track of open issues with type-bug on every sprint planning, I usually try to keep it consistent as much as I can 🙈)

@luabud luabud added needs decision and removed needs PR bug Issue identified by VS Code Team member as probable bug labels Feb 4, 2020
@gramster
Copy link
Member

gramster commented Feb 4, 2020

BTW I see zero value in running the code backward, and I would not waste any time on ever implementing that. How much code is actually valid when run in reverse order?

@gramster
Copy link
Member

gramster commented Feb 4, 2020

This might just be a good thing to test out on some users, in terms of wordsmithing. Options could include "Reset execution to cursor" or "Go to cursor". I think for a lot of people, "Go to" would convey the right meaning because a number of programming languages have goto statements that are effectively doing the same thing.

@greazer
Copy link
Member

greazer commented Feb 4, 2020

Ah, I see. PyCharm calls it Jump To Cursor, so I see how this name could have been derived. However, given that the Visual Studio debugger has been considered the gold standard and crown jewel of Visual Studio for decades, I'm really hesitant to call this command something different than what Visual Studio has used all that time. There's really not much that has changed since this command was first named in VS, and I'm 100% sure that options such as "Jump to cursor" and "Go to cursor" were considered way back then. Heck I may have been part of the conversations. Given the strength of the arguments for the two going options right now, I, personally, don't think we'd really need to user study this.

I would argue strongly against adding "forward" or "backward" as it doesn't mean anything in this context. The user is simply changing the next statement that will be executed.

@gramster, I'm not sure what you're thinking running code backward is implying, but in my head, it means that you can set the process being debugged back to the exact state it was in at some point before. It's often referred to as historical debugging. This can be highly useful, if not the holy grail, in many debugging scenarios. It's the basic idea behind IntelliTrace (C# and other .NET languages) and C++'s. Time Travel Debugging. See https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/time-travel-debugging-overview and https://devblogs.microsoft.com/visualstudio/introducing-time-travel-debugging-for-visual-studio-enterprise-2019. It's a very hard problem to solve and get right, but when it works, it's amazing.

@gramster
Copy link
Member

gramster commented Feb 4, 2020

Ah, I would call that "undoing" rather than "running backward". It depends if you think in space or time :-). I was primed by reading your "executed up to the cursor" to think in space.

The time travel debugging is something I have wanted too, along with visualization a la http://pythontutor.com/

@luabud luabud changed the title Add "forward or backward" next to "Jump to Cursor" Improve name of "Jump to Cursor" command Feb 6, 2020
@luabud
Copy link
Member Author

luabud commented Mar 25, 2020

Closing in favour of microsoft/vscode#92585

@luabud luabud closed this as completed Mar 25, 2020
@ghost ghost removed the needs decision label Mar 25, 2020
@lock lock bot locked as resolved and limited conversation to collaborators Apr 2, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-debugging feature-request Request for new features or functionality
Projects
None yet
Development

No branches or pull requests

3 participants