博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Live Template撸码利器
阅读量:2351 次
发布时间:2019-05-10

本文共 3572 字,大约阅读时间需要 11 分钟。

参考:

手动输入代码太辛苦, 拼敲键盘速度? 赶快试用代码补全功能吧。

IntelliJ idea和Android Studio都支持代码自动补全功能, 如上面所示的几个场景。 在工作中可以把常用的代码块总结到模板里, 输入几个字符自动生成代码,从而提高撸码效率;
在这里插入图片描述

例如在创建dart文件后, 文件内容是空的。 这时有代码模块就方便多了, 在文件中输入stateful后点击回车代码就出来了。

import 'package:flutter/material.dart';class $CUSTOMWIDGET$ extends StatefulWidget {  $CUSTOMWIDGET$({Key key, this.title}) : super(key: key);  // This widget is the home page of your application. It is stateful, meaning  // that it has a State object (defined below) that contains fields that affect  // how it looks.  // This class is the configuration for the state. It holds the values (in this  // case the title) provided by the parent (in this case the App widget) and  // used by the build method of the State. Fields in a Widget subclass are  // always marked "final".  final String title;  @override  _$CUSTOMWIDGET$State createState() => new _$CUSTOMWIDGET$State();}class _$CUSTOMWIDGET$State extends State<$CUSTOMWIDGET$> with WidgetsBindingObserver {  AppLifecycleState _lastLifecycleState;    @override  void dispose() {    super.dispose();    WidgetsBinding.instance.removeObserver(this);  }  @override  void didChangeAppLifecycleState(AppLifecycleState state) {    _lastLifecycleState = state;  }  @override  void initState() {    super.initState();    WidgetsBinding.instance.addObserver(this);  }    void _onPressed() {  }  @override  Widget build(BuildContext context) {    // This method is rerun every time setState is called, for instance as done    // by the _incrementCounter method above.    //    // The Flutter framework has been optimized to make rerunning build methods    // fast, so that you can just rebuild anything that needs updating rather    // than having to individually change instances of widgets.    return new Scaffold(      appBar: new AppBar(        // Here we take the value from the MyHomePage object that was created by        // the App.build method, and use it to set our appbar title.        title: new Text(widget.title),      ),      body: new Center(        // Center is a layout widget. It takes a single child and positions it        // in the middle of the parent.        child: new Column(          // Column is also layout widget. It takes a list of children and          // arranges them vertically. By default, it sizes itself to fit its          // children horizontally, and tries to be as tall as its parent.          //          // Invoke "debug paint" (press "p" in the console where you ran          // "flutter run", or select "Toggle Debug Paint" from the Flutter tool          // window in IntelliJ) to see the wireframe for each widget.          //          // Column has various properties to control how it sizes itself and          // how it positions its children. Here we use mainAxisAlignment to          // center the children vertically; the main axis here is the vertical          // axis because Columns are vertical (the cross axis would be          // horizontal).          mainAxisAlignment: MainAxisAlignment.center,          children: 
[ new Text( 'You have pushed the button this many times:', ), new Text( 'test', style: Theme.of(context).textTheme.display1, ), ], ), ), floatingActionButton: new FloatingActionButton( onPressed: _onPressed, tooltip: 'Increment', child: new Icon(Icons.add), ), // This trailing comma makes auto-formatting nicer for build methods. ); }}

对应Android写各种Adapter时, 往往还要右键点击“implement method”实现抽象方法。

如果弄个模板会方便很多。

转载地址:http://ykqvb.baihongyu.com/

你可能感兴趣的文章
IT的职场法则
查看>>
人生寓言
查看>>
程序员的未来出路
查看>>
架构师的职责和分类
查看>>
Socket用法
查看>>
尽力而为之
查看>>
SQL 精华
查看>>
30岁的老程序员向着哪里走?
查看>>
成功的15种能力
查看>>
企业管理软件的发展史
查看>>
警告自己的生活方式
查看>>
让你的部属“跑起来”的十大方法
查看>>
合理做下级
查看>>
四十不惑
查看>>
周鸿祎的寄语
查看>>
U盘修复记
查看>>
管理学十大经典定理
查看>>
杨澜的一句话,却要让我记一生
查看>>
U盘使用心得
查看>>
作为程序员的心态
查看>>