【发布时间】:2020-07-09 06:11:23
【问题描述】:
我的 Android Studio 在 Dart 扩展方法的上下文中无法识别 on:
void main() {
print('42'.parseInt());
}
extension NumberParsing on String {
int parseInt() {
return int.parse(this);
}
}
它在它下面显示一条红线,当我将鼠标悬停在上面时,它会显示:Undefined class 'on'.。结果,它也无法识别on 之后的接收者Type,在我的例子中是String。
但是,它仍然可以编译、运行代码并产生预期的结果。所以我想这应该是一个愚蠢的Android Studio编辑器问题,编码时超级烦人。
知道如何解决这个问题吗?
analysis_options.yaml:
include: package:pedantic/analysis_options.1.8.0.yaml
analyzer:
enable-experiment:
- extension-methods
- spread-collections
更多信息:
- Flutter 插件版本:44.0.2
- Dart 插件版本:192.7761
- Android Studio 版本:3.6.1
-
extension的错误在于允许实验。 - 在
try/catch上下文中,我的Android Studio 将on识别为关键字。
【问题讨论】:
-
发布您的
analysis_options.yaml文件-enable-experiment:中有extension-methods吗? -
@pskink 将我的
analysis_options.yaml添加到问题中。 -
您在 pubspec.yaml 中的
environment: sdk:中有什么?">=2.7.0 <3.0.0"? -
@pskink 我在 pubspec.yaml 中的
environment中有sdk: ">=2.1.0 <3.0.0",所以让我将其增加到 2.7.0 并再次检查... -
我尝试了 2.6,它也能正常工作,但低于它的任何东西都会显示一些扩展方法的 IDE 错误。 :thumbs-up:
标签: android-studio flutter dart