flutter - 如何使 VS 代码能够在子项目目录中查找代码以自动完成?
问题描述
我有项目结构
-core_data
-core_domain
-core_ui
-core_launcher
这4个项目的依赖是
core_launcher -> core_ui -> core_domain -> core_data
4 个项目位于同一目录中,我通过 pubspec.yaml 文件将一个项目包含到另一个项目中(例如 core_launcher/pubspec.yaml):
dependencies:
flutter:
sdk: flutter
core_ui:
path: ../core_ui
我对所有项目做同样的事情来建立依赖层次。
core_ui
问题是,当我当前正在编辑某些文件时,我可以从子项目中导入所有文件,core_launcher
但 VSCode 没有看到他父母的任何类(core_domain 和 core_data)。
但是,我可以import 'blah-blah-blah
手动输入,并且 VSCode 会看到此类并且导入效果很好,但是我无法通过按 Alt+Enter 来实现快速导入。所以,我想知道为什么自动完成不适用于继承的库。
有人有同样的问题吗?
解决方案
代码完成将仅显示来自您的直接依赖项的类。这有两个可能的原因:
- 依赖传递依赖不是一个好主意,因为您的依赖可能会删除或更改它们的依赖,而不会认为这是一个重大更改。
- 如果代码完成列出了所有传递依赖项中的所有类,则代码完成列表将很大,并且包括来自您不认识的包的类(因为它们只是其他包依赖项)。这将是一种糟糕的用户体验,并且很容易意外依赖未在您的
pubspec.yaml
.
解决方法是显式列出core_domain
和core_data
在你的pubspec.yaml
,因为如果你的项目正在使用它们中的类,那么它们就是依赖项。
推荐阅读
- javascript - jQuery - 使用本地存储更新和保存更改
- python - 连接到 Web 服务器并请求文档
- jquery - 外部单击后未触发jquery事件
- c# - C# 优化和 dotnet CLI 与 csc
- c++ - 为什么 cout 不能在重载运算符 << 的友元函数中工作,它是一个 istream 运算符
- python-3.x - Pythonic 和更快的方式来声明字典、列表、元组和字符串?
- java - 从 Java 中的消息中选择数字
- tensorflow - 创建 VGG16 时来自 Tensorflow 的警告
- java - 单击打印按钮后是否可以使用 selenium 获取网页的标题?
- html - 搜索框上的字体真棒图标不会出现