🗺️ MOC – Khám phá repo microsoft/vscode
MOC là gì?
MOC (Map of Content – bản đồ nội dung) là ghi chú “mục lục” của vault Obsidian. Mọi ghi chú khác đều được liên kết từ đây. Bấm vào một liên kết nội bộ (dạng hai dấu ngoặc vuông) để mở ghi chú tương ứng, hoặc mở Graph view (
Ctrl+G) để xem mạng liên kết.
Phạm vi khảo sát
- Repo: https://github.com/microsoft/vscode – nhánh
main- Commit:
34c443e(ngày 20/10/2026),package.jsonghi phiên bản1.144.0- Mọi đường dẫn file trong vault đều tính từ thư mục gốc repo tại commit này. Repo thay đổi hằng ngày nên chi tiết nhỏ có thể khác khi bạn đọc.
1. Tổng quan
2. Kiến trúc
- Kiến trúc phân lớp (Layers) –
base → platform → editor → workbench - Môi trường đích (Target Environments) –
common / browser / node / electron-* - Kiến trúc đa tiến trình (Multi-process)
- Luồng khởi động (Startup flow)
3. Cơ chế lõi (core mechanisms)
- Dependency Injection & Services
- Contribution Model & Registry
- Disposable & Event (quản lý vòng đời, sự kiện)
- Observables (lập trình phản ứng)
4. Extension (tiện ích mở rộng)
- Extension Host & RPC
- Built-in Extensions – các extension tích hợp sẵn
- Thực hành: viết extension đầu tiên
5. Phát triển trên repo
- Build & Run từ mã nguồn
- Debug VS Code
- Testing – kiểm thử
- Coding Guidelines – quy ước viết code
- Quy trình đóng góp (Issue, PR, API)
6. Chủ đề mới
7. Học tập
Sơ đồ tổng thể
Quy ước: mũi tên A --> B nghĩa là B được phép import A (B nằm ở lớp cao hơn).
flowchart TB subgraph Core["src/vs – core (lõi)"] base --> platform --> editor --> workbench workbench --> sessions platform --> code platform --> server end ext["extensions/ – built-in extensions"] -.->|chạy trong| EH["Extension Host"] EH <-->|RPC| workbench cli["cli/ – CLI viết bằng Rust"] -.-> server
Cách đọc vault hiệu quả
Nếu mới bắt đầu, đi theo thứ tự trong Lộ trình học tập + bài tập thực hành. Gặp thuật ngữ lạ thì tra Thuật ngữ (Glossary).