2013-11-27 14 views
9

Tôi là một lập trình viên Java dài năm, nhưng hiện tại tôi đang viết bằng C#. Tôi đã quen với việc, khi tôi đổi tên tập tin, cũng thay đổi tên lớp và ngược lại. Điều này không làm việc trong Visual Studio của tôi. Tôi phải đổi tên tên lớp và tên tệp một cách riêng biệt, và đôi khi nó gây phiền nhiễu cho tôi, bởi vì tôi luôn quên nó, vì vậy nó kết quả là tôi có tên lớp và tên tệp khác nhau. Có tùy chọn trong Visual Studio để đặt đổi tên trong một bước không?đổi tên lớp với tên tệp trong một bước trong Visual Studio

+7

Nếu bạn đổi tên tệp trước, bạn sẽ nhận được câu hỏi mà bạn muốn thay đổi tên lớp. –

+2

tên tệp và tên lớp độc lập - chúng không cần phải khớp với –

+4

@mehow: thực tiễn tốt là khớp các tệp với tên lớp –

Trả lời

11

Đổi tên một tập tin hoạt động tốt - nó sẽ cung cấp để thay đổi mã để phù hợp với:

enter image description here

Nếu bạn đổi tên lớp, sau đó - trên thực tế, điều này không xảy ra theo mặc định. Không có nhu cầu thực tế cho cả hai để phù hợp, lưu ý. Nhưng cuối cùng, đổi tên chỉ là f2.

+0

Đến qua câu hỏi này bởi vì sau khi tải xuống một dự án mẫu được tạo trong VS 2015 nhưng mở nó trong VS 2013, hộp thoại bạn tham chiếu sẽ không xuất hiện khi tôi đổi tên tệp.(Nó xuất hiện như mong đợi khi các dự án được tạo từ đầu trong VS 2013), tôi cũng có một cảnh báo bảo mật khi mở dự án đã tải xuống (vốn là từ một nguồn có uy tín). Có lẽ các triệu chứng tôi mô tả sẽ giúp người khác có cùng vấn đề và tìm câu trả lời này. – mdisibio

+0

Không hoạt động với VS 2015 –

+0

@LeoNguyen có vẻ kỳ lạ là họ sẽ * xóa * nó trong một số phiên bản, nhưng nó chắc chắn hoạt động trong VS2017. Tôi là 80% + chắc chắn rằng nó cũng làm việc tốt trong VS2015, nhưng: Tôi sẽ không cài đặt lại nó chỉ để kiểm tra. Bạn có chắc là bạn chưa cài đặt tiện ích mở rộng làm tê liệt không? (Tôi sử dụng vanilla VS) –

-2

Nếu bạn 'tái cấu trúc' một cái gì đó, tên sẽ được thay đổi ở mọi nơi mà văn bản hoặc tên đó đã được sử dụng để bạn không phải theo dõi việc thay đổi tên mỗi khi được sử dụng. Tuy nhiên, bạn không thể làm điều đó với các đối tượng ngoài dự án ví dụ: tên tệp.

+2

bây giờ tôi thấy, điều này hoạt động, khi bạn đổi tên tệp. Nhưng khi bạn đổi tên lớp bên trong tệp, tất cả các tham chiếu thay đổi thay vì tên tệp. Và đây là vấn đề của tôi. – xMichal

1

Cài đặt plugin studio trực quan tuyệt vời có tên là Reshaper. Nó làm điều đó và tải những thứ tốt đẹp khác. Miễn phí trong 30 ngày, sau đó là chi phí nhưng chắc chắn đáng giá.

+0

Đóng, mặc dù là Resharper. – DevOhrion

2

Kể từ Visual Studio 2015 Preview 5, trình đơn ngữ cảnh "Hành động nhanh và sắp xếp lại" chứa lệnh "Đổi tên tệp thành [class] .cs".

0

Dường như với không làm việc khi các tập tin sao chép là trong cùng một thư mục tên lớp là như nhau (mà nó sẽ được nếu bạn chỉ cần sao chép các tập tin). Tôi nghĩ lý do có thể là việc đổi tên không phân biệt giữa một lớp trong một tệp mới được sao chép và bản gốc (Xem bình luận bên dưới bởi @xMichal).

Giải pháp nhanh là sao chép tệp (tôi sử dụng ctrl + kéo) vào thư mục gần đó, đổi tên, sau đó di chuyển trở lại.

Tùy chọn khác (có thể là Resharper cụ thể), là đổi tên lớp (và hàm tạo) trong tệp đã sao chép, sau đó sử dụng chú giải công cụ để tự đổi tên tệp để khớp.

Các vấn đề liên quan