Gõ tiếng Việt có dấu trong VS Code và Terminal là chuyện mà gần như lập trình viên nào cũng gặp khi mới dựng môi trường làm việc. Đội ngũ chúng tôi đã nhận rất nhiều câu hỏi tương tự từ bạn đọc. Bạn gõ Word thì mượt, nhưng mở trình soạn thảo code lên thì chữ có dấu lại lệch hàng. Có khi cả dòng hiện thành ô vuông kèm dấu chấm hỏi. Cảm giác này khá khó chịu, nhất là khi bạn cần đọc lại comment của chính mình sau vài tuần.
Vì sao dân lập trình hay gặp lỗi font và dấu tiếng Việt
Nguyên nhân đầu tiên nằm ở bản chất của font monospace. Trong lập trình, mọi ký tự đều phải có cùng độ rộng để các dòng code thẳng hàng. Tuy nhiên, phần lớn font monospace kinh điển được thiết kế chủ yếu cho tiếng Anh. Khi bạn gõ những chữ như ệ, ớ hay đ, font gốc có thể không chứa sẵn các glyph này.
Lúc đó hệ điều hành sẽ mượn tạm ký tự từ một font khác. Kết quả là dấu bị lệch và chữ nhảy cỡ, nhìn khá lộn xộn. Bạn sẽ thấy rõ điều này khi so sánh cùng một dòng comment ở hai cửa sổ khác nhau.
Nguyên nhân thứ hai thường xuất hiện khi làm việc nhóm. Bạn viết comment hoặc commit message bằng tiếng Việt, nhưng môi trường Git hay Terminal chưa đồng bộ mã hóa UTF-8. Sau khi đẩy code lên máy chủ, các đoạn chữ đó có thể biến thành chuỗi ký tự khó hiểu. Chúng tôi từng gặp trường hợp một đồng nghiệp commit suốt nhiều ngày mà không ai để ý. Đến khi đọc lại lịch sử thay đổi mới phát hiện toàn bộ ghi chú đã bị hỏng. Vì vậy lỗi mã hóa không chỉ gây khó chịu về mặt thẩm mỹ mà còn ảnh hưởng đến quy trình làm việc chung.
Chọn font lập trình vừa đẹp vừa hiển thị tiếng Việt tốt
Để giải quyết tận gốc, bước quan trọng nhất là chọn một font lập trình có hỗ trợ đầy đủ bảng ký tự Unicode tiếng Việt. Một font tốt cần có nét chữ sắc gọn, khoảng cách dòng hợp lý và các dấu thanh không bị dính vào thân chữ. Đội ngũ kỹ thuật của chúng tôi đã thử nhiều lựa chọn khác nhau, và ba cái tên dưới đây cho kết quả khá ổn định.
- Cascadia Code: font do Microsoft phát triển, đi kèm Windows Terminal, hiển thị tiếng Việt khá tốt.
- JetBrains Mono: chiều cao ký tự lớn, đọc code đỡ mỏi mắt, các dấu thanh hiển thị khá thẳng hàng.
- Fira Code: nổi bật với tính năng ligatures giúp các toán tử như === hay => trông liền mạch hơn.
Sau khi tải font về, việc cài đặt khá đơn giản. Trên Windows, bạn chỉ cần nhấp đúp vào file font rồi chọn cài đặt. Trong VS Code, nhấn Ctrl + Comma để mở Settings, tìm mục “Font Family” và nhập đúng tên font. Với Windows Terminal, vào phần cài đặt Profile, mở mục Appearance và chọn font vừa cài. Nhớ khởi động lại ứng dụng để thay đổi có hiệu lực.
Bộ gõ và những điều cần lưu ý khi làm việc với code
Font chữ chỉ là một nửa câu chuyện. Bộ gõ tiếng Việt cũng ảnh hưởng không nhỏ đến trải nghiệm, vì bạn thường xuyên phải chuyển nhanh giữa gõ chữ và các phím tắt điều hướng. Qua thực tế sử dụng, chúng tôi nhận thấy một số bộ gõ đôi khi xung đột với trình soạn thảo. Tính năng tự sửa chính tả có thể làm kẹt phím Backspace, hoặc viết hoa sai vị trí tên biến trong file code.
Khi viết tài liệu README bằng Markdown hay trò chuyện trên Slack, Discord, bạn có thể gặp tình trạng bộ gõ phản hồi chậm hoặc mất chữ cái đầu đoạn. Nếu gặp lỗi kiểu này, hãy thử tắt tạm tính năng tự động sửa lỗi của bộ gõ. Khi cần nhập code liên tục, chuyển sang chế độ gõ tiếng Anh cũng là cách an toàn. Với các công cụ được tối ưu cho Unicode và trình soạn thảo, tình trạng này sẽ giảm đi rõ rệt. Nếu bạn đang cân nhắc chọn công cụ, có thể tham khảo thêm danh sách phần mềm gõ tiếng Việt phổ biến hiện nay để so sánh.
Đôi khi lỗi không nằm ở font hay bộ gõ mà ở chính cấu hình mã hóa của file. Hãy kiểm tra góc dưới bên phải của VS Code xem file đang được lưu ở UTF-8 chưa. Nếu file cũ đang dùng bảng mã khác, bạn có thể chuyển sang UTF-8 rồi lưu lại để tránh chữ bị hỏng khi chia sẻ cho người khác.
So sánh font mặc định và font monospace hỗ trợ Unicode
Font mặc định của hệ thống thường được thiết kế để đọc văn bản thông thường, nên chưa tối ưu cho việc căn cột code. Ngược lại, font monospace hỗ trợ Unicode giữ được sự đều đặn về độ rộng, đồng thời vẫn hiển thị dấu tiếng Việt khá gọn. Điều này đặc biệt rõ khi bạn cuộn qua một file dài có cả code lẫn comment tiếng Việt.
Chúng tôi thấy sự khác biệt rõ nhất ở chỗ dấu thanh. Với font mặc định, dấu đôi khi nhô lên hoặc lệch khỏi đường kẻ dòng. Với font monospace có hỗ trợ tốt, dấu nằm đúng vị trí và không làm dòng trông xộc xệch. Bạn nên thử mở cùng một đoạn code ở hai font để tự cảm nhận.
Kết luận
Chúng tôi cho rằng việc dành vài phút để chọn font và cấu hình bộ gõ phù hợp sẽ giúp bạn tiết kiệm rất nhiều thời gian về sau. Thay vì phải chịu đựng những ký tự méo mó trên màn hình, một môi trường làm việc gọn gàng sẽ khiến việc viết code và tài liệu tiếng Việt dễ chịu hơn nhiều. Trước khi áp dụng hàng loạt, bạn nên thử cấu hình trên đúng IDE đang dùng để kiểm tra độ tương thích. Nếu muốn tìm hiểu thêm về cách cài đặt font chữ cho máy tính, bạn có thể tham khảo hướng dẫn chi tiết tại đó.


