§ blog · Development07/07/2026
← Tất cả bài viết

KonexForge Themes: bộ theme VS Code với thẩm mỹ 'forge' — không phải một bản sao One Dark khác

Engineer nhìn vào editor cả ngày, nhưng thị trường theme VS Code gần như bão hòa bởi các biến thể gần giống hệt One Dark Pro. KonexForge Themes là bộ 4 theme mã nguồn mở chúng tôi tự làm — không phải để bán, mà vì bản sắc thị giác riêng cũng là một phần của văn hóa kỹ thuật.

DevelopmentOpen SourceVS CodeDeveloper Tools6 phút đọc
By KonexForge Engineering Team
FORGE PALETTE · BRACKET CYCLEorangeambersteeltealvioletcopperKonexForge DarkKonexForge LightKonexForge Dark HCKonexForge Light HCv0.1 → v0.2 → v0.3 · MIT · SEMANTIC HIGHLIGHTINGKonexForge-Theme

Engineer nhìn vào editor code nhiều giờ mỗi ngày hơn bất kỳ phần mềm nào khác — nhưng phần lớn theme VS Code phổ biến hiện nay là các biến thể gần giống hệt One Dark Pro: cùng một tông xanh xám, cùng một cách phối syntax, khác nhau ở vài chi tiết nhỏ. Không có gì sai với One Dark — nó phổ biến vì lý do chính đáng — nhưng chúng tôi muốn một bản sắc thị giác riêng cho công cụ dùng cả ngày, thay vì hòa vào một biển theme gần như không phân biệt được. KonexForge Themes là kết quả: bộ 4 theme mã nguồn mở giấy phép MIT, published hôm nay dưới publisher `konexforge` trên VS Code Marketplace.

Thẩm mỹ 'forge': kim loại nguội trên đe

Ý tưởng thị giác cốt lõi — mô tả trong README là 'hot orange, amber, and copper accents — like metal cooling from an anvil' — dùng nhóm màu cam/amber/copper nóng làm accent chính, cân bằng bởi các tông lạnh đối trọng: steel blue, slate teal, violet. Bảng màu gốc của biến thể Dark: nền editor `#14171C` (charcoal-slate, không phải đen thuần), accent chính cam `#FF7A33`, accent phụ amber `#F5A623`, accent thứ ba copper `#C97B4A`, và teal `#45B8AC` cho type/class. Light và hai biến thể High Contrast đều dẫn xuất từ cùng nhóm hue này — nghĩa là chuyển giữa Dark và Light không tạo cảm giác đang dùng hai theme khác nhau, chỉ là cùng một ngôn ngữ màu ở hai điều kiện ánh sáng.

Bốn biến thể trong một extension, không phải bốn lần cài đặt

KonexForge Dark cho coding thường ngày, KonexForge Light cho làm việc ban ngày hoặc trình chiếu, và hai biến thể High Contrast (Dark HC, Light HC) dành riêng cho accessibility — người dùng có thị lực yếu hoặc cần tương phản cao hơn mức bình thường. Đây không phải tính năng phụ thêm cho có: High Contrast là biến thể duy nhất loại bỏ hoàn toàn italic khỏi comment và từ khóa control-flow, vì italic — dù giúp phân biệt ngữ nghĩa ở điều kiện xem bình thường — lại làm giảm độ dễ đọc khi người dùng cần tương phản cao ưu tiên hàng đầu.

Semantic highlighting: tô màu theo ý nghĩa, không chỉ theo cú pháp

Phần lớn theme chỉ tô màu dựa trên token cú pháp (syntax token) — một `identifier` luôn cùng màu bất kể nó là tên biến, tên hàm, hay tên type. KonexForge Themes hỗ trợ semantic highlighting đầy đủ cho TypeScript, Python, Rust, Go, C#, và mọi ngôn ngữ có LSP hỗ trợ semantic token — nghĩa là màu sắc dựa trên ý nghĩa thực sự mà language server phân giải được: một biến cục bộ, một tham số hàm, một type, và một namespace có thể nhận màu khác nhau dù cùng là identifier về mặt cú pháp. Đây là lớp thông tin chỉ có được khi theme tích hợp đúng với semantic token API của VS Code, không phải regex tô màu theo pattern.

Bracket pair colorization theo chu kỳ hue có chủ đích

