包的测试中不存在 Flutter 包 URI

Flutter Package URI doesn't exist inside package's test

Flutter 项目 目录中,我使用以下命令创建了一个包:

 flutter create --template=package emoji_support

完成创建包后完成 flutter get.

但是..

Files inisde package's /test directorypackage's /lib directory 中找不到文件 :

import 'package:flutter_test/flutter_test.dart'; 已解决 ✅

但是...

import 'package:emoji_support/emoji_support.dart'; 未解决 ❌

文件结构

我在这里犯了什么错误?

这只是在 vsCode 中添加新的 sub_directories 时出现的问题。 只需一个简单的存在并重新打开即可解决问题。 告诉我是否可以解决问题。

我在项目 flutter_example_file_picker 中使用 flutter create --template=package emoji_support

创建了一个包

然后在工程的pubspec.yaml中(不是插件里面的那个)flutter_example_file_picker > pubspec.yaml我添加的依赖是package

dependencies:
  flutter:
    sdk: flutter
  emoji_support:
    path: ./emoji_support

问题解决了,我可以 运行 测试没有问题,也尝试使用相对路径而不将其添加到依赖项并且也有效

更新

我想我不知道如何在不将其添加到 pubspec 的情况下修复它,在项目中创建插件时,AndroidStudio(或 VS)的 flutter 插件仍在主路由中工作(检查终端目录和它将是 C:/.../Workspace_Android\hundreddaysofflutter> 所以它不会检测到内部插件)并且不会更新以检测新文件夹。即使它是红色的,并说它无法检测到 URI。

你可以忽略它并尝试运行测试,看看它是否检测到内部dart_tool和package_config.json,然后它会运行成功并且问题会消失。第二个选项是移动到插件所在的文件夹(在终端 cd my_plugin_name_folder 或只打开文件并打开插件)。

运行 flutter get pub(它会在第一次创建项目时自动执行,但有时当您在另一个项目中创建一个时它不会执行)到 运行 第一次包并在dart_tool里面创建package_config.json(插件的dart_tool),在文件末尾可以看到包的名称和rootUri,现在就可以使用了在您的测试中,它应该正确检测到它。有时它会生成,但似乎没有正确更新,IDE 不知道它是否存在。