Nếu bạn chưa quen với việc phát triển Flutter thì bạn phải tìm hiểu kỹ về các cấu trúc lồng vào nhau (nested structures) để biết mức độ khó khăn để thêm hoặc xóa các widget ở giữa code hay để tìm một nơi mà một widget kết thúc và một widget khác bắt đầu. Sau đó, bạn phải dành cả ngày để khớp các dấu ngoặc mở với dấu đóng của chúng. Chúng mình đã mất thời gian để tìm ra các phím tắt. Vì vậy, bạn sẽ không phải mất thời gian để thực hiện lại điều đó vì mình sẽ cung cấp cho bạn; và mình đã sắp xếp tất cả các phím tắt cho phép phát triển nhanh hơn và mượt mà hơn trong Flutter.
Note: Tất cả các phím tắt này đều hoạt động cho Android Studio và IntelliJ trong Windows.
Tạo Stateless widget hoặc Stateful widget
Đoán xem nào? Bạn không phải viết thủ công các widget class của mình và ghi đè các build function. IDE có thể làm điều đó thay bạn.
Bạn chỉ cần gõstless
để tạo một Stateless Widget như sau:
Hoặc stful
để tạo Stateful widget:
Điều gì sẽ xảy ra nếu bạn đã tạo một Stateless Widget
và thêm nhiều children, nhưng sau đó nhận ra rằng sau cùng thì bạn sẽ cần mộtState
? Bạn có nên tạo một StatefulWidget
mới và sau đó chuyển tất cả code của bạn sang nó theo cách thủ công? Bạn không cần phải làm như vậy.
Bạn chỉ cần đặt con trỏ vàoStatelessWidget
, nhấnAlt + Enter
và nhấp vàoConvert to StatefulWidget
. Tất cả code soạn sẵn sẽ được tạo tự động cho bạn.
Những điều kỳ diệu hơn bạn có thể làm với Alt + Enter
Alt + Enter
là cây đũa thần giúp bạn sử dụng để phát triển nhanh hơn trong Flutter. Bạn có thể nhấp vào bất kỳ tiện ích con nào, nhấn Alt + Enter để xem bạn có những tùy chọn nào cho tiện ích cụ thể đó. I E.:
Thêm Padding xung quanh Widget
Giả sử bạn có một widget không phải là Container, vì vậy nó không có padding property. Bạn muốn cung cấp một số padding nhưng lại sợ làm rối widget structure của mình. Với cây đũa thần của chúng mình, bạn có thể thêm Padding của mình mà không làm rối tung bất cứ thứ gì:
Chỉ cần nhấnAlt + Enter
trên widget cần một padding xung quanh nó và nhấp vào Add Padding
. Bây giờ bạn có thể sửa đổi padding mặc định thành bất kỳ thứ gì bạn muốn.
Center Widget
Đây không phải là điều gì quá phi thường. Nó chỉ căn giữa widget của bạn trong không gian có sẵn. Điều này không hoạt động bên trong Column hoặc Row.
Wrap bằng Container, Column, Row hoặc bất kỳ Widget nào khác
Bạn có thể sử dụng cách tiếp cận tương tự để bọc widget của mình bằngContainer
. Vì vậy,Container
mới sẽ trở thành parent của Widget của bạn.
Hoặc, bạn thậm chí có thể kết hợp nhiều widget với mộtColumn
hoặcRow
chỉ trong một cú nhấp chuột!
Hoặc bọc chúng bằng bất kỳ widget nào khác:
Bạn thậm chí có thể bọc chúng bằng StreamBuilder
nếu bạn có phiên bản plugin Flutter mới nhất. Cảm ơn Bhavik Makwana đã cho mình biết về điều đó.
Bạn không thích một widget nào đó? Hãy loại bỏ nó bằng Magic Wand.
Đúng vậy, việc xóa một widget cũng dễ dàng như thêm một widget mới.
Xem code bên trong Widget
That’s the best thing about an open source framework. If you want to know what’s going on behind the scenes of an amazing widget or a class, then you can just put your cursor on it and press Ctrl + B
. It will act as a link, taking you straight to your Widget’s source code where you can read everything about it. Flutter also uses comments to explain a lot of its code, making for great documentation.
Đó là điều tốt nhất về một open source framework. Nếu bạn muốn biết điều gì đang diễn ra đằng sau một widget tuyệt vời hoặc một class, thì bạn có thể đặt con trỏ vào nó và nhấn Ctrl + B
. Nó sẽ hoạt động như một liên kết, đưa bạn đến thẳng source code của Widget, nơi bạn có thể đọc mọi thứ về nó. Flutter cũng sử dụng các bình luận để giải thích rất nhiều code, một tài liệu tuyệt vời.
Kiểm tra các thuộc tính của Widget mà không cần rời khỏi tệp hoặc tab
Nếu bạn muốn kiểm tra xem Widget của bạn có thể làm được những điều tuyệt vời nào mà không cần rời khỏi tệp của bạn để tìm hiểu tài liệu, chỉ cần nhấnCtrl+Shift+I
để xem nhanh constructor của Widget.
Chọn nhanh toàn bộ Widget
Rất nhiều lần chúng ta cần giải nén/xóa toàn bộ widget và chúng ta cố gắng chọn chúng theo cách thủ công:
Nếu đó là một widget thực sự lớn, thì việc tìm ra dấu đóng ngoặc thuộc về Widget nào có thể rất mất thời gian và chúng ta không muốn làm rối toàn bộ cấu trúc của mình.
Những lúc như thế này, mình thích sử dụng phím tắt siêu hữu ích này.
Chỉ cần nhấp vào widget bạn muốn giải nén và nhấn Ctrl+W. Toàn bộ Widget sẽ được chọn cho bạn mà không cần di chuyển con trỏ của bạn một inch.
Format code
Đôi khi code của bạn sẽ chỉ là một mớ hỗn độn. Kiểu như thế này:
Bây giờ, hầu hết các IDE đều có tính năng này, (mặc dù có thể không phải là tổ hợp phím giống nhau). Chỉ cần nhấnCtrl+Alt+L
để sửa lỗi thụt lề và định dạng lại code của bạn.
Xem outline UI ứng dụng của bạn
Hầu hết các Widget của chúng ta không chỉ có một child trong tree của chúng. Chúng có những children tree có children riêng của chúng và nhiều thứ khác nữa. Nếu Widget của bạn có các children được lồng vào nhau phức tạp, thì bạn có thể gặp chút rắc rối với việc hiểu cấu trúc của code. Nhưng rất may là chúng ta cóFlutter Outline
để giải cứu!
Bạn có thể tìm thấyFlutter Outline
ở bên phải IDE của mình; nó là một trong những tab dọc và nằm ngay phía trênFlutter Inspector
. Khi bạn mở nó lên, nó trông giống như sau:
Giờ đây, bạn có thể thấy rõ Widget nào đang ở đâu, chúng được sắp xếp như thế nào trong giao diện người dùng và widget nào có các children widget khác. Dễ như ăn bánh!
Extract code thành một method
Flutter Outline
là một công cụ khá hữu ích. Bạn có thể thực hiện hầu hết những việc bạn đã làm vớiAlt + Enter
, chẳng hạn như bọc một Column và Center một Widget, nhưng có những thứ tuyệt vời hơn nữa có sẵn trong tabFlutter Outline
! Một trong số đó là nútExtract Method
.
Nếu bạn cảm thấy như đang viết một Widget quá dài và có lẽ phải là một Widget tùy chỉnh, thì thay vì chuyển code theo cách thủ công thành một method, bạn có thể sử dụng công cụ này để làm điều kỳ diệu cho mình!
Move Widget lên và xuống
Một điều điên rồ khác mà bạn có thể làm vớiFlutter Outline
là nếu bạn có nhiều children trong một widget, bạn có thể dễ dàng sắp xếp lại thứ tự của chúng:
Bạn cũng có thể di chuyển chỉ một dòng lên hoặc xuống bằng cách nhấnShift+Alt+Up
/ Down
Refactor Renaming
Đây là một công cụ khá cơ bản mà hầu hết các IDE đều có. Điều này cho phép bạn đổi tên một method, Widget, class hoặc tên tệp và nó đảm bảo rằng các tham chiếu đến nó cũng được đổi tên. Chỉ cần sử dụngShift + F6
và nhập tên mới:
Remove Unused Imports
Vì vậy, bạn đang làm việc trên một dự án và bạn đã import rất nhiều file, nhưng theo thời gian, code của bạn ngày càng được tối ưu hóa. Cuối cùng, bạn có thể không cần những file đó nữa. Có thể bạn thường xóa chúng theo cách thủ công, nhưng mình đã ở đây để giúp bạn thực hiện nó dễ dàng hơn, đây là một tổ hợp bàn phím khá đẹp:Ctrl+Alt+O
Đó là tất cả các phím tắt mà mình biết bây giờ. Hãy nhớ kiểm tra lại thường xuyên để biết thêm các mẹo, thủ thuật và những thứ tuyệt vời khác!
Bài viết được lược dịch từ Pooja Bhaumik.
Chau Le
Cực thích đồ ngọt như sữa, kem. Thích phiêu lưu mạo hiểm nhưng vì Covid mà vô tình trở thành người chia sẻ nội dung lập trình :))
follow me :
Bài viết liên quan
Tự học Dart: Các Dart Operators (toán tử) bạn cần biết
Sep 02, 2023 • 18 min read
Flutter cơ bản: Điều cần biết khi lập trình ứng dụng đầu tiên
Aug 23, 2023 • 13 min read
Dart là gì? Giới thiệu cơ bản về ngôn ngữ lập trình Dart
Aug 21, 2023 • 11 min read
Flutter là gì? Vì sao nên học công cụ lập trình Flutter?
Aug 19, 2023 • 11 min read
Flutter cơ bản: Widget Tree, Element Tree & Render Tree
Aug 19, 2023 • 10 min read
So sánh StatelessWidget và StatefulWidget
Jul 17, 2022 • 12 min read