Android Studio Live Templates
Accelerate you're coding with CotR in Android Studio using these Live Templates:
cotrViewโ
import 'package:code_on_the_rocks/code_on_the_rocks.dart';
import 'package:flutter/material.dart';
import '$snakeName$_model.dart';
class $Name$View extends StatelessWidget {
const $Name$View({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return $Name$ViewModelBuilder(
builder: (context, model) {
return Scaffold(
body: Center(
child: Text('$Name$'),
)
);
},
);
}
}
Variable | Expression |
---|---|
snakeName | snakeCase(fileNameWithoutExtension()) |
name |
cotrModelโ
import 'package:code_on_the_rocks/code_on_the_rocks.dart';
import 'package:flutter/material.dart';
class $Name$ViewModelBuilder extends ViewModelBuilder<$Name$ViewModel> {
const $Name$ViewModelBuilder({
super.key,
required super.builder,
});
@override
State<StatefulWidget> createState() => $Name$ViewModel();
}
class $Name$ViewModel extends ViewModel<$Name$ViewModel> {
static $Name$ViewModel of_(BuildContext context) => getModel<$Name$ViewModel>(context);
}
Variable | Expression |
---|---|
name |
cotrTestโ
import 'package:flutter_test/flutter_test.dart';
void main() {
group('Widget Tests', () {
setUpAll(() {});
testWidgets('Counter can be incremented', (tester) async {
// Setup - Arrange
await tester.pumpWidget(const OneView());
final OneViewModel model = tester.state(find.byType(OneViewModelBuilder));
// Act
// model.increment();
// Result - Assert
// expect(model.counter,1);
});
tearDown(() {});
});
}
Variable | Expression |
---|---|
name |