Skip to main content

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$'),
)
);
},
);
}
}
VariableExpression
snakeNamesnakeCase(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);
}
VariableExpression
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(() {});
});
}
VariableExpression
name