Bài viết gần đây
Trang chủ → Bài Viết → Hướng Dẫn Flutter Với Visual Studio Code: Cài Đặt, Extension, Debug Từ A–Z (2026)
Hướng Dẫn Flutter Với Visual Studio Code: Cài Đặt, Extension, Debug Từ A–Z (2026)
Flutter với Visual Studio Code là bộ đôi phổ biến nhất để lập trình ứng dụng di động đa nền tảng. Visual Studio Code (VS Code) là trình soạn thảo nhẹ, miễn phí, có hệ sinh thái extension khổng lồ — kết hợp với Flutter SDK của Google cho phép bạn viết một codebase duy nhất chạy trên cả iOS, Android, Web và Desktop. Bài viết này hướng dẫn chi tiết từ cài đặt, cấu hình, tạo project, chạy ứng dụng, debug cho đến các mẹo nâng cao — dành cho cả người mới bắt đầu lẫn developer muốn tối ưu quy trình làm việc.
1. Flutter là gì và vì sao nên dùng Visual Studio Code?
1.1. Flutter là gì?
Flutter là framework mã nguồn mở do Google phát triển, dùng để xây dựng giao diện người dùng (UI) đa nền tảng từ một codebase duy nhất. Flutter sử dụng ngôn ngữ Dart, biên dịch trực tiếp sang mã máy (native) nên ứng dụng chạy mượt với tốc độ gần như ứng dụng gốc.
Điểm khác biệt lớn nhất của Flutter so với React Native hay các framework khác là Flutter không dùng cầu nối (bridge) để giao tiếp với thành phần gốc. Thay vào đó, Flutter tự vẽ toàn bộ giao diện bằng engine đồ họa riêng (Impeller/Skia), vì vậy giao diện hiển thị giống hệt nhau trên mọi thiết bị, bất kể hệ điều hành.
Với Flutter, bạn có thể xây dựng:
| Loại ứng dụng | Ví dụ |
|---|---|
| App di động | App quản lý công việc, thương mại điện tử, chat |
| App Web | Trang quản trị, dashboard, landing page |
| App Desktop | Công cụ nội bộ trên Windows, macOS, Linux |
| App nhúng | Màn hình ô tô, TV thông minh, thiết bị IoT |
1.2. Vì sao nên dùng Visual Studio Code để viết Flutter?
Visual Studio Code là lựa chọn số một của cộng đồng Flutter vì những lý do sau:
- Nhẹ và nhanh: VS Code khởi động nhanh hơn nhiều so với Android Studio, tiêu tốn ít RAM hơn — phù hợp cả với máy cấu hình trung bình.
- Miễn phí và mã nguồn mở: Không tốn chi phí bản quyền, cập nhật liên tục.
- Hệ sinh thái extension: Hai extension chính thức
FluttervàDartdo nhóm Flutter phát triển, mang lại IntelliSense, refactor, debug, hot reload ngay trong editor. - Đa nền tảng: Chạy được trên Windows, macOS, Linux — nơi nào cài được VS Code là viết được Flutter.
- Tích hợp Git sâu: Quản lý phiên bản, diff, branch ngay trong giao diện mà không cần rời editor.
- Cộng đồng lớn: Hàng nghìn theme, snippet, extension hỗ trợ Flutter.
💡 Lưu ý: Bạn vẫn cần cài Flutter SDK và Android SDK/Xcode (để build ra thiết bị). VS Code chỉ là trình soạn thảo; nó gọi
fluttercommand-line tool để build, run và debug.
2. Cài đặt Flutter SDK và Visual Studio Code
Trước khi viết dòng code đầu tiên, bạn cần chuẩn bị đầy đủ môi trường. Quy trình gồm 4 bước chính:

