Flutter增强现实展示插件show_augmentation的使用
Flutter增强现实展示插件show_augmentation的使用
标题
Flutter增强现实展示插件show_augmentation的使用
内容
介绍 一个用于显示由Dart宏生成的增强现实的命令行工具:
dart run show_augmentation --file=relative/path/to/file.dart
通常,您可以在IDE中查看增强现实效果:
但目前只有VSCode支持。它还在实验阶段,有时可能会出现bug。如果您的IDE不支持,请使用此工具。
使用方法
1 1. 切换到Dart 3.5+(当前为实验性功能)。
2. 确保Dart 3.5+在$PATH
之前,而不是任何稳定的Dart位置。
3. 将此包添加到pubspec.yaml
作为dev_dependency:
yaml dev_dependencies: show_augmentation: ^0.1.0-3.dev
4. 运行dart pub get
5. 在终端中运行:
bash dart run show_augmentation --file=relative/path/to/file.dart
如果文件中有宏应用,它将打印增强现实内容;否则什么都不会打印。
示例
此包附带了一个示例文件和宏。要使用此示例,请运行:
cd example
dart run show_augmentation --file=lib/main.dart
输出如下:
augment library 'package:show_augmentation_example/main.dart';
import 'dart:core' as prefix0;
augment class User {
void hello() {prefix0.print('Hello! I am User. I have age, name, username.');}
}
工作原理
大多数IDE中的提示和导航不是来自IDE本身,而是来自Dart语言本身。现代IDE不会自己解析代码。相反,Dart和其他许多语言现在都有所谓的“语言服务器”,这些服务器随它们一起提供。 IDE启动本地的语言服务器,并告诉它分析整个项目并告诉它用户当前正在查看的文件的任何信息:错误、警告、修复建议、“跳转到定义”等。 Language Server Protocol (LSP) 是IDE与服务器之间的通信标准,适用于所有语言。
查看Dart中的增强现实也遵循相同的方式。IDE请求Dart语言服务器显示给定文件的增强现实。这是因为结果与在IDE中查看相同。
此工具使用我的包lsp_client
进行此通信。
示例代码
import 'hello_macro.dart';
[@Hello](/user/Hello)()
class User {
const User({
required this.age,
required this.name,
required this.username,
});
final int? age;
final String name;
final String username;
}
void main() {
const user = User(
age: 5,
name: 'Roger',
username: 'roger1337',
);
user.hello();
}
更多关于Flutter增强现实展示插件show_augmentation的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html