Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

VSCode replacing _$ instead of autocomplete

I'm using VSCode for coding with Flutter. Also, I'm using generators for building Json classes automatically with json_serializable library.

But when I'm typing _$ sign to make autocomplete

enter image description here

It replaces to

enter image description here

when I hit Enter or Tab

How to fix this?

like image 938
Sergey Shustikov Avatar asked Jun 14 '21 15:06

Sergey Shustikov


People also ask

How do I get Visual Studio to autocomplete?

The suggestion list of Automatic completion appears as soon as you start typing a new identifier. The suggestion list of Basic completion appears when you press the default Visual Studio IntelliSense shortcut Ctrl+Space . If necessary, you can always return to the Visual Studio's native's IntelliSense.

How to change the last part of a word in autocomplete?

Place cursor in front of the word (or in middle, ex. when I want to change only last part.) Start typing until I got autocomplete I want to use. Press TAB or ENTER. On TAB - Old word is completely replaced by new word. This is especially useful when I update some names, in which beginning of word is the same, but ending is different.

Does VSCode Support tab use case?

Nothing left to delete, everything is replaced. On ENTER - New word is replaced from the start of old word, but right part from the cursor stays on screen. By default VSCode supports only "ENTER" use case. Does it support "TAB" use case?

How do I open multiple VSCode files at once?

Open multiple files from Quick Open. ... .vscode folder. Workspace specific files are in a .vscode folder at the root. ... You can select blocks of text by holding Shift+Alt (Shift+Option on macOS) while you drag your mouse. A separate cursor will be added to the end of each selected line.

How do I get Started with VS Code?

Open the Welcome page to get started with the basics of VS Code. Help > Welcome. In the bottom right of the Welcome page, there is a link to the Interactive playground where you can interactively try out VS Code's features.


Video Answer


1 Answers

I tried to replicate the problem and I concluded this could be an issue related to the current VS Code Intellisense.

I tried calling some functions with an underscore _ or a dollar $ in the name. The Intellisense always suggest the complete function name, but when I confirm, it truncate the name at the $ sign.

I did replicate in the following way:

  1. Define a file .dart with a class
  2. Define a function within the class, named with a dollar sign somewhere (ex. void test$function(){} )
  3. Call that function from somewhere. The Intellisense will provide a suggestion, but if you accept, the result will be truncated at the dollar sign.
class Test {
  Test(this.name, this.email);

  String name;
  String email;

  String test$function() =>'test';
  
}

Trying to call test$function() with autocomplete result in a test().

The problem does not occur in Android Studio.

It doesn't seems to be related or caused by json_serializable.

The underscore doesn't seems to be related to the problem.

I can't provide a fix for this but I did open an issue in VS Code Github here.

EDIT:

It was actually a bug from the Dart sdk. It will be fixed in Dart v2.14

You can read here

like image 141
L. Gangemi Avatar answered Oct 17 '22 03:10

L. Gangemi