Tổng quan repo microsoft/vscode
← Về MOC
1. Repo này là gì?
Repo microsoft/vscode có tên chính thức là “Code - OSS” (OSS – Open Source Software, phần mềm mã nguồn mở). Đây là nơi Microsoft phát triển trình soạn thảo cùng cộng đồng: viết code, quản lý issue, công bố roadmap (lộ trình) và iteration plan (kế hoạch từng vòng phát triển). Mã nguồn được phát hành theo giấy phép MIT (giấy phép mở, cho phép dùng/sửa/phân phối tự do, chỉ cần giữ thông báo bản quyền).
Code - OSS ≠ Visual Studio Code
Visual Studio Code (bản bạn tải từ code.visualstudio.com) là một distribution (bản phân phối) được build từ Code - OSS cộng thêm một số tùy biến riêng của Microsoft, phát hành theo giấy phép thương mại của Microsoft (không phải MIT).
Những gì có trong bản VS Code nhưng KHÔNG có trong Code - OSS
Theo wiki chính thức Differences between the repository and Visual Studio Code, phần khác biệt chủ yếu nằm trong file product.json và một ít code/tài nguyên bổ sung:
| Thành phần | Lý do tách riêng |
|---|---|
| Icon, tên sản phẩm “Microsoft Visual Studio Code” | Là thương hiệu (trademark) của Microsoft |
| Kết nối Visual Studio Marketplace (chợ extension) | Dịch vụ do Microsoft vận hành, có điều khoản sử dụng riêng |
| Danh sách extension được gợi ý | Cài từ Marketplace nên chỉ có trong bản phân phối |
| Một phần của Remote Development | Code dùng chung với dịch vụ có giấy phép độc quyền |
| Telemetry key (khóa gửi dữ liệu thống kê), crash report | Để bản phân phối khác không gửi dữ liệu nhầm về Microsoft |
| Dịch vụ cập nhật (update service) | URL dịch vụ nằm trong product.json |
Ví dụ thực tế: product.json trong repo chỉ chứa tên trung tính.
// trích product.json (thư mục gốc repo)
{
"nameShort": "Code - OSS",
"nameLong": "Code - OSS",
"applicationName": "code-oss",
"dataFolderName": ".vscode-oss"
}Vì vậy khi bạn tự build từ source, ứng dụng có tên Code - OSS, lưu dữ liệu người dùng ở thư mục .vscode-oss và không truy cập được Marketplace (xem Build & Run từ mã nguồn).
2. Thông số kỹ thuật chính (tại commit khảo sát)
| Hạng mục | Giá trị | Nguồn trong repo |
|---|---|---|
| Phiên bản đang phát triển | 1.144.0 | package.json |
| Ngôn ngữ chính | TypeScript (ngôn ngữ JavaScript có kiểu tĩnh) | src/ |
| TypeScript dùng để build | @typescript/typescript6 (^6.0.2) | package.json → devDependencies |
| Node.js yêu cầu | 24.18.0 | .nvmrc |
| Electron | 43.7.7 | .npmrc (target=) |
| CLI | Rust (crate code-cli) | cli/Cargo.toml |
Số file .ts trong src/vs | ≈ 10.485 | đếm bằng find |
| Số built-in extension | 97 thư mục | extensions/ |
Electron là gì?
Electron là framework (bộ khung) cho phép viết ứng dụng desktop bằng công nghệ web (HTML/CSS/JavaScript). Electron gói Chromium (trình duyệt) + Node.js (môi trường chạy JavaScript phía máy chủ) vào một ứng dụng. VS Code desktop chạy trên Electron; VS Code for the Web chạy trực tiếp trong trình duyệt. Xem Kiến trúc đa tiến trình (Multi-process).
3. Nhịp phát hành (release cadence)
- README của repo vẫn ghi “VS Code is updated monthly” (cập nhật hằng tháng).
- Tuy nhiên, theo Visual Studio Magazine (11/03/2026), từ phiên bản 1.111 VS Code chuyển sang phát hành bản Stable hằng tuần. Trang Release Notes Archive cũng cho thấy từ 1.111 trở đi các bản chỉ đánh số phiên bản, không còn gắn tên tháng.
- Bản Insiders (bản dựng hằng ngày, dành cho người muốn thử tính năng mới) vẫn tồn tại song song.
Lưu ý mâu thuẫn tài liệu
README chưa cập nhật thông tin nhịp phát hành hằng tuần. Khi cần con số chính xác, hãy tin trang Release Notes chính thức: https://code.visualstudio.com/updates.
4. Repo này chứa những gì? (nhìn nhanh)
vscode/
├── src/ ← lõi (core) viết bằng TypeScript
├── extensions/ ← built-in extensions
├── cli/ ← CLI viết bằng Rust
├── build/ ← script build (gulp, esbuild...)
├── test/ ← test tích hợp, smoke test
├── scripts/ ← script chạy nhanh (code.sh, test.sh...)
└── .github/ ← CI, hướng dẫn cho người/AI đóng gópChi tiết từng thư mục: Cấu trúc thư mục gốc của repo.
5. Các repo liên quan (không nằm trong repo này)
Nhiều thành phần nằm ở repo riêng, ví dụ:
microsoft/vscode-docs– tài liệu người dùng (code.visualstudio.com)microsoft/monaco-editor– bản đóng gói Monaco Editor (trình soạn thảo dùng được trên web) dựa trênsrc/vs/editormicrosoft/vscode-extension-samples– ví dụ extension- Danh sách đầy đủ: wiki Related Projects
Liên kết
- Tiếp theo: Cấu trúc thư mục gốc của repo
- Nguồn: Nguồn tham khảo chính thức