Bước 1: Cài đặt Flutter SDK
Trên Windows:
- Tải Flutter SDK mới nhất từ trang chính thức
flutter.dev. - Giải nén vào một thư mục cố định, ví dụ
C:srcflutter(tránh đường dẫn có dấu cách hoặc ký tự đặc biệt). - Thêm đường dẫn
C:srcflutterbinvào biến môi trườngPATH. - Mở Command Prompt hoặc PowerShell, chạy lệnh kiểm tra:
flutter doctor
Lệnh flutter doctor sẽ quét toàn bộ môi trường và báo cho bạn biết còn thiếu gì: Android SDK, Chrome (cho Flutter Web), Visual Studio (cho Windows desktop), hay Xcode (trên macOS).
Trên macOS: tải SDK, giải nén, thêm vào PATH trong file .zshrc, rồi cài Xcode và CocoaPods.
Trên Linux: dùng Snap hoặc tải trực tiếp; cài thêm các gói build cần thiết bằng sudo apt install theo hướng dẫn của flutter doctor.
Bước 2: Cài đặt Android SDK và thiết bị ảo (emulator)
Để chạy app trên Android, bạn cần:
- Android Studio (chỉ cần để lấy Android SDK và emulator, không bắt buộc dùng để code).
- Trong Android Studio, mở SDK Manager và cài Android SDK Platform, Platform Tools, và ít nhất một System Image (ví dụ Android 14).
- Tạo Android Virtual Device (AVD) — máy ảo để chạy thử app.
Nếu muốn chạy nhanh không cần emulator, bạn có thể bật Chrome hoặc Edge để chạy Flutter Web, hoặc cắm điện thoại thật qua USB (bật chế độ Developer + USB debugging).
Bước 3: Cài đặt Visual Studio Code
- Tải VS Code từ
code.visualstudio.com(chọn bản Stable). - Cài đặt như ứng dụng thông thường.
- Mở VS Code, vào mục Extensions (biểu tượng 4 ô vuông ở thanh bên trái, hoặc phím
Ctrl+Shift+X).
Bước 4: Cài extension Flutter và Dart
Gõ “Flutter” vào ô tìm kiếm extension và cài 2 extension sau:
| Extension | Chức năng |
|---|---|
| Flutter (publisher: Dart Code) | Tạo project, chạy, hot reload, debug, Widget Inspector |
| Dart (publisher: Dart Code) | Cú pháp nổi bật, IntelliSense, format, refactor cho ngôn ngữ Dart |
Ngoài 2 extension bắt buộc trên, bạn có thể cài thêm các extension hỗ trợ để tăng năng suất:

Sau khi cài xong, khởi động lại VS Code. Mở Command Palette (Ctrl+Shift+P), gõ Flutter: Run Flutter Doctor để kiểm tra môi trường ngay trong editor.
3. Tạo project Flutter đầu tiên trong Visual Studio Code
Có hai cách tạo project Flutter:
Cách 1: Dùng Command Palette (khuyến nghị)
- Mở Command Palette (
Ctrl+Shift+P). - Gõ
Flutter: New Project. - Chọn Application.
- Đặt tên project (chữ thường, không dấu cách, dùng dấu gạch dưới — ví dụ
my_first_app). - Chọn thư mục lưu project.
- VS Code sẽ tự chạy
flutter createvà mở project.
Cách 2: Dùng terminal
Mở terminal tích hợp trong VS Code (Ctrl+Backtick) và chạy:
flutter create my_first_app
cd my_first_app
code .
Câu lệnh flutter create tạo toàn bộ cấu trúc project: thư mục lib chứa mã nguồn, pubspec.yaml khai báo dependency, thư mục android và ios chứa cấu hình build từng nền tảng.
4. Cấu trúc thư mục project Flutter
Hiểu cấu trúc project giúp bạn định vị đúng file cần sửa. Đây là các thư mục và file quan trọng nhất:

