Khi mình lần đầu chuyển sang Linux để lập trình
Ba năm trước, mình chuyển toàn bộ workflow lập trình từ Windows sang Ubuntu. Vấn đề đầu tiên gặp phải không phải terminal hay package manager — mà là editor. Mình đã thử Vim, Emacs, Sublime Text… nhưng cuối cùng quay lại Visual Studio Code. Lý do đơn giản: nó vừa nhẹ, vừa mạnh, lại có ecosystem extension khổng lồ mà không editor nào sánh được.
Bạn mới chuyển sang Linux hay đang tìm editor ưng ý? Bài này sẽ chỉ cách cài đúng, cấu hình hợp lý và khai thác những tính năng thực sự hữu ích — không chỉ cài xong rồi để đó.
VSCode là gì và tại sao nên dùng trên Linux?
Visual Studio Code là code editor mã nguồn mở của Microsoft, xây dựng trên nền Electron. Nhiều người nghe Electron là ngại ngay vì lo nặng, chậm — mình cũng từng nghĩ vậy. Nhưng thực tế trên Ubuntu 22.04, VSCode khởi động trong khoảng 2 giây và dùng khoảng 200–300MB RAM khi mở project vừa phải. Đủ chạy tốt ngay cả trên VPS 2GB.
So với các editor khác, mình thấy VSCode nổi bật ở mấy điểm này:
- IntelliSense mạnh: Auto-complete thông minh cho Python, JavaScript, TypeScript, Go…
- Tích hợp Git: Diff, commit, blame ngay trong editor — không cần rời terminal
- Extension marketplace: 30,000+ extension, từ linter đến Docker, SSH remote
- Remote Development: Kết nối SSH vào server và edit file như đang làm local
- Terminal tích hợp: Mở terminal ngay trong editor, split window thoải mái
Cài đặt VSCode trên Linux
Tùy distro mà cách cài sẽ khác nhau. Mình chia ra từng loại cho bạn dễ follow:
Ubuntu / Debian — Cài qua apt repository (khuyến nghị)
Cách này cho phép nhận update tự động khi có phiên bản mới — không cần tải tay:
# Cài các dependencies cần thiết
sudo apt install wget gpg apt-transport-https -y
# Download và import GPG key của Microsoft
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
# Thêm VSCode repository
echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | sudo tee /etc/apt/sources.list.d/vscode.list > /dev/null
# Cài đặt
sudo apt update && sudo apt install code -y
Fedora / RHEL / CentOS — Cài qua dnf
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
sudo dnf check-update && sudo dnf install code -y
Arch Linux / Manjaro — Cài qua AUR
# Dùng yay hoặc paru (AUR helper)
yay -S visual-studio-code-bin
# Hoặc nếu muốn bản open source:
yay -S vscodium-bin
Cài qua Snap (mọi distro)
Nếu distro của bạn hỗ trợ Snap, đây là cách nhanh nhất:
sudo snap install code --classic
Cấu hình ban đầu — Đừng bỏ qua bước này
Cài xong mà dùng mặc định thì uổng lắm. Mình đã từng làm vậy và mất cả tháng mới phát hiện ra mình đang bỏ lỡ rất nhiều tính năng hay.
Chỉnh settings.json ngay từ đầu
Nhấn Ctrl+Shift+P → gõ “Open User Settings (JSON)” để chỉnh trực tiếp:
{
"editor.fontSize": 14,
"editor.tabSize": 2,
"editor.insertSpaces": true,
"editor.formatOnSave": true,
"editor.minimap.enabled": false,
"editor.wordWrap": "on",
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 1000,
"terminal.integrated.fontSize": 13
}
Minimap mình tắt vì chiếm màn hình mà ít khi đụng đến. Bật formatOnSave mới thấy tiết kiệm thời gian ra sao — code tự format mỗi khi save, không cần tranh luận về style với ai nữa.
Extension cài ngay từ đầu
Những extension mình dùng hàng ngày, cài bằng lệnh cho nhanh:
# Python development
code --install-extension ms-python.python
code --install-extension ms-python.black-formatter
# Git nâng cao
code --install-extension eamodio.gitlens
code --install-extension mhutchie.git-graph
# Remote SSH vào server
code --install-extension ms-vscode-remote.remote-ssh
# Docker
code --install-extension ms-azuretools.vscode-docker
# Format code tự động
code --install-extension esbenp.prettier-vscode
Tips & Tricks từ thực chiến
Workspace settings — Tách biệt cấu hình theo project
Global settings đôi khi gây rắc rối khi làm nhiều project cùng lúc — ví dụ project Python dùng tab size 4, project JS dùng 2. Giải pháp là tạo file .vscode/settings.json ngay trong project:
{
"python.defaultInterpreterPath": "./venv/bin/python",
"editor.tabSize": 4,
"[python]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "ms-python.black-formatter"
}
}
Settings này chỉ áp dụng cho project hiện tại. Commit file này vào Git để cả team tự động dùng chung cấu hình — không cần gửi hướng dẫn setup nữa.
Multi-cursor editing — Tính năng ít người biết
Khi cần sửa nhiều dòng cùng lúc, đây là những phím tắt mình dùng nhiều nhất:
Alt+Click: Thêm cursor tại vị trí clickCtrl+Alt+Down/Up: Thêm cursor ở dòng dưới/trênCtrl+D: Chọn từ tiếp theo giống từ đang bôi đenCtrl+Shift+L: Chọn tất cả từ giống nhau trong file — cực hữu ích khi rename biến
Mở VSCode từ terminal
# Mở VSCode tại thư mục hiện tại
code .
# Mở file cụ thể
code /path/to/file.py
# Mở file và nhảy đến dòng cụ thể (hữu ích khi xem log lỗi)
code -g /path/to/file.py:42
Remote SSH — Trick đắt giá khi làm việc với server
Cài extension Remote-SSH xong, thêm config vào ~/.ssh/config:
Host myserver
HostName 192.168.1.100
User ubuntu
IdentityFile ~/.ssh/id_rsa
Nhấn F1 → “Remote-SSH: Connect to Host” → chọn myserver. Thế là xong. Bạn edit file trên server y hệt làm local — terminal, extension đều chạy bình thường. Mình dùng cái này hàng ngày để debug code trên VPS, tiết kiệm hơn nhiều so với SSH rồi dùng vim.
Test Coverage trực quan — Bài học từ refactor 50K lines
Mình từng refactor codebase 50K lines. Bài học đắt nhất: phải có test coverage tốt trước khi chạm vào logic. Lúc đó mình dùng extension Coverage Gutters — nó hiển thị màu đỏ trên gutter bên trái cho dòng chưa có test, màu xanh là đã cover. Nhìn một cái biết ngay phần nào cần viết test trước khi dám sửa.
# Cài Coverage Gutters
code --install-extension ryanluker.vscode-coverage-gutters
# Chạy pytest với coverage report
pip install pytest-cov
pytest --cov=. --cov-report=xml
# Sau đó Ctrl+Shift+P → "Coverage Gutters: Display Coverage"
Kết luận
Ba năm dùng VSCode làm editor chính, mình chưa một lần thấy cần switch sang cái khác. Không phải vì hype — mà vì nó xử lý được mọi thứ mình cần hàng ngày: remote SSH vào server, debug Python, xem diff Git, viết Dockerfile… tất cả trong một cửa sổ.
Quan trọng là đừng chỉ cài xong rồi dùng mặc định. Bỏ 30 phút cấu hình settings.json, cài 5–6 extension cần thiết, học vài shortcut hay dùng. Sau 1–2 tuần làm quen, tốc độ làm việc sẽ tăng rõ rệt.
Một lưu ý nhỏ: đừng cài hết 20 extension một lúc. Mình từng làm vậy, editor chậm hẳn mà không biết cái nào gây ra. Cài theo nhu cầu thực tế — cần gì cài nấy.

