Bagaimana cara menemukan dan mengganti semua kejadian (dalam semua file) dalam Visual Studio Code?

245

Saya tidak tahu cara menemukan dan mengganti semua kemunculan kata dalam file yang berbeda menggunakan Visual Studio Code versi 1.0.

Saya mendapatkan kesan ini harus dimungkinkan karena melakukan Ctrl + Shift + F memungkinkan saya untuk hanya mencari folder, tetapi saya tidak mengerti bagaimana melanjutkan dari sini.

Saya mencari di berbagai kombinasi kunci https://code.visualstudio.com/Docs/customization/keybindings

Tapi saya hanya menemukan cara mengganti semua kejadian di file terbuka (Ctrl + h)

Semua bantuan sangat dihargai, ini membuatku gila.

Cisum Inas
sumber

Jawaban:

363

Saya menggunakan Visual Studio Code 1.8, dan fitur ini tersedia. Tapi agak sulit untuk dipahami pada awalnya, dan (pada saat penulisan) dokumen tidak menjelaskan dengan jelas cara menggunakannya, jadi inilah cara kerjanya, langkah demi langkah:

Aktifkan Ganti di File (di bawah menu Edit, atau dengan pintasan Ctrl+ Shift+ H)

Anda akan melihat input Cari / Ganti standar menggantikan panel file di sebelah kiri:

masukkan deskripsi gambar di sini

Masukkan string pencarian Anda dan ganti string, lalu tekan enter. Mungkin churn untuk mencari semua file kedua, maka itu akan menunjukkan perubahan yang diusulkan di semua file proyek Anda - tetapi perhatikan, perubahan ini belum dilakukan! Begini tampilannya:

masukkan deskripsi gambar di sini

Sekarang Anda perlu melakukan perubahan (dan bahkan setelah itu, Anda harus menyimpan file yang dimodifikasi .)

Anda dapat melakukan perubahan itu dengan berbagai cara:

1) Lakukan semua perubahan pada semua file sekaligus.

Klik ikon ganti di sebelah string pengganti Anda (catatan: Anda akan mendapatkan dialog untuk mengonfirmasi tindakan massal ini.)

masukkan deskripsi gambar di sini

2) Lakukan semua perubahan dalam satu file sekaligus.

Klik ikon ganti di sebelah nama file (catatan: ikon hanya muncul ketika Anda mengarahkan kursor ke nama file)

masukkan deskripsi gambar di sini

3) Buat satu perubahan dalam satu file.

Klik ikon ganti di sebelah perubahan individual: (catatan: ikon hanya muncul ketika Anda mengarahkan kursor ke baris perubahan)

masukkan deskripsi gambar di sini

Akhirnya, jangan lupa untuk menabung!

Semua file itu sekarang dimodifikasi di editor dan belum disimpan ke disk.

Gunakan File -> Simpan Semua (atau Ctrl+ Alt+ S)

Pembaruan: Saya tidak yakin kapan ini ditambahkan, tetapi jika Anda mengklik tombol "Ganti semua" dan melihat dialog ini, mengklik "Ganti" akan mengubah dan menyimpan semua file dalam satu klik:

masukkan deskripsi gambar di sini

Jeff Ward
sumber
1
Apakah mungkin untuk menyimpan 'ganti pencarian'? Saya sering mencari 'class =' ​​dan ganti dengan 'className ='
Rune Jeppesen
1
Apakah mungkin untuk melewati langkah terakhir dan melakukan pencarian diam-diam dan ganti? Jika saya melakukan pencarian dan penggantian yang sepele, saya tidak ingin menyimpan masing-masing file.
satJ
1
Saya tidak yakin jawaban untuk salah satu dari pertanyaan ini. Tapi @satJ, perhatikan bahwa Ctrl+Alt+Smenyimpan semua file yang dimodifikasi sekaligus, jadi ini cukup cepat dan mudah.
Jeff Ward
Sialan itu berbahaya, mengubah semua file sebagai default. Apakah ada perintah untuk mencari / mengganti dalam satu file?
Alexander Mills
Simpan semua default saat ini adalah Ctrl-k, diikuti oleh huruf s. Ctrl-k, diikuti oleh Ctrl + w akan menutup semua jendela Anda setelah program membuka banyak dari mereka.
Rebecca
26

Memperbarui

Pada versi 1.3 (Juni 2016) dimungkinkan untuk mencari dan mengganti dalam Visual Studio Code. Dengan menggunakan ctrl + shift + f, Anda dapat mencari dan mengganti semua kemunculan.

Tampaknya ini tidak mungkin saat ini (Versi 1.1.1 (April 2016))

"T: Apakah mungkin untuk mencari dan mengganti secara global?

A: Fitur ini belum diterapkan, tetapi Anda dapat mengharapkannya datang di masa depan! "

https://code.visualstudio.com/Docs/editor/codebasics

Ini tampaknya juga diminta oleh komunitas: https://github.com/Microsoft/vscode/issues/1690

Cisum Inas
sumber
Untuk mencari barang di folder tertentu cukup tambahkan path folder di bidang files to include. Anda dapat menemukan / mengganti barang bahkan di luar ruang kerja. ⚠ itu tidak mencari dalam nama file, tetapi dalam file. (Adakah yang tahu cara mencari nama file di luar ruang kerja?)
JinSnow
22

Untuk mengganti string dalam satu file (saat ini dibuka): CTRL + H

Untuk mengganti di tingkat ruang kerja gunakan: CTRL + SHIFT + H

Sidd501
sumber
Catatan: Anda harus menekan enter untuk menjalankan pencarian saat menggunakan Ctrl + Shift + H.
Aaron Franke
19

Ini cara terbaik.

  1. Pertama-tama letakkan kursor Anda pada anggota dan klik F2.

  2. Kemudian ketik nama baru dan tekan tombol Enter. Ini akan mengubah nama semua kejadian di setiap file di proyek Anda.

Ini sangat ideal ketika Anda ingin mengganti nama di banyak file. Misalnya, Anda mungkin ingin mengubah nama fungsi yang dapat diakses publik pada layanan Angular dan memiliki di mana-mana yang menggunakannya diperbarui.

Untuk alat yang lebih hebat, saya sangat merekomendasikan: https://johnpapa.net/refactoring-with-visual-studio-code/

DonDaniel
sumber
bagaimana jika saya ingin mengganti nama kejadian hanya dalam file saat ini?
temirbek
@temirbek saya telah mengikuti permintaan ini untuk sementara waktu. Sudah 2+ tahun dan belum diimplementasikan. github.com/Microsoft/vscode/issues/14836
DonDaniel
Hai, apakah itu juga mengganti nama folder terkait dan mengimpor?
Tamashi Kaizen
5

Pada halaman Bindings Kunci Kode Visual Studio , bagian Referensi Pintas Keyboard memiliki tautan ke PDF untuk setiap OS utama. Setelah terbuka, cari "ganti file" atau pintasan lain yang mungkin Anda butuhkan.

Cara lain adalah dengan menggunakan Command Palette ( ctrl/cmd+ shift+ P) di mana Anda bisa mengetikkan "ganti" untuk mendaftar semua perintah terkait, termasuk yang Anda inginkan:

Ganti dalam File ctrl/cmd+ shift+H

T04435
sumber