Kecualikan folder dari pencarian tetapi bukan dari daftar proyek

95

Saya memiliki beberapa proyek berbeda dengan yang sama core.

Yang saya butuhkan hanyalah menandai semua proyek yang tidak saat ini excludeduntuk menghindari pencarian melalui mereka (pencarian sederhana, shift + cmd + n dll.)

Dengan kata lain saya ingin mendapatkan hasil pencarian dari core+ current project.

Apakah ada cara untuk melakukan closebeberapa proyek tetapi memilikinya tersedia di projects listdan opensemudah itu ditutup? Atau mungkin Anda punya pengalaman lain?

masukkan deskripsi gambar di sini

Vitalii Petrychuk
sumber
7
Kecualikan dari penelusuran teks biasa - mudah - cukup tentukan cakupan khusus (Preferensi | Cakupan) dan gunakan di "Temukan / Ganti di jalur" dan dialog serupa. Tapi ini tidak akan bekerja untuk "Navigate | File / Class / Symbol" karena selalu bekerja dengan keseluruhan proyek. Daripada itu - lebih baik mengatur ulang struktur folder Anda ("menyembunyikan folder ini karena saya bekerja dengan yang lain" bukanlah pendekatan yang benar).
LazyOne
Ya, saya salah satu cara untuk melakukan apa yang saya inginkan adalah membuat untuk setiap folder proyek yang terpisah dan membuat symlink ke corefolder tersebut. Tapi saya mencari cara alternatif.
Vitalii Petrychuk
1
Tidak perlu symlink (meskipun saya juga menggunakannya - berfungsi dengan baik untuk saya). Anda dapat melampirkannya sebagai Root Konten Tambahan sebagai gantinya (Preferensi | Direktori).
LazyOne
Bagus! Silakan posting tanggapan Anda sebagai jawaban dan saya akan menerimanya.
Vitalii Petrychuk

Jawaban:

67

Untuk menerapkan kebiasaan menggunakan pencarian Lingkup Setting> Project Settings> Scopesuntuk menggunakannya untuk Find in Pathatau Replace in Path.
Saya menyarankan untuk mengatur ulang folder Anda, sehingga tidak ada file yang tidak perlu tersisa di direktori proyek. Juga, Anda dapat menentukan Sumber Akar dengan pergi ke Settings> Project Settings> Directoriesdan menambahkan direktori tambahan.

Justinas
sumber
4
Anda dapat membuat Scope dengan ini:!file[*]:.idea/*&&!file[*]:.idea//*&&!file[*]:app/cache//*&&!file[*]:app/logs//*
Roukmoute
13
FYI untuk pengguna Mac, iniPhpStorm > Preferences > Appearance & Behavior > Scopes
Wesley Smith
Saya pikir jawaban ini sudah ketinggalan zaman sekarang. Pengaturan> Pengaturan Proyek> Cakupan tampaknya tidak ada
Andrew
3
@Andrew Ada di bawah Pengaturan> Penampilan & Perilaku> Cakupan untuk CE 2016.3
tex
Terima kasih tex ... itu dia.
Andrew
41

Ini adalah cara terbaik untuk mengecualikan direktori dari hasil pencarian Anda. Saya mengerjakan proyek Magento besar dengan banyak direktori yang tidak saya inginkan dalam hasil pencarian. Ini memecahkan masalah saya. Jika proyek Anda berisi direktori / vendor, ini akan membantu mempercepat pengindeksan di PHPStorm karena diabaikan.

Klik kanan pada folder mana saja untuk menampilkan opsi berikut.

Kecualikan dari pencarian

TheRealJAG
sumber
Juga berfungsi untuk pengembangan paket Laravel. Cara yang disarankan untuk melakukan ini untuk membuat folder paket di root proyek Anda. Sekarang itu akan menggunakan kelas yang sama dengan proyek utama Anda sehingga Anda akhirnya mendapatkan banyak kelas duplikat ada kesalahan. Klik kanan dan lakukan ini dan itu bekerja seperti sulap. Pendekatan lingkup tidak berhasil untuk saya!
Juha Vehnia
39

Pada versi 2016.3 ini ditemukan di bawah Pengaturan > Penampilan & Perilaku > Cakupan .

Atau terlepas dari versinya , cukup buka Setelan dan ketik "cakupan" ke dalam kotak telusur di bagian atas.

Kemudian klik saja simbol + untuk menambahkan cakupan, pilih folder yang ingin Anda kecualikan, dan klik Kecualikan secara Rekursif dan terapkan.

Kemudian ketika Anda mencari menggunakan CTRL + SHIFT + F, di bawah Opsi> Cakupan pilih Kustom dan pilih ruang lingkup yang baru saja Anda buat (terima kasih komentator).

Andrew
sumber
4
Hanya ingin menambahkan jika Anda menggunakan TEMUKAN seperti cmd + shift + F maka di tab opsi Anda dapat menyesuaikan radio dan kemudian memilih elips dan membuka alat lingkup dan Anda dapat memilih atau membuat ruang lingkup untuk mengecualikan apa yang Anda butuhkan.
daveferrara1
4
This automatically excludes this folder's contents from the searches...setelah saya membuat cakupan ubahsuaian, penelusuran saya Ctrl + Shift + F masih menelusuri secara global hingga saya memilih "Ubahsuaian" secara eksplisit dan memilih cakupan saya seperti yang disarankan @ daveferrara1.
Dimitry K
1
Pada tahun 2020: Setelah mengklik + pilihan Localvs Sharedberarti apakah pengecualian masuk ke VCS atau tidak. Maka Anda harus menamainya . Kemudian setelah langkah @ DimitryK (sekarang disebut Scopetab) Anda harus memilih nama yang sama di menu drop-down. (Apakah Jetbrains UX mengutak-atik mengubah orang lain menjadi orang tua yang pemarah?)
Bob Stein
2

Seperti yang dikatakan @Justinas dan pemberi komentar: Anda dapat membuat cakupan kustom dan mengganggu diri Anda sendiri setiap saat dengan memilih cakupan kustom tersebut saat menggunakan Find in Path (dan sejenisnya) karena PhpStorm tidak menggunakan cakupan kustom tersebut secara default 🤦🏻‍♂️

Mengecualikan direktori node_modules akan merusak pelengkapan otomatis dan fungsionalitas bantuan kode lainnya. Anda tidak ingin melakukan itu.

Namun, saya menemukan peretasan yang tidak memerlukan pengecualian direktori apa pun dari node_modules atau cakupan khusus:

  1. Tutup PhpStorm. Pastikan itu tidak berjalan.
  2. Buka name_of_your_project.iml di direktori .idea dalam direktori proyek Anda dengan editor teks favorit Anda. Selama itu bukan PhpStorm.
  3. Hapus garis <content url="file://$MODULE_DIR$/node_modules" />
  4. Menyimpan.
  5. Nikmati hidup kembali.

Saya merasa amatir JetBrains untuk memasukkan direktori penyimpanan ketergantungan seperti node_modules dari JavaScript / TypeScript dan vendor PHP secara default. Hampir tidak ada kasus penggunaan untuk menyertakan direktori tersebut dalam fungsionalitas temukan & ganti, apalagi fungsi refaktor.

RoestVrijStaal
sumber