VSCode 替换 _$ 而不是自动完成

VSCode replacing _$ instead of autocomplete

我正在使用 VSCode 使用 Flutter 进行编码。 此外,我正在使用生成器自动与 json_serializable 库一起构建 Json 类。

但是当我输入 _$ 符号以进行自动完成时

它取代了

当我按 EnterTab

如何解决这个问题?

我尝试重现该问题,我断定这可能是与当前 VS Code Intellisense 相关的问题。

我尝试调用一些名称中带有下划线 _ 或美元 $ 的函数。 Intellisense 总是建议完整的函数名称,但当我确认时,它会在 $ 符号处截断名称。

我确实通过以下方式进行了复制:

  1. 用 class
  2. 定义一个文件 .dart
  3. 在 class 中定义一个函数,在某处用美元符号命名(例如 void test$function(){} )
  4. 从某处调用该函数。 Intellisense 将提供建议,但如果您接受,结果将在美元符号处被截断。
class Test {
  Test(this.name, this.email);

  String name;
  String email;

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

尝试调用 test$function() 自动完成结果 test()

在 Android Studio 中不会出现此问题。

这似乎与 json_serializable 无关或由

引起。

下划线似乎与问题无关。

我无法为此提供修复,但我确实在 VS Code 中打开了一个问题 Github here

编辑:

其实是Dart sdk的bug。 它将在 Dart v2.14

中修复

你可以阅读here