Seringkali kita perlu mencari kata atau pola tertentu di dalam proyek yang memiliki banyak folder. Jika menggunakan Find biasa (Ctrl+F), pencarian hanya dilakukan di file yang sedang terbuka. Untuk pencarian lintas file di dalam proyek, VS Code menyediakan fitur Find in Files (Ctrl+Shift+F) — dan di sinilah kita bisa membatasi pencarian hanya ke folder tertentu.

Membuka Find in Files
Ada beberapa cara membuka panel pencarian lintas file:
- Keyboard shortcut: Tekan
Ctrl+Shift+F(Windows/Linux) atauCmd+Shift+F(macOS). - Menu: Klik Edit → Find in Files.
- Icon: Klik icon pencarian di panel Activity Bar, lalu klik tab Search.
Panel pencarian akan muncul di sidebar kiri dengan dua kolom utama: “Search” (kata yang dicari) dan “files to include” (filter file/folder).
Membatasi Pencarian ke Folder Tertentu
Di kolom “files to include”, kita bisa menuliskan path folder atau pola glob untuk membatasi pencarian.
Cara 1: Tulis Nama Folder Langsung
Jika hanya ingin mencari di dalam folder src, cukup ketik:
src
Untuk beberapa folder sekaligus, pisahkan dengan koma:
src, app/Controllers
Cara 2: Pakai Pola Glob
VS Code mendukung pola glob untuk pencarian yang lebih spesifik:
| Pola | Artinya |
|---|---|
src/**/*.php | Semua file .php di dalam folder src (dan sub-folder) |
app/Controllers/**/*.php | Hanya file .php di Controllers |
**/routes/*.php | Semua file .php di folder routes (di mana pun) |
*.blade.php | Semua file Blade template di root |
Cara 3: Klik Kanan Folder di Explorer
Cara tercepat: di panel Explorer, klik kanan pada folder yang ingin dicari, lalu pilih “Find in Folder…”. VS Code otomatis mengisi kolom “files to include” dengan path folder tersebut.
Mengecualikan Folder dari Pencarian
Selain memasukkan folder, kita juga bisa mengecualikan folder tertentu di kolom “files to exclude”. Contoh:
node_modules, vendor, storage/logs
Atau pakai pola glob:
**/{node_modules,vendor,dist}/**
Tips Tambahan
- Regex: Centang ikon
.*di kolom pencarian untuk menggunakan regular expression. - Match case: Centang icon
Abuntuk pencarian huruf besar-kecil sensitif. - Whole word: Centang icon
abuntuk mencari kata utuh saja (bukan bagian dari kata lain). - Pengaturan global: Bisa diatur di
settings.jsonagar pencarian selalu exclude folder tertentu secara otomatis.
"search.exclude": {
"**/node_modules": true,
"**/vendor": true,
"**/storage/logs": true
}Keyboard Shortcuts untuk Pencarian
Sebagai developer, menghafal shortcut pencarian di VS Code bisa menghemat banyak waktu. Berikut shortcut yang perlu diketahui:
| Shortcut (Windows/Linux) | Shortcut (macOS) | Fungsi |
|---|---|---|
Ctrl+F | Cmd+F | Find — cari di file aktif saja |
Ctrl+Shift+F | Cmd+Shift+F | Find in Files — cari lintas file dalam proyek |
Ctrl+H | Cmd+H | Replace — ganti teks di file aktif |
Ctrl+Shift+H | Cmd+Shift+H | Replace in Files — ganti teks lintas file |
F4 | F4 | Next match — pindah ke hasil pencarian berikutnya |
Shift+F4 | Shift+F4 | Previous match — kembali ke hasil sebelumnya |
Singkatnya: Ctrl+F untuk satu file, Ctrl+Shift+F untuk semua file, dan tambah H untuk mode replace. Shortcut ini selalu konsisten di semua project, jadi sekali hafal, berguna seumur hidup.
Regex Search: Pola yang Sering Dipakai Developer
Bayangkan regex seperti filter pintar — bukan sekadar cari kata persis, tapi cari berdasarkan pola. Di VS Code, aktifkan regex dengan menekan tombol .* di kolom pencarian atau gunakan shortcut Alt+R.
Beberapa pola regex yang sering saya gunakan saat bekerja dengan codebase besar:
| Pola Regex | Artinya |
|---|---|
function\s+\w+ | Mencari semua deklarasi function |
TODO|FIXME|HACK | Mencari semua komentar TODO, FIXME, atau HACK |
console\.(log|warn|error) | Mencari semua console.log, console.warn, console.error |
import\s+.*from | Mencari semua import statement |
\$\w+ | Mencari semua variabel PHP |
class\s+\w+\s+extends | Mencari class yang mewarisi class lain |
Trik: kombinasikan regex dengan filter folder. Misalnya, ingin mencari semua TODO hanya di folder src? Ketik TODO|FIXME di kolom search, lalu src/**/*.php di kolom “files to include”. Hasilnya? Bersih dan relevan.
Search & Replace Lintas File
Suatu hari saya harus mengganti nama method getUserName() menjadi getDisplayName() di 50+ file. Gila kalau buka satu-satu. Untungnya, VS Code punya Replace in Files (Ctrl+Shift+H).
Cara pakainya:
- Tekan
Ctrl+Shift+H— panel Replace in Files muncul. - Ketik kata lama di kolom atas (
getUserName). - Ketik kata baru di kolom bawah (
getDisplayName). - Batasi folder di “files to include” (misal:
src/). - Klik Replace All untuk mengganti sekaligus, atau review satu per satu dengan tombol Replace.
Peringatan: selalu review hasil replace sebelum menekan “Replace All”. Satu typo bisa menghancurkan seluruh codebase. Cara aman: gunakan git branch terpisah dulu, lalu merge setelah yakin hasilnya benar.
Fitur ini sangat powerful untuk refactoring massal — rename variable, mengganti pattern kode yang sudah deprecated, atau membersihkan komentar debug yang tersebar di mana-mana.
Multi-Root Workspace Search
VS Code mendukung multi-root workspace — artinya kita bisa membuka beberapa folder sekaligus di satu window. Ini sangat berguna saat bekerja dengan monorepo atau project yang terpisah tapi masih saling terkait.
Ketika multi-root workspace aktif, panel Find in Files otomatis mencari di semua folder yang terbuka. Untuk membatasi ke satu folder saja, tulis nama folder workspace di kolom “files to include”. Misalnya, jika workspace memiliki dua folder frontend dan backend, ketik backend/src untuk hanya mencari di folder backend.
Fitur ini seperti punya beberapa jendela kamar yang bisa kita pilih mau mencari ke kamar yang mana — tanpa perlu membuka kamar satu per satu.
Cari via Terminal: grep dan ripgrep
VS Code juga punya integrated terminal, dan kadang lebih cepat mencari lewat CLI — terutama untuk proyek yang sangat besar. Dua tool andalan: grep dan ripgrep (rg).
Menggunakan grep
grep -r "searchTerm" src/
Perintah ini mencari searchTerm di semua file dalam folder src/ secara rekursif. Tambahkan -i untuk case-insensitive, atau --include="*.php" untuk filter tipe file.
Menggunakan ripgrep
rg "searchTerm" src/
ripgrep jauh lebih cepat dari grep karena otomatis mengabaikan file di .gitignore dan menggunakan parallel processing. Ini tool yang sama yang dijalankan di balik mesin pencarian VS Code. Kalau belum terinstal, install via brew install ripgrep (macOS) atau apt install ripgrep (Ubuntu).
Perbandingan singkat:
| Fitur | grep | ripgrep (rg) | VS Code Search |
|---|---|---|---|
| Kecepatan | Sedang | Sangat cepat | Cepat |
| GUI | Tidak | Tidak | Ya |
| Replace | Via sed/awk | Tidak built-in | Ya, visual |
| Respect .gitignore | Tidak | Ya | Ya |
| Regex | Basic | Full regex | Full regex |
Saya pribadi lebih suka VS Code Search untuk pencarian visual (bisa langsung klik jump ke file), tapi pakai rg di terminal untuk scripting atau CI/CD pipeline.
Wildcards dan File Type Filter
Beberapa trik wildcard yang sering saya pakai:
*— wildcard untuk satu level folder. Contoh:src/*/index.phpmencari di sub-folder langsung di bawah src.**— wildcard untuk semua level sub-folder. Contoh:src/**/index.phpmencari di src dan semua sub-folder di bawahnya.*.php— filter hanya file PHP. Sangat berguna saat proyek campuran.*.{php,blade.php}— filter beberapa ekstensi sekaligus.
Untuk pencarian case-sensitive, centang tombol Ab atau tekan Alt+C. Ini penting saat mencari nama class yang ada di camelCase vs snake_case — dua gaya penamaan yang sering bentrok dalam satu codebase.
Alternatif: IntelliJ, Sublime Text, dan Atom
VS Code bukan satu-satunya editor dengan pencarian lintas file. Berikut perbandingan singkat:
IntelliJ IDEA
IntelliJ punya fitur Find in Path (Ctrl+Shift+F — shortcut yang sama!). Kelebihannya: pencarian bisa di-scope ke “Module”, “Project”, “Directory”, atau bahkan “Scope” kustom. IntelliJ juga bisa melakukan structural search — mencari berdasarkan struktur kode (misal: semua method dengan annotasi @Override). Ini sangat powerful untuk project Java/Kotlin besar, tapi terasa berat untuk project kecil.
Sublime Text
Sublime Text menggunakan Find in Files (Ctrl+Shift+F) yang mirip dengan VS Code. Fitur “Where” memungkinkan filter folder. Kelebihannya: Multi-Cursor — bisa mengedit beberapa posisi sekaligus setelah pencarian. Cepat dan ringan. Kekurangannya: tidak se-intuitive VS Code untuk pemula.
Atom (Telah Discontinue)
Atom dari GitHub juga punya Find in Project (Ctrl+Shift+F). Fiturnya cukup lengkap termasuk regex dan filter. Sayangnya, Atom sudah officially discontinued oleh GitHub pada Desember 2022. Tapi kalau masih menggunakannya, fitur search-nya tetap fungsional.
Dari semua editor di atas, VS Code menurut saya menawarkan keseimbangan terbaik antara kemudahan penggunaan dan fitur pencarian yang lengkap.
Pengaturan Global di settings.json
Agar tidak perlu mengetik exclude setiap kali, kita bisa mengatur search.exclude di settings.json secara global. Ini seperti memberi instruksi ke VS Code: “Jangan pernah cari di folder-folder ini.”
// settings.json
{
"search.exclude": {
"**/node_modules": true,
"**/vendor": true,
"**/storage/logs": true,
"**/*.min.js": true,
"**/*.map": true
},
"search.useIgnoreFiles": true,
"search.followSymlinks": false
}Opsi search.useIgnoreFiles: true membuat VS Code otomatis mengabaikan file yang ada di .gitignore. Sangat berguna — kita tidak perlu mengecualikan node_modules atau dist secara manual.
Catatan Pribadi: Pengalaman Pertama
Saya ingat pertama kali harus mencari string error di project Laravel yang punya ratusan file. Awalnya saya buka file satu per satu — seperti mencari jarum di tumpukan jerami. Butuh waktu hampir satu jam untuk menemukan source masalah.
Kemudian seorang rekan senior bilang: “Coba Ctrl+Shift+F.” Sejak saat itu, dunia berubah. Pencarian yang tadi butuh satu jam, selesai dalam hitungan detik. Saya langsung ketagihan menjelajahi semua fitur pencarian VS Code — dari regex, glob pattern, sampai search & replace lintas file.
Pelajaran yang saya dapat: tool yang tepat di tangan yang tepat bisa menghemat waktu luar biasa. Jangan pernah meremehkan fitur “sederhana” seperti pencarian — di balik tampilannya yang sederhana, VS Code Search adalah mesin yang sangat powerful.
Dengan membatasi pencarian ke folder tertentu, hasil pencarian menjadi lebih relevan dan tidak tercampur dengan file-file yang tidak diinginkan. Selamat mencoba! 😊
Komentar Terbaru