Khi VS Code Đình Công: "Ép" IDE Format File Khổng Lồ & Ranh Giới Chịu Đựng
Một ngày đẹp trời, bạn viết một đoạn script crawl data hoặc query Database và xuất ra một file dump_data.json nặng cỡ 50MB. Theo thói quen, bạn click đúp vào file đó trong VS Code, định bụng bấm tổ hợp phím thần thánh Alt + Shift + F để format nó cho đẹp, dễ bề soi xét.
Nhưng... màn hình bỗng khựng lại. Quạt tản nhiệt laptop bắt đầu rú lên như động cơ phản lực. VS Code hiện dòng thông báo lạnh lùng: "Tokenization is skipped for long lines for performance reasons" (Đã bỏ qua highlight để giữ hiệu năng). Tệ hơn, khi bạn cố ép nó format, IDE lăn ra chết lâm sàng (Window is not responding).
Cái "vibe" code mượt mà bỗng chốc vỡ vụn.
Thực chất, VS Code được xây dựng trên nền tảng Electron (bản chất là một trình duyệt Chrome thu nhỏ). Việc bắt nó render và phân tích cú pháp (parse) hàng triệu dòng text trong một file là một cực hình đối với bộ nhớ RAM. Để tự bảo vệ, VS Code sinh ra những giới hạn ngầm.
Nhưng nếu bạn là một Vibe Coder đang ở thế "cứng đầu", bắt buộc phải soi file này ngay trong IDE thì sao? Hôm nay, mình sẽ chỉ anh em cách "mở ấn phong ấn" sức mạnh của VS Code, ép nó phải làm việc.
1. Phá Vỡ Giới Hạn: Ép VS Code Format File Lớn
Để buộc VS Code phục tùng và format những file JSON khổng lồ, chúng ta cần can thiệp sâu vào Settings. Quá trình này gồm 2 bước:
Bước 1: Bật khiên bảo vệ (Large File Optimizations)
Dù ép nó làm việc, ta vẫn phải giúp nó lược bỏ những gánh nặng không cần thiết (như tính toán word-wrap hay soi lỗi typo).
- Mở Settings (Bấm phím tắt
Ctrl +, trên Windows hoặcCmd + ,trên Mac). - Gõ vào ô tìm kiếm:
Editor: Large File Optimizations. - Đảm bảo ô tick này đã được bật. (Khi bật, VS Code sẽ tự động tắt bớt các tính năng nặng khi phát hiện file quá to).
Bước 2: Tăng giới hạn tính toán cho JSON
Mặc định, VS Code chỉ phân tích một số lượng object/mảng nhất định trong file JSON. Vượt qua số đó, nó sẽ từ chối format. Ta cần nới lỏng con số này:
- Vẫn ở màn hình Settings, gõ tìm kiếm:
json.maxItemsComputed. - Mặc định giá trị này thường là
5000. Hãy mạnh dạn sửa nó lên 20000 (hoặc cao hơn tùy vào độ "trâu" của lượng RAM trên máy bạn).
Sau khi setup xong, quay lại file JSON và bấm Format. VS Code sẽ ngoan ngoãn căn dòng cho bạn.
2. Trade-offs (Sự đánh đổi) & Cảnh báo từ Vibe Coder
Mình đã chia sẻ cách bẻ khóa, nhưng với tư cách là một người từng làm cháy vài thanh RAM, mình khuyên anh em: Chỉ dùng cách này như một giải pháp tạm thời (Workaround).
Việc tăng maxItemsComputed lên quá cao sẽ mang lại những hệ lụy nhãn tiền:
- Lag cục bộ: Trong lúc VS Code đang hì hục format, bạn gần như không thể gõ code ở các tab khác. Toàn bộ thao tác sẽ bị delay (độ trễ) vài giây.
- Ngốn RAM vô tội vạ: Một file JSON 50MB khi được bung ra thành cấu trúc cây DOM trong Electron có thể nuốt gọn 1-2GB RAM của bạn.
3. Lối đi nào thanh lịch hơn?
Một Vibe Coder thực thụ sẽ luôn biết ranh giới của công cụ. VS Code là Editor để gõ code, không phải công cụ xử lý Big Data.
Nếu bạn thường xuyên phải làm việc với các file JSON/Log từ vài chục MB đến hàng GB, hãy cất VS Code đi và sử dụng những thứ sinh ra để làm việc đó:
- Dùng Terminal với
jq: Vũ khí tối thượng của Backend Dev. Chỉ với một lệnhcat data.json | jq '.' > formatted.json, bạn có một file format đẹp đẽ trong tích tắc mà không tốn một giọt mồ hôi của IDE. - Dùng các Text Editor chuyên dụng: Sublime Text hoặc Notepad++ (trên Windows) được viết bằng C++, quản lý memory tốt hơn Electron hàng chục lần. Chúng có thể mở file 1GB nhẹ tựa lông hồng.
Lời kết
Viết code là nghệ thuật, và hiểu rõ công cụ mình đang xài là nền tảng của nghệ thuật đó. Bạn hoàn toàn có thể ép VS Code vượt quá giới hạn của nó, miễn là bạn chấp nhận "cống nạp" RAM và chịu đựng tiếng quạt tản nhiệt. Hãy tùy cơ ứng biến nhé!
All Rights Reserved