Làm cách nào để tìm và thay thế tất cả các lần xuất hiện (trong tất cả các tệp) trong Visual Studio Code?


245

Tôi không thể tìm ra cách tìm và thay thế tất cả các lần xuất hiện của một từ trong các tệp khác nhau bằng Visual Studio Code phiên bản 1.0.

Tôi có ấn tượng như vậy là có thể vì thực hiện Ctrl + Shift + F cho phép tôi chỉ cần tìm kiếm một thư mục, nhưng tôi không biết cách tiến hành từ đây.

Tôi đã xem xét nhiều tổ hợp khóa https://code.visualstudio.com/Docs/customization/keybindings

Nhưng tôi chỉ tìm thấy cách thay thế tất cả các lần xuất hiện trong tệp đang mở (Ctrl + h)

Tất cả giúp đỡ biết ơn, điều này đang khiến tôi phát điên.

Câu trả lời:


363

Tôi đang sử dụng Visual Studio Code 1.8 và tính năng này khả dụng. Nhưng ban đầu hơi khó hiểu và (tại thời điểm viết), các tài liệu không giải thích rõ ràng cách sử dụng nó, vì vậy đây là cách nó hoạt động, từng bước một:

Gọi Thay thế trong Tệp (trong menu Chỉnh sửa hoặc bằng phím tắt Ctrl+ Shift+ H)

Bạn sẽ thấy đầu vào Tìm / Thay thế tiêu chuẩn thay thế ngăn tập tin ở bên trái:

nhập mô tả hình ảnh ở đây

Nhập chuỗi tìm kiếm của bạn và chuỗi thay thế, sau đó nhấn enter. Nó có thể bắt đầu trong một giây tìm kiếm tất cả các tệp, sau đó nó sẽ hiển thị các thay đổi được đề xuất trong tất cả các tệp dự án của bạn - nhưng lưu ý, những thay đổi này chưa được thực hiện! Đây là những gì nó trông giống như:

nhập mô tả hình ảnh ở đây

Bây giờ bạn cần thực hiện các thay đổi (và thậm chí sau đó, bạn phải lưu các tệp đã sửa đổi .)

Bạn có thể thực hiện những thay đổi đó theo nhiều cách khác nhau:

1) Thực hiện tất cả các thay đổi cho tất cả các tệp cùng một lúc.

Nhấp vào biểu tượng thay thế bên cạnh chuỗi thay thế của bạn (lưu ý: bạn sẽ nhận được hộp thoại để xác nhận hành động hàng loạt này.)

nhập mô tả hình ảnh ở đây

2) Thực hiện tất cả các thay đổi trong một tệp cùng một lúc.

Nhấp vào biểu tượng thay thế bên cạnh tên tệp (lưu ý: biểu tượng chỉ hiển thị khi bạn di chuột qua hàng tên tệp)

nhập mô tả hình ảnh ở đây

3) Thực hiện một thay đổi trong một tập tin duy nhất.

Nhấp vào biểu tượng thay thế bên cạnh thay đổi riêng lẻ: (lưu ý: biểu tượng chỉ hiển thị khi bạn di chuột qua hàng thay đổi)

nhập mô tả hình ảnh ở đây

Cuối cùng, đừng quên tiết kiệm!

Tất cả các tệp đó hiện đã được sửa đổi trong trình chỉnh sửa và chưa được lưu vào đĩa.

Sử dụng tệp -> Lưu tất cả (hoặc Ctrl+ Alt+ S)

Cập nhật: Tôi không chắc chắn khi điều này được thêm vào, nhưng nếu bạn nhấp vào nút "Thay thế tất cả" và thấy hộp thoại này, nhấp vào "Thay thế" sẽ thay đổi và lưu tất cả các tệp trong một lần nhấp:

nhập mô tả hình ảnh ở đây


1
Có thể lưu 'thay thế tìm kiếm' không? Tôi thường tìm kiếm 'class =' ​​và thay thế bằng 'className ='
Rune Jeppesen

1
Có thể bỏ qua bước cuối cùng và thực hiện tìm kiếm im lặng và thay thế? Nếu tôi đang thực hiện tìm kiếm và thay thế tầm thường, tôi không muốn lưu từng tệp riêng lẻ.
satJ