| Đường dẫn | Vai trò |
|---|---|
lib/main.dart |
Điểm vào của ứng dụng — hàm main() và widget gốc |
pubspec.yaml |
Khai báo tên app, phiên bản, dependency, asset |
android/ |
Cấu hình build Android (Gradle) |
ios/ |
Cấu hình build iOS (Xcode project) |
web/ |
Cấu hình Flutter Web |
test/ |
Chứa unit test và widget test |
analysis_options.yaml |
Quy tắc phân tích code tĩnh (lint) |
Mẹo: Hầu hết thời gian bạn chỉ làm việc trong lib/. Bạn có thể tạo thêm các thư mục con như lib/screens, lib/widgets, lib/models để tổ chức code theo tính năng.
5. Chạy ứng dụng và Hot Reload
5.1. Chạy lần đầu
Mở file lib/main.dart, nhấn F5 (hoặc vào menu Run → Start Debugging). VS Code sẽ hỏi chọn thiết bị: emulator Android, Chrome, Edge, hoặc thiết bị thật. Chọn xong, app sẽ được build và hiển thị.
Bạn cũng có thể chạy không debug bằng lệnh:
flutter run
5.2. Hot Reload và Hot Restart
Đây là tính năng làm nên sức hút của Flutter. Khi sửa code, thay vì build lại toàn bộ (mất vài chục giây), bạn chỉ cần:
| Thao tác | Phím tắt | Ý nghĩa |
|---|---|---|
| Hot Reload | r (trong terminal) hoặc biểu tượng ⚡ |
Áp dụng thay đổi code, giữ nguyên trạng thái app |
| Hot Restart | R (trong terminal) |
Khởi động lại app, reset trạng thái về ban đầu |

Hot Reload thường hoàn tất trong dưới 1 giây — bạn sửa giao diện, bấm nút, thấy kết quả ngay lập tức. Đây là lý do quy trình phát triển Flutter nhanh gấp nhiều lần so với native.
⚠️ Khi nào cần Hot Restart: Khi bạn thay đổi cấu trúc lớn như thêm/sửa enum, thay đổi biến
const, hay thay đổi logic tronginitState(). Những thay đổi này không được Hot Reload áp dụng.
6. Debug Flutter trong Visual Studio Code
Visual Studio Code cung cấp bộ công cụ debug Flutter rất mạnh, gồm 3 thành phần chính:
6.1. Breakpoint (điểm dừng)
Đặt breakpoint bằng cách click vào lề trái cạnh số dòng (hiện chấm đỏ). Khi app chạy tới dòng đó, chương trình tạm dừng và bạn có thể:
- Step Over (
F10): chạy qua dòng hiện tại. - Step Into (
F11): đi sâu vào hàm được gọi. - Step Out (
Shift+F11): thoát khỏi hàm hiện tại. - Xem giá trị biến trong bảng Variables.
- Di chuột lên biến để xem giá trị tức thì.
6.2. Flutter DevTools
Mở DevTools bằng Command Palette → Flutter: Open DevTools, hoặc bấm vào liên kết hiện ra khi đang debug. DevTools cung cấp:
- Widget Inspector: Xem cây widget, chọn một widget trên màn hình để xem thuộc tính, padding, kích thước.
- Performance: Đo FPS, phát hiện jank (giật hình), phân tích frame render.
- Memory: Theo dõi bộ nhớ, phát hiện memory leak.
- Network: Xem request HTTP, thời gian phản hồi, payload.
- Logging: Xem log từ
print()vàdebugPrint().
6.3. Quy trình debug điển hình

