VSCode替换了下划线_而不是自动完成

5
我正在使用VSCode编写Flutter代码。同时,我使用生成器自动构建Json类,并使用json_serializable库。但是当我输入_$符号以进行自动完成时

enter image description here

它替换为

enter image description here

当我按下EnterTab键时,该怎么办?
1个回答

5

我尝试复制了这个问题并得出结论,这可能与当前的VS Code Intellisense有关。

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

我按以下方式进行了复制:

  1. 定义一个包含类的文件 .dart
  2. 在类中定义一个带有美元符号的函数(例如 void test$function(){})
  3. 从某个地方调用该函数。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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接