Last active
April 25, 2023 18:04
-
-
Save kboomska/88b953340949b2b66efa066a27c6c47d to your computer and use it in GitHub Desktop.
Flutter snippets
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"StatelessWidget": { | |
"prefix": "stl", | |
"description": "Insert a custom Flutter StatelessWidget.", | |
"body": [ | |
"class ${1:MyWidget} extends StatelessWidget {", | |
"\tconst ${1:MyWidget}({super.key});", | |
"", | |
"\t@override", | |
"\tWidget build(BuildContext context) {", | |
"\t\treturn ${2|Container,Column,Row,Center,Scaffold|}(", | |
"\t\t\t$0", | |
"\t\t);", | |
"\t}", | |
"}", | |
"", | |
], | |
}, | |
"StatelessWidget with import Material": { | |
"prefix": "stli", | |
"description": "Insert a custom Flutter StatelessWidget with import from 'package:flutter/material.dart'.", | |
"body": [ | |
"import 'package:flutter/material.dart';", | |
"", | |
"class ${1:MyWidget} extends StatelessWidget {", | |
"\tconst ${1:MyWidget}({super.key});", | |
"", | |
"\t@override", | |
"\tWidget build(BuildContext context) {", | |
"\t\treturn ${2|Container,Column,Row,Center,Scaffold|}(", | |
"\t\t\t$0", | |
"\t\t);", | |
"\t}", | |
"}", | |
"", | |
], | |
}, | |
"StatefulWidget": { | |
"prefix": "stf", | |
"description": "Insert a custom Flutter StatefulWidget.", | |
"body": [ | |
"class ${1:MyWidget} extends StatefulWidget {", | |
"\tconst ${1:MyWidget}({super.key});", | |
"", | |
"\t@override", | |
"\tState<${1:MyWidget}> createState() => _${1:MyWidget}State();", | |
"}\n", | |
"class _${1:MyWidget}State extends State<${1:MyWidget}> {", | |
"\t@override", | |
"\tWidget build(BuildContext context) {", | |
"\t\treturn ${2|Container,Column,Row,Center,Scaffold|}(", | |
"\t\t\t$0", | |
"\t\t);", | |
"\t}", | |
"}", | |
"", | |
], | |
}, | |
"StatefulWidget with import Material": { | |
"prefix": "stfi", | |
"description": "Insert a custom Flutter StatefulWidget with import from 'package:flutter/material.dart'.", | |
"body": [ | |
"import 'package:flutter/material.dart';", | |
"", | |
"class ${1:MyWidget} extends StatefulWidget {", | |
"\tconst ${1:MyWidget}({super.key});", | |
"", | |
"\t@override", | |
"\tState<${1:MyWidget}> createState() => _${1:MyWidget}State();", | |
"}\n", | |
"class _${1:MyWidget}State extends State<${1:MyWidget}> {", | |
"\t@override", | |
"\tWidget build(BuildContext context) {", | |
"\t\treturn ${2|Container,Column,Row,Center,Scaffold|}(", | |
"\t\t\t$0", | |
"\t\t);", | |
"\t}", | |
"}", | |
"", | |
], | |
}, | |
"runApp": { | |
"prefix": "run", | |
"body": [ | |
"import 'package:flutter/material.dart';", | |
"", | |
"void main() {", | |
"\trunApp(const ${1:MyApp}());", | |
"}", | |
"", | |
"class ${1:MyApp} extends StatelessWidget {", | |
"\tconst ${1:MyApp}({super.key});", | |
"", | |
"\t@override", | |
"\tWidget build(BuildContext context) {", | |
"\t\treturn const MaterialApp(", | |
"\t\t\tdebugShowCheckedModeBanner: false,", | |
"\t\t\thome: ${2|MyWidget,Scaffold,Container|}(),", | |
"\t\t);", | |
"\t}", | |
"}", | |
"$0", | |
], | |
}, | |
"InheritedNotifier": { | |
"prefix": "inhnot", | |
"description": "Insert a custom Flutter InheritedNotifier.", | |
"body": [ | |
"class ${1:MyWidgetProvider} extends InheritedNotifier {", | |
"\tconst ${1:MyWidgetProvider}({", | |
"\t\tsuper.key,", | |
"\t\trequired Widget child,", | |
"\t}) : super(child: child);", | |
"", | |
"\tstatic ${1:MyWidgetProvider}? noticeOf(BuildContext context) {", | |
"\t\treturn context.dependOnInheritedWidgetOfExactType<${1:MyWidgetProvider}>();", | |
"\t}", | |
"", | |
"\tstatic ${1:MyWidgetProvider}? readOnly(BuildContext context) {", | |
"\t\tfinal widget =", | |
"\t\t\t\tcontext.getElementForInheritedWidgetOfExactType<${1:MyWidgetProvider}>()?.widget;", | |
"\t\treturn widget is ${1:MyWidgetProvider} ? widget : null;", | |
"\t}", | |
"}", | |
"$0", | |
], | |
}, | |
"InheritedNotifier with Model": { | |
"prefix": "inhmod", | |
"description": "Insert a custom Flutter InheritedNotifier with Model.", | |
"body": [ | |
"class ${1:MyModel} extends ChangeNotifier {", | |
"\t$2", | |
"}", | |
"", | |
"class ${1:MyModel}Provider extends InheritedNotifier {", | |
"\tfinal ${1:MyModel} model;", | |
"", | |
"\tconst ${1:MyModel}Provider({", | |
"\t\tsuper.key,", | |
"\t\trequired this.model,", | |
"\t\trequired Widget child,", | |
"\t}) : super(", | |
"\t\t\t\t\tnotifier: model,", | |
"\t\t\t\t\tchild: child,", | |
"\t\t\t\t);", | |
"", | |
"\tstatic ${1:MyModel}Provider? noticeOf(BuildContext context) {", | |
"\t\treturn context.dependOnInheritedWidgetOfExactType<${1:MyModel}Provider>();", | |
"\t}", | |
"", | |
"\tstatic ${1:MyModel}Provider? readOnly(BuildContext context) {", | |
"\t\tfinal widget = context", | |
"\t\t\t\t.getElementForInheritedWidgetOfExactType<${1:MyModel}Provider>()", | |
"\t\t\t\t?.widget;", | |
"\t\treturn widget is ${1:MyModel}Provider ? widget : null;", | |
"\t}", | |
"}", | |
"$0", | |
], | |
}, | |
"InheritedNotifier with Model and import Material": { | |
"prefix": "inhimod", | |
"description": "Insert a custom Flutter InheritedNotifier with Model.", | |
"body": [ | |
"import 'package:flutter/material.dart';", | |
"", | |
"class ${1:MyModel} extends ChangeNotifier {", | |
"\t$2", | |
"}", | |
"", | |
"class ${1:MyModel}Provider extends InheritedNotifier {", | |
"\tfinal ${1:MyModel} model;", | |
"", | |
"\tconst ${1:MyModel}Provider({", | |
"\t\tsuper.key,", | |
"\t\trequired this.model,", | |
"\t\trequired Widget child,", | |
"\t}) : super(", | |
"\t\t\t\t\tnotifier: model,", | |
"\t\t\t\t\tchild: child,", | |
"\t\t\t\t);", | |
"", | |
"\tstatic ${1:MyModel}Provider? noticeOf(BuildContext context) {", | |
"\t\treturn context.dependOnInheritedWidgetOfExactType<${1:MyModel}Provider>();", | |
"\t}", | |
"", | |
"\tstatic ${1:MyModel}Provider? readOnly(BuildContext context) {", | |
"\t\tfinal widget = context", | |
"\t\t\t\t.getElementForInheritedWidgetOfExactType<${1:MyModel}Provider>()", | |
"\t\t\t\t?.widget;", | |
"\t\treturn widget is ${1:MyModel}Provider ? widget : null;", | |
"\t}", | |
"}", | |
"$0", | |
], | |
}, | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment