jh_debug 0.3.8

  • Readme
  • Changelog
  • Example
  • Installing
  • 60

jh_debug #

debug调试器工具,让你的开发更便捷处理bug!简单易用快速上手。 当真机调试时,更友好的捕获错误日志输出。

  • 自动捕获错误及print相关信息,无需复杂配置。
  • 带有全局捕获error回调钩子,可自定义上报错误日志
  • 可自定义组件内调试窗口内按钮事件,更好扩展业务功能,例如:切换不同开发环境接口
  • 内置全局浮动按钮组件

快速入门 #

第一步: #

1、安装插件,然后在main.dart入口处添加如下代码

import 'package:jh_debug/jh_debug.dart';
void main() {
  jhDebugMain(
    appChild: MyApp(),
    debugMode: DebugMode.inConsole, // 错误映射到插件中,纯真机模式可设置成none模式
    errorCallback: (error){}, // 错误回调函数
  );
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      navigatorKey: jhDebug.getNavigatorKey, // 绑定key
    );
  }
}

第二步: #

2、在MaterialApp的home页面中设置init初始化参数

import 'package:jh_debug/jh_debug.dart';

// 初始化,建议在initState阶段执行一次即可
jhDebug.init(
  context: context,
  // 指定默认调试窗口内的一些参数配置
  btnTitle1: '按钮1', // 定义按钮名称
  btnTap1: () {}, // 定义按钮触发事件
  // 自定义独立的tab页面
  customTabTitle: 'tab标题',
  customTabWidget: Container(), // 自定义tab页面的内容
);

jhDebug.init参数介绍

参数类型说明
btnTap1, btnTap2, btnTap3Function弹层底部按钮点击事件
btnTitle1, btnTitle2, btnTitle3String弹层底部按钮标题
tabsInitIndexint弹出窗口时,指定显示tabs页面, 默认每次弹出显示第0个tabs
hideCustomTabbool是否隐藏自定义tabs栏,默认true隐藏
customTabTitleString自定义区域tabs的标题
customTabWidgetWidget自定义区域tabs显示的组件
hideBottombool是否隐藏底部区域块,当为ture隐藏时,bottomWidge自定义底部区域将无效
customBottomWidgeWidget底部区域组件,如果定义此参数默认定义的底部组件不显示
printRecordintprint日志最多记录多少条,默认50条
debugRecordint调试日志最多记录多少条,默认30条

第三步: #

3、调用调试工具,在你需要使用到的页面

jhDebug.showLog(); // 弹出jhDebug调试窗口,可自己指定义绑定到某个按钮事件上
jhDebug.hideLog(); // 隐藏jhDebug调试窗口

jhDebug.showDebugBtn(); // 显示全局浮动按钮,此按钮已内置点击显示出jeDebug调试弹层, 双击隐藏自身按钮, 长按拖动按钮位置
jhDebug.removeDebugBtn(); // 隐藏全局按钮

jhDebug.getGlobalContext(); // 获取全局context

其它相关API

// 手动添加一条print日志
jhDebug.setPrintLog('错误'); 

// 手动添加一条debug调试日志
jhDebug.setDebugLog(
  debugLog: 'debugError错误',
  debugStack: 'stack信息',
);

// 自定义全局key
jhDebug.setGlobalKey = GlobalKey<NavigatorState>();

// 获取全局context
jhDebug.getGlobalContext;

个人博客 www.jonhuu.com

0.3.8 #

清除第三方依赖

0.3.6 #

修复调试日志中切换模式bug

0.3.5 #

  • 弹层窗口新增动画
  • 优化日志底层结构
  • 修复自定义tab页面问题

0.3.3 #

修复样式显示

0.3.2 #

增加部份自定义扩展功能:

  • 新增自定义全局key方法
  • 新增获取全局context方法
  • 新增自定义显示错误页面

0.3.1 #

新增全局key配置

修复bug视图嵌套过深问题

0.3.0 #

浮动按钮拖拽功能

优化部份细节功能

0.2.7 #

手机端debug调试插件

  • 自动捕获错误及print相关信息,无需复杂配置。
  • 可定义组件内调试窗口内
  • 内置自定义按钮事件,更好扩展业务功能,例如:切换不同开发环境接口

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:jh_debug/jh_debug.dart';
import 'TestPage.dart';

import 'DetailsPage.dart';

void main() {
  jhDebugMain(
    appChild: MyApp(),
    debugMode: DebugMode.inConsole,
  );
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    print('main');
    return MaterialApp(
      // home: TestPage(),
      theme: ThemeData.dark(),
      navigatorKey: jhDebug.getNavigatorKey,
      routes: {
        '/': (BuildContext context) => TestPage(),
        '/detailsPage': (BuildContext context) => DetailsPage(),
      },
    );
  }
}

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  jh_debug: ^0.3.8

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:jh_debug/jh_debug.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
19
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
60
Learn more about scoring.

We analyzed this package on Mar 27, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.7.1
  • pana: 0.13.6
  • Flutter: 1.12.13+hotfix.8

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.6.0 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.11 1.14.12
meta 1.1.8
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_test