Một tính năng bổ sung ở v0.2.0: bracket pair colorization xoay vòng qua chuỗi hue cam → amber → steel blue → slate teal → violet → copper. Với code lồng nhau nhiều cấp (callback, JSX, generic type lồng), việc mỗi cặp ngoặc ở một cấp độ khác nhau nhận một màu riêng biệt trong chu kỳ giúp mắt theo dõi được cặp ngoặc đang mở/đóng mà không cần đếm thủ công — một chi tiết nhỏ nhưng ảnh hưởng trực tiếp đến tốc độ đọc code phức tạp.

Từ v0.1 đến v0.3 trong cùng một ngày phát triển

Lịch sử phiên bản của extension phản ánh đúng cách một công cụ nội bộ thường phát triển: v0.1.0 bắt đầu chỉ với một theme — KonexForge Dark — full workbench theming và syntax/semantic token coverage cơ bản. v0.2.0 thêm bracket pair colorization theo chu kỳ hue và mở rộng semantic token cho Rust, Go, C#, Python. v0.3.0 — bản hiện tại — đổi tên extension từ "KonexForge Dark" thành "KonexForge Themes" để phản ánh đúng phạm vi đã mở rộng, thêm ba biến thể Light, Dark High Contrast, và Light High Contrast, thống nhất toàn bộ dưới cùng một ngôn ngữ hue.

Vì sao một công ty dịch vụ phần mềm lại làm theme editor

Đây không phải lần đầu chúng tôi mở mã nguồn một công cụ nội bộ — tương tự cách chúng tôi xây và duy trì Autumn Note, một rich-text editor zero-dependency dùng trong các Pilot Build cần content editing. Lý do giống nhau: một công cụ được chính đội ngũ dùng hằng ngày, qua nhiều dự án thực tế, đáng tin cậy hơn nhiều so với một công cụ viết một lần rồi không ai động đến. Theme editor có vẻ nhỏ so với một AI Orchestrator hay một pipeline dữ liệu, nhưng cùng nguyên tắc áp dụng: nếu team tự tay dùng công cụ mình làm ra mỗi ngày, chất lượng của nó tự nhiên được kiểm chứng liên tục — không cần một khách hàng bên ngoài phàn nàn mới biết có vấn đề.

Kết luận

KonexForge Themes giải quyết một nhu cầu nhỏ nhưng có thật: một bản sắc thị giác riêng cho công cụ engineer nhìn vào cả ngày, đủ chi tiết kỹ thuật (semantic highlighting, bracket cycling, accessibility qua High Contrast) để không chỉ là một bảng màu đẹp mắt. Cài trực tiếp từ VS Code Marketplace, hoặc xem toàn bộ mã nguồn và theme JSON trên GitHub — đây cũng là loại chi tiết kỹ thuật nhỏ mà chúng tôi quan tâm trong lớp Development của mọi Pilot Build, không chỉ ở tính năng lớn mà cả trải nghiệm hằng ngày của đội ngũ kỹ thuật. Toàn bộ dự án mã nguồn mở của KonexForge được liệt kê ở trang Cộng đồng.

Bài viết liên quan

Development

Forge Select: bản thay thế Select2 zero-dependency, framework-agnostic mã nguồn mở

Select2 đã phục vụ cộng đồng web nhiều năm, nhưng dựa trên jQuery — một ràng buộc ngày càng khó chấp nhận với stack hiện đại. Forge Select là component select/combobox chúng tôi tự xây: toàn bộ core chỉ 5 file, zero runtime dependency, nhưng đủ tính năng cho sản phẩm thật — virtual scroll, tree select, tags, và accessibility đầy đủ.

Development

Autumn Note: vì sao chúng tôi tự xây một rich-text editor zero-dependency, mã nguồn mở

Hầu hết hệ thống nội bộ — CMS, admin portal, knowledge base — đều cần một ô soạn thảo văn bản có định dạng. Thay vì kéo theo jQuery hoặc một thư viện thương mại nặng, chúng tôi xây Autumn Note: editor WYSIWYG thuần ES2022, zero dependency, mã nguồn mở MIT.

Development

Accessibility cho website doanh nghiệp: vì sao 83,9% trang chủ vẫn trượt tiêu chí dễ nhất

Báo cáo WebAIM Million 2026 cho thấy 83,9% trang chủ có chữ không đủ tương phản — tiêu chí máy kiểm được dễ nhất trong WCAG — và sáu loại lỗi phổ biến nhất không đổi suốt bảy năm. Đây không phải vấn đề thiếu kiến thức, mà là vấn đề đo sai.

Có một bài toán tương tự đang cần giải?

Liên hệ team