- Đặt breakpoint tại nơi nghi ngờ lỗi.
- Chạy app ở chế độ debug (
F5). - Thao tác trên app để kích hoạt đoạn code có breakpoint.
- Khi chương trình dừng, kiểm tra giá trị biến, gọi stack.
- Dùng Widget Inspector để kiểm tra giao diện nếu lỗi liên quan layout.
- Sửa lỗi, Hot Reload và kiểm tra lại.
7. Quản lý package và dependency với pubspec.yaml
pubspec.yaml là trái tim của mọi project Flutter. Đây là nơi bạn khai báo:
name: my_first_app
description: A new Flutter project.
version: 1.0.0+1
environment:
sdk: ">=3.0.0 <4.0.0"
dependencies:
flutter:
sdk: flutter
http: ^1.1.0
provider: ^6.0.0
dev_dependencies:
flutter_test:
sdk: flutter
Cài thêm package
Để cài một package mới, mở terminal và chạy:
flutter pub add http
flutter pub add provider
Hoặc thêm trực tiếp vào dependencies: rồi chạy:
flutter pub get
Lệnh flutter pub get tải toàn bộ dependency về thư mục .dart_tool và cập nhật file pubspec.lock. VS Code sẽ hiển thị nút “Get Packages” ngay trên file pubspec.yaml khi bạn lưu — bấm vào là xong.
Các package phổ biến cho người mới:
| Package | Công dụng |
|---|---|
http |
Gọi REST API |
provider / riverpod |
Quản lý state |
shared_preferences |
Lưu dữ liệu nhỏ cục bộ |
sqflite |
Cơ sở dữ liệu SQLite |
cached_network_image |
Tải và cache ảnh từ mạng |
flutter_screenutil |
Thiết kế responsive |
8. Refactor, snippet và IntelliSense — tăng tốc viết code
8.1. IntelliSense và gợi ý code
VS Code (với extension Dart) tự động gợi ý tên class, method, tham số khi bạn gõ. Một số thao tác hữu ích:
- Tự động import: Gõ tên class, nhấn
Ctrl+.để thêmimportnhanh. - Gợi ý constructor: Gõ tên widget, VS Code gợi ý các tham số bắt buộc và tùy chọn.
- Xem tài liệu: Di chuột lên ký hiệu để xem doc ngắn gọn.
8.2. Refactor
Chọn một đoạn code và nhấn Ctrl+. để mở menu refactor: đổi tên biến, tách widget, bọc bằng Container, Padding, Column… Đây là thao tác cực kỳ tiết kiệm thời gian khi tổ chức lại giao diện.
8.3. Snippet có sẵn
Extension Flutter kèm theo nhiều snippet. Gõ vài ký tự rồi nhấn Tab:
| Gõ | Tạo ra |
|---|---|
stless |
StatelessWidget mẫu |
stful |
StatefulWidget mẫu |
initS |
Khối initState() |
wid |
Scaffold + appbar mẫu |
8.4. Format code
Nhấn Shift+Alt+F để format code theo chuẩn Dart. Để format tự động khi lưu, vào Settings (Ctrl+,) và bật tùy chọn Format On Save.
9. Git và quản lý phiên bản ngay trong VS Code
VS Code tích hợp Git sẵn — bạn không cần cài thêm gì. Khi tạo project bằng flutter create, thư mục .gitignore đã được tạo sẵn (loại bỏ build/, .dart_tool/…).
Các thao tác cơ bản:
- Khởi tạo repo: Mở Source Control (
Ctrl+Shift+G) → Initialize Repository. - Commit: Viết message → bấm dấu ✓.
- Xem diff: Click vào file đã thay đổi để xem từng dòng thêm/xóa.
- Tạo branch: Click vào tên branch góc dưới trái → Create Branch.
- Push/Pull: Dùng menu Source Control hoặc terminal.
💡 Khuyến nghị: Commit thường xuyên với message rõ ràng. Khi học, mỗi khi hoàn thành một tính năng nên commit để dễ quay lại khi code lỗi.
10. Các extension hữu ích khác cho Flutter
Ngoài 2 extension chính thức, bạn nên cân nhắc thêm:
| Extension | Lợi ích |
|---|---|
| Flutter Intl | Quản lý đa ngôn ngữ (i18n) |
| Bloc | Snippet nhanh cho kiến trúc BLoC |
| Better Comments | Tô màu comment (TODO, FIXME, WARNING) |
| Error Lens | Hiện lỗi ngay trên dòng code |
| GitLens | Xem lịch sử, blame từng dòng code |
| Material Icon Theme | Icon đẹp cho file và thư mục |
Không nên cài quá nhiều extension cùng lúc — mỗi extension đều tốn tài nguyên. Chỉ cài những gì bạn thực sự dùng.
11. Mẹo và thực hành tốt nhất (Best Practices)
- Chạy
flutter doctorthường xuyên: Mỗi khi gặp lỗi môi trường, đây là lệnh đầu tiên cần chạy. - Dùng widget nhỏ, tái sử dụng: Tách giao diện thành các widget riêng để code dễ đọc, dễ bảo trì.
- Bật lint: Giữ
analysis_options.yamlmặc định hoặc nâng cấp lênflutter_lintsđể phát hiện lỗi sớm. - Tổ chức thư mục rõ ràng:
lib/screens,lib/widgets,lib/models,lib/services. - Dùng
consttối đa: Widgetconstkhông rebuild lại, giúp tăng hiệu năng. - Hot Reload thay vì build lại: Tiết kiệm thời gian đáng kể mỗi lần sửa.
- Học phím tắt:
Ctrl+P(mở file nhanh),Ctrl+Shift+P(command palette),Ctrl+(chia màn hình),Alt+Click(đa con trỏ).
12. Câu hỏi thường gặp (FAQ)
VS Code có thay thế hoàn toàn Android Studio cho Flutter không?
Có. VS Code đủ mạnh để phát triển Flutter hoàn chỉnh: code, run, debug, hot reload, quản lý package. Bạn chỉ cần Android Studio khi muốn cấu hình sâu Android SDK, ký APK/AAB, hoặc dùng các công cụ emulator nâng cao.
Máy cấu hình thấp có chạy được Flutter + VS Code không?
Được. RAM tối thiểu 8GB là chạy mượt. Nếu RAM 4GB, nên hạn chế mở nhiều emulator cùng lúc và dùng thiết bị thật hoặc Flutter Web (Chrome) để test nhanh.
Flutter có cần máy Mac để build iOS không?
Để build và test trên iOS/App Store, bạn cần macOS có Xcode. Nếu chỉ học và chạy trên Android, Windows/Linux là đủ.
Hot Reload không hoạt động thì phải làm sao?
Thử theo thứ tự: (1) dùng Hot Restart (R), (2) stop app và flutter run lại, (3) chạy flutter clean rồi flutter pub get. Nếu vẫn lỗi, kiểm tra flutter doctor xem môi trường có vấn đề gì.
Nên học Dart trước hay học song song với Flutter?
Nên học song song. Dart là ngôn ngữ khá dễ với ai từng học Java/C#/JavaScript. Bạn có thể vừa làm app vừa học cú pháp Dart qua từng bài — thực hành giúp nhớ nhanh hơn học lý thuyết thuần túy.
Kết luận
Flutter với Visual Studio Code là sự kết hợp lý tưởng cho cả người mới lẫn developer chuyên nghiệp: môi trường nhẹ, miễn phí, extension mạnh, Hot Reload nhanh và bộ công cụ debug toàn diện. Chỉ cần nắm vững quy trình cài đặt, hiểu cấu trúc project và thành thạo Hot Reload + Debug, bạn đã có thể tự xây dựng ứng dụng di động hoàn chỉnh chạy trên nhiều nền tảng.
Nếu bạn muốn học Flutter một cách bài bản, có lộ trình rõ ràng và được giảng viên hỗ trợ 1-1, hãy tham khảo khóa học Flutter Cơ Bản (Level 1) tại Hướng Nghiệp Dữ Liệu — từ con số 0 đến ứng dụng hoàn chỉnh trên App Store và Google Play.
📚 Kiến thức Flutter liên quan
- Các dự án có thể sử dụng Flutter
- Hướng dẫn học Flutter cho người mới bắt đầu
- Dự án Flutter làm trong cuối tuần
- Cộng đồng phát triển Flutter
- Bố cục nâng cao: Stack, Positioned & Card UI
- Flutter — nền tảng ứng dụng đa nền tảng
Muốn đi thẳng vào thực hành? Xem 10 đề tài đồ án Flutter kèm lộ trình 4 tuần hoặc khoá học lập trình Flutter tại HNDL.