Skip to content

Code completion for zero-argument functions should position the text cursor after the completion #3873

Closed

Description

@jamesderlin

To Reproduce
Steps to reproduce the behavior:

  1. In VS Code, type: var s = 'HELLO WORLD'.toL. Completion suggests the .toLowerCase() method.
  2. Press Tab.

Result:
VS Code completes .toLowerCase() but positions the text cursor between the parentheses.

Expected behavior
Since the completed method is known to take zero arguments, positioning the text cursor between the parentheses seems pointless. I instead expected the text cursor to be after .toLowerCase(). After completion, I quickly typed ; and the Enter key before realizing what happened, and undoing the damage took additional effort.

I'm not sure if this is something that the Dart extension can do something about or if it's how code completion works in VS Code in general.

Versions (please complete the following information):

  • VS Code version: 1.65.1 on Linux x64
  • Dart extension version: 3.36.0
  • Dart/Flutter SDK version: 2.17.0

Activity

  1. added this to the v3.38.0 milestone on Mar 15, 2022
  2. added
    in editorRelates to code editing or language features
    in lsp/analysis serverSomething to be fixed in the Dart analysis server
    on Mar 15, 2022
  3. DanTup commented on Mar 22, 2022

    @DanTup
    Member

    Yep, this comes from the LSP server. I've got a fix at https://dart-review.googlesource.com/c/sdk/+/238088/.

    Since it's in the LSP Server, it'll show up in an SDK update rather than a VS Code extension update.

    I'll close this once the change lands. Thanks!

  4. DanTup commented on Mar 23, 2022

    @DanTup
    Member
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

    in editorRelates to code editing or language featuresin lsp/analysis serverSomething to be fixed in the Dart analysis serveris bug

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions