1.創(chuàng)建flutter工程
Flutter Application(全新的APP)
flutter create flutter_app
#指定語言:默認(rèn)Android使用Java衩藤,iOS使用Objective-C
flutter create -i swift -a kotlin flutter_app
Flutter Module(混編到已有的Android/iOS工程)
flutter create -t module flutter_module
Flutter Package 只能用于 Dart 語言
flutter create --template=package flutter_package
Flutter Plugin 針對(duì)原生和Dart
- 默認(rèn)創(chuàng)建方式
flutter create --org com.example --template=plugin flutter_demo
- Objective-C 項(xiàng)目
flutter create --org com.example --template=plugin -i objc -a java flutter_demo
- Swift 項(xiàng)目
flutter create --org com.example --template=plugin -i swift -a kotlin flutter_demo
2.安裝依賴
Get package
flutter packages get
#如果不行可以設(shè)置國內(nèi)鏡像
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
Update package
flutter packages upgrade
3.項(xiàng)目運(yùn)行
#列出所有連接的設(shè)備
flutter devices
#運(yùn)行項(xiàng)目并顯示支持設(shè)備
flutter run
#執(zhí)行設(shè)備運(yùn)行
flutter run -d 'iPhone X?'
#運(yùn)行在所有可用設(shè)備上
flutter run -d all
#查看可用模擬器
flutter emulators
#啟動(dòng)iOS模擬器
flutter emulators --launch apple_ios_simulator
#啟動(dòng)Android 模擬器-只有啟動(dòng)模擬器才可以運(yùn)行
flutter emulators --launch Nexus_5X_API_27
flutter run -d emulator-5554
#運(yùn)行IOS真機(jī)
flutter run -d 00008020-001838491169002E
調(diào)試
熱更新直接刷新
$ r
熱更新重啟刷新
$ R
退出運(yùn)行模擬器
$ q
查看日志
flutter logs
截圖
flutter screenshot
升級(jí)你的Flutter
flutter upgrade
或者
git stash
flutter upgrade --force
真機(jī)運(yùn)行
flutter run -d 73335b72c9ffd2154fafda7bb94e7c1c497336c3
安裝
flutter install
打包
Android apk 打包
flutter build apk
apk生成目錄
iOS ipa 打包
flutter build ios --debug
flutter build ios --release
編譯目錄:
項(xiàng)目工程目錄/build/ios/iphoneos/Runner.app
Shell 腳本打包遺留目錄(dst)
cd /private/tmp/Runner.dst
4項(xiàng)目調(diào)試
運(yùn)行項(xiàng)目
control+ R
熱重啟(hot restart)
command+ option + \
熱重載(hot reload)
command + \
5 代碼操作
快速導(dǎo)入頭文件
option + enter
給Model所有下劃線屬性生成get和set方法,光標(biāo)插入到類名
control + enter
Surround with快速調(diào)出if,for,try…catch,while等環(huán)繞代碼
選中需要嵌套的代碼,使用這個(gè)組合快捷鍵可以包裹需要的代碼塊,如圖
command+ option + T
快速生成模版代碼塊
command+ J
注釋與取消注釋,效果/**/
command+ option + /
刪除行
command+ delete
選擇區(qū)域
option + 雙擊 up
上下移動(dòng)代碼
option + shift + up/down
選中代碼縮進(jìn)
選中代碼 + tab
選中代碼 + shift + tab
復(fù)制單行
command + D
隱藏左側(cè)目錄結(jié)構(gòu)窗口
shift + esc
快速創(chuàng)建一個(gè)StatefulWidget
stful
快速創(chuàng)建一個(gè)StatelessWidget
stless
添加或者移除widget
option + enter
抽取代碼為單獨(dú)的Widget
有時(shí)候代碼嵌套太多,不方便閱讀,抽取Widget為一個(gè)單獨(dú)的類,提高代碼的閱讀性
// 鼠標(biāo)選中需要轉(zhuǎn)換的類名,或光標(biāo)放到類名之間
command + option + W
將StatelessWidget轉(zhuǎn) StatefulWidget
鼠標(biāo)選中需要轉(zhuǎn)換的類名,或光標(biāo)放到類名之間
option + enter
自動(dòng)導(dǎo)入用到的包
// 選中該方法 +
option + enter
行尾自動(dòng)添加分號(hào)括勺,if后面自動(dòng)加“(){ }”
shift + command + enter
返回到上次編輯位置
cmd + [ / ]
opt + cmd + ← / →
抽取代碼為單獨(dú)的方法,或者抽取成get方法
command + option + M
查看抽象類的實(shí)現(xiàn)
command + option + B
6 格式化
頁面內(nèi),類代碼塊展開/收縮
// 展開
command + shift + 加號(hào)
// 收縮
command + shift + 減號(hào)
局部代碼塊展開/收縮
// 展開
cmd +
// 收縮
cmd -
格式化代碼
opt + cmd + L
自動(dòng)縮進(jìn)對(duì)齊
ctr + alt + I
清除無效包引用
opt + ctr + o
升級(jí)你的Flutter
flutter upgrade
或者
git stash
flutter upgrade --force
Android apk 打包
flutter build apk
iOS ipa 打包
flutter build ios --debug
flutter build ios --release
7 搜索查找
當(dāng)前文件查找/替換
// 當(dāng)前文件查找
Command + F
// 當(dāng)前文件替換
Command + R
-
跳到下一個(gè)高亮的變量
Command + G
-
跳到上一個(gè)高亮的變量
Shift + Command + G
全局查找/替換
-
全局搜查找
Shift +Command + F
-
全局替換
Shift +Command + R
全局搜索類
Command + o
全局搜索類/方法/參數(shù)
opt + cmd + o
cmd + f12 //查看全部方法
打開最近訪問的文件列表
cmd + E