1
Tôi không chắc câu trả lời cho một trong những câu hỏi này. Nhưng @satJ, lưu ý rằng Ctrl+Alt+Slưu tất cả các tệp đã sửa đổi cùng một lúc, vì vậy việc này khá nhanh chóng và dễ dàng.
Jeff Ward

Chúa ơi thật nguy hiểm, thay đổi tất cả các tập tin như mặc định. Có một lệnh chỉ tìm / thay thế trong một tập tin không?
Alexander Mills

Lưu hiện tại tất cả mặc định là Ctrl-k, theo sau là chữ s. Ctrl-k, theo sau là Ctrl + w sẽ đóng tất cả các cửa sổ của bạn sau khi các chương trình đã mở một loạt chúng.
Rebecca

25

Cập nhật

Kể từ phiên bản 1.3 (tháng 6 năm 2016), có thể tìm kiếm và thay thế trong Visual Studio Code. Sử dụng ctrl + shift + f, bạn có thể tìm kiếm và thay thế tất cả các lần xuất hiện.

Có vẻ như điều này là không thể vào lúc này (Phiên bản 1.1.1 (Tháng 4 năm 2016))

"Q: Có thể tìm kiếm và thay thế trên toàn cầu không?

A: Tính năng này chưa được triển khai, nhưng bạn có thể hy vọng nó sẽ xuất hiện trong tương lai! "

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

Điều này dường như cũng được yêu cầu bởi cộng đồng: https://github.com/Microsoft/vscode/issues/1690


Để tìm kiếm nội dung trong một thư mục cụ thể, chỉ cần thêm đường dẫn thư mục vào trường files to include. Bạn có thể tìm / thay thế công cụ ngay cả ngoài không gian làm việc. Nó không tìm kiếm trong tên tập tin, nhưng trong tập tin. (Bất cứ ai cũng biết cách tìm kiếm tên tệp bên ngoài không gian làm việc?)
JinSnow

22

Để thay thế một chuỗi trong một tệp duy nhất (hiện đang mở): CTRL + H

Để thay thế ở cấp độ không gian làm việc, hãy sử dụng: CTRL + SHIFT + H


Lưu ý: Bạn phải nhấn enter để tìm kiếm chạy khi sử dụng Ctrl + Shift + H.
Aaron Franke

19

Đây la cach tôt nhât.

  1. Đầu tiên đặt con trỏ của bạn vào thành viên và nhấp vào F2.

  2. Sau đó nhập tên mới và nhấn phím Enter. Điều này sẽ đổi tên tất cả các lần xuất hiện trong mỗi tệp trong dự án của bạn.

Điều này lý tưởng khi bạn muốn đổi tên trên nhiều tệp. Ví dụ: bạn có thể muốn đổi tên một chức năng có thể truy cập công khai trên một dịch vụ Angular và có ở mọi nơi sử dụng nó được cập nhật.

Để biết thêm các công cụ tuyệt vời, tôi khuyên bạn nên: https://johnpapa.net/refactoring-with-visual-studio-code/


Điều gì xảy ra nếu tôi muốn đổi tên lần xuất hiện trong tệp hiện tại?
temirbek

@temirbek tôi đã theo dõi yêu cầu này được một thời gian. Đã hơn 2 năm và nó vẫn chưa được thực hiện. github.com/Microsoft/vscode/issues/14836
DonDaniel

Xin chào, nó cũng đổi tên các thư mục liên quan và nhập?
Tamashi Kaizen

5

Trên trang Ràng buộc khóa mã Visual Studio , phần Tham chiếu phím tắt có liên kết đến một tệp PDF cho mỗi hệ điều hành chính. Sau khi mở, tìm kiếm "thay thế trong tệp" hoặc bất kỳ lối tắt nào bạn có thể cần.

Một cách khác là sử dụng Bảng lệnh ( ctrl/cmd+ shift+ P) trong đó bạn có thể nhập "thay thế" để liệt kê tất cả các lệnh liên quan, bao gồm cả lệnh bạn muốn:

Thay thế trong Tệp ctrl/cmd+ shift+H

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.