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ầnLý 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 DevelopmentCode 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ụcGiá trịNguồn trong repo
Phiên bản đang phát triển1.144.0package.json
Ngôn ngữ chínhTypeScript (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ầu24.18.0.nvmrc
Electron43.7.7.npmrc (target=)
CLIRust (crate code-cli)cli/Cargo.toml
Số file .ts trong src/vs≈ 10.485đếm bằng find
Số built-in extension97 thư mụcextensions/

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óp

Chi 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ên src/vs/editor
  • microsoft/vscode-extension-samples – ví dụ extension
  • Danh sách đầy đủ: wiki Related Projects

Liên kết