Flutter辅助工具插件sidecar的使用

Flutter辅助工具插件sidecar的使用

Sidecar Analyzer

启用IDE中的个性化开发者体验。

Sidecar lint popup

Build Status codecov License: MIT pub package

访问 官方文档网站 获取正在进行的工作教程和核心概念解释。

这是一个实验性的包,预计在正式0.1.0版本发布前会有一些小的变化。然而,Sidecar的核心架构是基于Dart官方的package:analyzer API设计的,因此任何你可能想要尝试的规则包都可以轻松地移植到未来的API上。

概述

动机

Dart lints对于保持代码库整洁非常有用,但是代码分析用例不仅仅局限于官方规则。如果我们可以使用这些相同的工具来为特定的软件包生态系统(例如BloC与Riverpod)或特定应用实施高度定制化的规则,那该有多好呢?

Sidecar的目标是通过允许快速、简便地访问现代IDE的核心lint和代码辅助工具,从而实现更个性化的开发者体验。

特性

Lint Rules IDE CLI Debug
Lint消息
定义默认严重性
应用快速修复建议 🚧 🚧
(IDE) 规则文档URL链接 🚫 🚫
(CLI) 替换输出格式 🚫 🚧
忽略语句
CodeEdit Rules IDE CLI Debug
快速辅助规则 🚧
重构(重命名、提取等)
代码补全
规则配置(sidecar.yaml) IDE CLI Debug
明确启用/禁用规则
(Lint) 覆盖默认严重性
规则级别包含/排除通配符 🚧
包级别包含/排除通配符 🚧
项目级别包含/排除通配符 🚧
可自定义的规则配置
多导入继承
环境支持 MacOS Linux Windows

使用

请参阅以下指南了解如何创建和使用Sidecar包。

示例Sidecar规则包

要探索如何创建规则包或使用它们来处理你的代码库,请查看以下规则包:

安装CLI工具

一些Sidecar任务通过CLI工具更容易完成。要安装CLI工具,只需运行:

dart pub global activate sidecar

故障排除

贡献

在这个开发阶段,非常欢迎提出建议或功能请求,以便尽可能多地考虑各种开发用例。鼓励大家联系或针对Sidecar仓库打开一个GitHub问题。


示例代码

example/example.md

Getting Started

Sidecar CLI

一些任务通过CLI工具更容易完成。要安装,只需运行:

dart pub global activate sidecar

Using Sidecar in Server mode

为了使Sidecar能够在IDE中显示lints和代码动作,请执行以下设置步骤:

  1. 依赖任何sidecar lint包,例如design_system_lints
dev_dependencies:
  design_system_lints: ^0.1.0-dev.1
  1. 在项目的根目录下创建一个sidecar.yaml文件,并声明来自lint包的所有或部分规则。
# sidecar.yaml
# 这个文件也可以通过cli: 'sidecar init'创建
includes:
  - "bin/**.dart"
  - "lib/**.dart"
lints:
  design_system_lints:
    rules:
      avoid_sized_box_height_width_literals:
      avoid_text_style_literal:
      avoid_border_radius_literal:
      avoid_box_shadow_literal:
      avoid_edge_insets_literal:
  1. 通过将它添加到analysis_options.yaml中的插件列表来启用sidecar插件。
analyzer:
  plugins:
    - sidecar

启动几秒钟后(可能需要重启IDE),lints应该开始出现在编辑器中。


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

1 回复

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


Sidecar 是一个强大的 Flutter 辅助工具,它可以帮助你在 Flutter 开发中提升效率,简化调试过程,并提供一些额外的功能支持。以下是对 Sidecar 的使用指南和一些常见功能的介绍。


1. 什么是 Sidecar?

Sidecar 是一个 Flutter 插件,旨在为开发者提供额外的工具和功能,例如:

  • 代码生成:自动生成常见的 Flutter 代码结构(如 Widget、Provider、Bloc 等)。
  • 调试辅助:提供更直观的调试信息,比如 Widget 树、状态管理等。
  • 性能优化:帮助检测性能瓶颈,优化 Flutter 应用的运行效率。
  • UI 设计辅助:提供布局预览、样式生成等功能。

2. 安装 Sidecar

可以通过以下步骤安装 Sidecar

  1. pubspec.yaml 中添加依赖:

    dependencies:
      sidecar: ^latest_version
    
  2. 安装依赖: 运行 flutter pub get 来安装 Sidecar。

  3. 导入 Sidecar: 在需要使用 Sidecar 的文件中导入:

    import 'package:sidecar/sidecar.dart';
    

3. 主要功能和使用方法

代码生成

Sidecar 可以帮助你快速生成常见的代码模板。例如:

  • 生成 Widget 模板:

    Sidecar.generateWidgetTemplate('MyWidget');
    

    这将生成一个基本的 StatelessWidgetStatefulWidget 模板。

  • 生成 Provider 或 Bloc 模板:

    Sidecar.generateProviderTemplate('MyProvider');
    

调试辅助

Sidecar 提供了更直观的调试工具,例如:

  • 查看 Widget 树:

    Sidecar.inspectWidgetTree(context);
    

    这将以可视化的方式显示当前的 Widget 树结构。

  • 检查状态管理:

    Sidecar.inspectState(myStateNotifier);
    

    这将显示状态管理对象(如 ProviderBloc)的当前状态。

性能优化

Sidecar 可以帮助你检测性能问题:

  • 性能分析:
    Sidecar.startPerformanceMonitoring();
    
    这将开始监控应用的性能,并生成报告。

UI 设计辅助

Sidecar 提供了 UI 设计相关的工具:

  • 布局预览:

    Sidecar.previewLayout(myWidget);
    

    这将在单独的窗口中预览指定 Widget 的布局。

  • 样式生成:

    Sidecar.generateStyle(colors, typography);
    

    这将根据提供的颜色和字体样式生成一个 TextStyleBoxDecoration


4. 示例代码

以下是一个简单的示例,展示如何使用 Sidecar 的代码生成和调试功能:

import 'package:flutter/material.dart';
import 'package:sidecar/sidecar.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    // 生成一个 Widget 模板
    var myWidget = Sidecar.generateWidgetTemplate('MyCustomWidget');

    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('Sidecar Example')),
        body: Center(
          child: myWidget,
        ),
      ),
    );
  }
}
回到顶部