Đổi tên hoặc cấu trúc lại tệp trong Xcode


Câu trả lời:


169

Cách an toàn nhất để đổi tên tệp là cấu trúc lại tên lớp bằng lệnh "Refactor" của Xcode . Sử dụng lệnh đó đảm bảo rằng mã của bạn cũng được cập nhật ở bất kỳ đâu tham chiếu đến tệp hoặc lớp (bao gồm cả NIB).

Nhấp chuột phải vào tên lớp trong .htệp interface ( ), chọn Refactor->Renamevà Xcode sẽ hướng dẫn bạn trong suốt quá trình, cho phép bạn xem trước các thay đổi trước khi bạn thực hiện chúng.

Thêm chi tiết:

Nhấp chuột phải vào tên lớp (sau @interface) và chọn Refactor-> Rename. Ví dụ: nhấp chuột phải vào ViewControllermã này:

@interface ViewController : UIViewController

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

Nhập tên mới cho lớp:

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

Xcode sẽ cho phép bạn xem lại các thay đổi trước khi bạn cam kết.

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

Bạn cũng có thể đánh dấu tên lớp và sử dụng Edit->Refactormenu của Xcode , hoặc thậm chí ánh xạ nó tới một phím tắt nếu bạn muốn.

Nếu bạn thực sự muốn đổi tên tệp mà không ảnh hưởng đến bất kỳ mã nào, hãy nhấp vào tên trong ngăn Bộ điều hướng (ngăn bên trái), đợi một giây, sau đó nhấp lại. Tên sẽ được đánh dấu và bạn có thể nhập tên mới. Bạn cũng có thể xóa khỏi Navigator, đổi tên tệp trong Finder và thêm lại vào dự án của bạn.


1
Cách tiếp cận này là tốt nhất, vì nó sẽ đổi tên các cá thể lớp được giữ trong các tệp khác hoặc tệp XIB.
Kendall Helmstetter Gelner

Điều này dường như không hoạt động vì tôi đã nâng cấp lên 4.3. Trong tệp tiêu đề (.h), XCode phàn nàn rằng tệp không được thêm vào mục tiêu - điều không nên xảy ra, vì nó là tệp tiêu đề. Nếu bạn cố gắng trong file .m, nó than phiền rằng nó không phải là một biểu tượng (lớp, chức năng, vv)
Michael

@Michael Bạn đã thử nó trong một dự án thử nghiệm chưa? Tôi chưa cài đặt 4.3, nhưng có vẻ như nó đang hoạt động OK trên 4.2 (chỉ cần thử nó).
nevan king, 29/02/12

Có ai biết tôi có thể tìm mã nguồn liên quan ở đâu, nếu nó là mã nguồn mở? Tôi nghĩ rằng họ đã sử dụng công cụ clang để triển khai tính năng tái cấu trúc, có một số giao diện tốt cho chức năng như vậy, nhưng tôi chưa tìm thấy mã nguồn.
BergP

Thật không may, điều này làm cho Xcode của tôi bị lỗi. Tôi đang chạy Yosemite Beta nên đó có thể là lý do. Hy vọng.
CGTheLegend

51

Hoạt động cho Xcode 4.2.1: chọn tệp trong trình điều hướng dự án (bảng điều khiển bên trái mặc định) và nhấn [tab]


Cảm ơn. Refactor-> Rename không hoạt động với các tệp C ++. Điều này đã hiệu quả.
BlueVoid

4
Tôi nghĩ câu trả lời này đáng được chấp nhận hơn câu trả lời hiện tại. +1
Morgan Wilde

Hoạt động với XCode 11 cũng
Kesha Antonov

3

Theo mặc định, Xcode sẽ đổi tên tệp khi bạn đổi tên tệp đó trong trình điều hướng tệp (chế độ xem phác thảo bên trái) hoặc khi bạn sử dụng trình kiểm tra.


Xin chào, tôi muốn đổi tên giao thức (SideToolBarDelegate.h) bằng ToolBarDelegate.h, nhưng xcode nói với tôi: "SideToolBarDelegate.h được nhập hoặc bao gồm bởi một tệp Objective-C ++, không phải Objective-C hoặc C:" . Làm thế nào để tôi có thể đổi tên nó? Cảm ơn
samir

nó chỉ thay thế nó trong một tệp (SideToolBarDelegate.h) nhưng tôi muốn thay thế tên này trong tất cả các dự án, như hàm tái cấu trúc.
samir

shift-cmd-F, bật xuống tùy chọn nhỏ để "tìm và thay thế". Tìm và thay thế ...
bbum

Đừng quên đổi tên những thứ bằng các tên liên quan: Body, BodiesViewController, InteractiveBodies - “Tìm & thay thế” nghiêm ngặt sẽ không bắt được thứ 2 hoặc thứ 3.
willc2 10/12/13

2

Một cách : Chọn tệp bạn muốn đổi tên rồi nhấn Tab. Tôi chủ yếu sử dụng điều này, tuy nhiên, Xcode đôi khi không đổi tên được. Vì vậy, những gì tôi muốn sau đó là

Cách khác : Chọn tệp. Mở Khu vực thanh tra (ở góc trên bên phải). Và sau đó mở Trình kiểm tra tệp . Ở đó, bạn sẽ tìm thấy trường tên, nơi bạn có thể chỉnh sửa tên tệp. (Xem ảnh chụp màn hình).

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


1

Xcode 11.6, cố gắng đổi tên "foo.cpp" thành "bar.cpp" không hoạt động bằng cách sử dụng các phương pháp trên. tùy chọn REFACTOR chuyển sang màu xám. Thay vào đó, hãy làm như sau:

  • Trong Trình duyệt Dự án, tìm tệp cần đổi tên, tức là: foo.cpp
  • Nhấp chuột phải (2finger) vào foo.cpp
  • Chọn, "Hiển thị trong Trình kiểm tra tệp"

Bên phải màn hình, trình kiểm tra tệp xuất hiện.

  • Trong trường Tên, nhập tên tệp mới của bạn, nhấn ENTER

0

Nếu bạn đổi tên tệp theo cách thủ công và sử dụng Tìm và Thay thế để đổi tên tên lớp, hãy đảm bảo tệp được thêm vào Nguồn biên dịch trong các giai đoạn xây dựng của mục tiêu, vì nó có thể sẽ bị xóa.


0

Chọn Refactor-> Đổi tên câu trả lời của nevan king cũng hoạt động tốt trên Xcode Phiên bản 7.0 beta (7A120f)


Điều này không cung cấp câu trả lời cho câu hỏi. Để phê bình hoặc yêu cầu làm rõ từ tác giả, hãy để lại nhận xét bên dưới bài đăng của họ - bạn luôn có thể nhận xét về bài đăng của chính mình và khi bạn có đủ uy tín, bạn sẽ có thể nhận xét về bất kỳ bài đăng nào .
Mayank Jain

Vì tôi không có 50 danh tiếng. Đó là những gì tôi đăng một câu trả lời để đáp ứng.
Carlos Chang
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.