Skip to content

Improve name of "Jump to Cursor" command  #9875

Closed

Description

@luabud

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)).

Activity

  1. changed the title [-]Add "forward or backward" between parenthesis next to "Jump to Cursor"[/-] [+]Add "forward or backward" next to "Jump to Cursor"[/+] on Feb 3, 2020
  2. greazer commented on Feb 4, 2020

    @greazer

    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. :) :) :)

  3. luabud commented on Feb 4, 2020

    @luabud
    MemberAuthor

    Jim Griesmer (@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 🙈)

  4. gramster commented on Feb 4, 2020

    @gramster

    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?

  5. gramster commented on Feb 4, 2020

    @gramster

    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.

  6. greazer commented on Feb 4, 2020

    @greazer

    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.

    Graham Wheeler (@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.

  7. gramster commented on Feb 4, 2020

    @gramster

    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/

  8. changed the title [-]Add "forward or backward" next to "Jump to Cursor"[/-] [+]Improve name of "Jump to Cursor" command [/+] on Feb 6, 2020
  9. luabud commented on Mar 25, 2020

    @luabud
    MemberAuthor

    Closing in favour of microsoft/vscode#92585

  10. locked as resolved and limited conversation to collaborators on Apr 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions