Flutter命令行工具插件moinsen_cli的使用

Flutter命令行工具插件moinsen_cli的使用

[coverage] style: very_good_analysis License: MIT

生成于 Very Good CLI 🤖

一个强大的CLI工具,帮助你处理Flutter项目。提供了一个gRPC服务器用于执行命令,并提供实时反馈和交互支持。


开始使用 🚀

如果该CLI应用在 pub 上可用,可以通过全局激活来安装:

dart pub global activate moinsen_cli

或者本地激活:

dart pub global activate --source=path <路径到此包>

使用方法

# 启动gRPC服务器(默认端口:50051)
$ moinsen serve

# 在特定端口上启动gRPC服务器
$ moinsen serve --port 50052

# 使用自动生成的安全访问密钥启动服务器
$ moinsen serve --secret

# 使用特定的密钥启动服务器
$ moinsen serve --secret-key your_secret_key

# 启用命令日志记录
$ moinsen serve --log

# 更新CLI到最新版本
$ moinsen update

# 显示CLI版本
$ moinsen --version

# 显示使用帮助
$ moinsen --help

功能特性

  • 支持双向流的gRPC命令服务
  • 具有交互式命令支持(例如处理y/n提示)
  • 安全的服务器访问,支持自动生成或自定义密钥
  • 带有时间戳和执行详细信息的命令日志记录
  • 通过pub.dev自动更新CLI
  • 支持优雅的服务器关闭处理
  • 实时命令执行,带有详细的响应
  • 跨平台支持

命令服务协议

该CLI提供了一个gRPC服务,用于执行命令,具有以下功能:

  • 双向流用于实时命令执行
  • 交互式命令支持(例如处理y/n提示)
  • 响应包括:
    • 命令输出
    • 当前工作目录
    • 时间戳
    • 交互式提示检测
  • 错误处理,包含stderr输出

协议消息

message CommandRequest {
  string session_id = 1;
  string input_data = 2;
  bool is_interactive_answer = 3;
}

message CommandResponse {
  string session_id = 1;
  string output_data = 2;
  bool is_prompt = 3;
  int64 timestamp = 4;      // Unix时间戳(毫秒)
  string current_folder = 5; // 当前工作目录
}

可用命令

serve

启动gRPC服务器以执行命令。

选项:

  • --port, -p:监听的端口(默认:50051)
  • --secret:启用使用自动生成的密钥的安全服务器访问
  • --secret-key:提供特定的密钥用于服务器访问
  • --log:启用命令日志记录到 .moinsen-command-log.json

update

将CLI更新到最新版本。


开发指南

运行测试并查看覆盖率 🧪

要运行所有单元测试,请使用以下命令:

$ dart pub global activate coverage 1.2.0
$ dart test --coverage=coverage
$ dart pub global run coverage:format_coverage --lcov --in=coverage --out=coverage/lcov.info

要查看生成的覆盖率报告,可以使用 lcov

# 生成覆盖率报告
$ genhtml coverage/lcov.info -o coverage/

# 打开覆盖率报告
$ open coverage/index.html

生成协议缓冲区

要从协议缓冲区定义重新生成gRPC代码:

$ protoc --dart_out=grpc:lib/src/generated -Iprotos protos/command.proto

更多关于Flutter命令行工具插件moinsen_cli的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter命令行工具插件moinsen_cli的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


moinsen_cli 是一个用于 Flutter 开发的命令行工具插件,旨在简化和加速 Flutter 项目的开发和维护。它提供了一系列的命令,帮助开发者快速生成代码、管理依赖、执行测试等操作。以下是 moinsen_cli 的基本使用指南。

1. 安装 moinsen_cli

首先,你需要通过 Dart 的包管理工具 pub 来安装 moinsen_cli。在终端中运行以下命令:

dart pub global activate moinsen_cli

安装完成后,你可以通过 moinsen_cli 命令来使用该工具。

2. 常用命令

moinsen_cli 提供了多个命令来帮助你管理 Flutter 项目。以下是一些常用的命令:

2.1 生成代码

moinsen_cli 可以帮助你快速生成常见的 Flutter 代码模板,例如页面、组件、模型等。

生成页面:

moinsen_cli generate page <page_name>

这将生成一个名为 <page_name> 的页面,包括 widgetstateroute 等相关文件。

生成组件:

moinsen_cli generate component <component_name>

这将生成一个名为 <component_name> 的组件。

生成模型:

moinsen_cli generate model <model_name>

这将生成一个名为 <model_name> 的模型类。

2.2 管理依赖

moinsen_cli 提供了便捷的命令来管理项目的依赖。

添加依赖:

moinsen_cli add <dependency_name>

这将自动在 pubspec.yaml 文件中添加指定的依赖。

移除依赖:

moinsen_cli remove <dependency_name>

这将从 pubspec.yaml 文件中移除指定的依赖。

2.3 运行测试

moinsen_cli 可以帮助你快速运行项目的测试。

运行所有测试:

moinsen_cli test

这将运行项目中所有的测试用例。

运行指定测试文件:

moinsen_cli test <test_file_path>

这将运行指定路径的测试文件。

2.4 清理项目

moinsen_cli 提供了清理项目的命令,帮助你删除不必要的文件和缓存。

清理项目:

moinsen_cli clean

这将清理项目中的临时文件和缓存。

3. 其他功能

moinsen_cli 还提供了其他一些功能,例如:

  • 版本管理: 查看当前 moinsen_cli 的版本。
moinsen_cli --version
  • 帮助信息: 查看 moinsen_cli 的所有命令和用法。
moinsen_cli --help

4. 自定义配置

你还可以通过配置文件来定制 moinsen_cli 的行为。在项目根目录下创建一个 .moinsen_cli.yaml 文件,并根据需要进行配置。

# 示例配置
generate:
  page:
    template: custom_page_template.dart
  component:
    template: custom_component_template.dart
回到顶部