Xcode에서 파일 이름 변경 또는 리팩터링


답변:


170

파일 이름을 변경하는 가장 안전한 방법은 Xcode의 "Refactor"명령을 사용하여 클래스 이름을 리팩터링하는 것입니다. 입니다. 이 명령을 사용하면 파일이나 클래스 (NIB 포함)를 참조하는 모든 위치에서 코드가 업데이트됩니다.

인터페이스 ( .h) 파일 에서 클래스 이름을 마우스 오른쪽 버튼으로 클릭 Refactor->Rename하고을 선택 하면 Xcode가 프로세스를 안내하여 변경 사항을 커밋하기 전에 미리 볼 수 있습니다.

자세한 내용은:

클래스 이름 (뒤 @interface)을 마우스 오른쪽 버튼으로 클릭 하고 Refactor-> Rename을 선택합니다. 예를 들어이 ViewController코드에서 마우스 오른쪽 버튼을 클릭 합니다.

@interface ViewController : UIViewController

여기에 이미지 설명 입력

수업의 새 이름을 입력하십시오.

여기에 이미지 설명 입력

Xcode를 사용하면 커밋하기 전에 변경 사항을 검토 할 수 있습니다.

여기에 이미지 설명 입력

클래스 이름을 강조 표시하고 Xcode의 Edit->Refactor메뉴를 사용하거나 원하는 경우 키보드 단축키에 매핑 할 수도 있습니다.

코드에 영향을주지 않고 실제로 파일 이름을 바꾸려면 네비게이터 창 (왼쪽 창)에서 이름을 클릭하고 잠시 기다린 다음 다시 클릭합니다. 이름이 강조 표시되고 새 이름을 입력 할 수 있습니다. 네비게이터에서 삭제하고 Finder에서 파일 이름을 변경 한 다음 프로젝트에 다시 추가 할 수도 있습니다.


1
이 방법은 다른 파일이나 XIB 파일에있는 클래스 인스턴스의 이름을 변경하기 때문에 가장 좋습니다.
Kendall Helmstetter Gelner

4.3으로 업그레이드 한 이후로 작동하지 않는 것 같습니다. 헤더 (.h) 파일에서 XCode는 파일이 대상에 추가되지 않았다고 불평합니다.이 파일은 헤더 파일이기 때문에 추가되지 않아야합니다. .m 파일을 시도하면 심볼 (클래스, 함수 등)이 아니라고 불평합니다
Michael

@Michael 테스트 프로젝트에서 사용해 보셨습니까? 4.3을 설치하지 않았지만 4.2에서 정상적으로 작동하는 것 같습니다.
nevan king

오픈 소스 인 경우 관련된 소스 코드를 어디서 찾을 수 있는지 아는 사람이 있습니까? 나는 그들이 리팩토링 기능을 구현하기 위해 clang 도구를 사용했다고 생각하며 그러한 기능에 대한 좋은 인터페이스가 있지만 소스 코드를 찾지 못했습니다.
BergP 2014 년

불행히도 이것은 내 Xcode 충돌을 만듭니다. 나는 요세미티 베타를 실행하고 있으므로 그 이유가 될 수 있습니다. 바라건대.
CGTheLegend

51

Xcode 4.2.1에서 작동 : 프로젝트 탐색기 (기본 왼쪽 패널)에서 파일을 선택하고 [tab]을 누릅니다.


감사. Refactor-> Rename이 C ++ 파일에서 작동하지 않았습니다. 이것은 효과가 있었다.
BlueVoid

4
나는이 대답이 현재 대답보다 받아 들여질 가치가 있다고 생각한다. +1
Morgan Wilde 2013 년

XCode 11에서도 작동합니다
Kesha Antonov

3

기본적으로 Xcode는 파일 탐색기 (왼쪽 개요보기 항목)에서 이름을 바꾸거나 인스펙터를 사용할 때 파일 이름을 바꿉니다.


안녕하세요, 저는 ToolBarDelegate.h로 프로토콜 (SideToolBarDelegate.h)의 이름을 바꾸고 싶지만 xcode는 "SideToolBarDelegate.h는 Objective-C 또는 C가 아닌 Objective-C ++ 파일에 의해 가져 오거나 포함되었습니다."라고 말합니다. . 이름을 어떻게 바꿀 수 있습니까? 감사합니다
samir 2013-01-24

그것은 단지 하나의 파일 (SideToolBarDelegate.h)에서 대체하지만 리팩토링 기능과 같은 모든 프로젝트 에서이 이름을 바꾸고 싶습니다.
samir

shift-cmd-F, "찾기 및 바꾸기"에 대한 작은 옵션을 팝업합니다. 찾기 및 바꾸기 ...
bbum

관련된 이름으로 이름을 바꾸는 것을 잊지 마십시오 : Body, BodiesViewController, interactingBodies – 엄격한 "찾기 및 바꾸기"는 두 번째 또는 세 번째를 포착하지 못합니다.
willc2

2

단방향 : 이름을 변경할 파일을 선택한 다음를 누릅니다 Tab. 나는 주로 이것을 사용하지만 Xcode는 때때로 이름을 바꾸지 못합니다. 그래서 내가했던 것은

다른 방법 : 파일을 선택합니다. Inspectors Area (오른쪽 상단 모서리에 있음)를 엽니 다 . 그런 다음 File Inspector 를 엽니 다 . 여기에서 파일 이름을 편집 할 수있는 이름 필드를 찾을 수 있습니다. (스크린 샷 참조).

여기에 이미지 설명 입력


1

Xcode 11.6, "foo.cpp"의 이름을 "bar.cpp"로 바꾸려고하면 위의 방법을 사용할 수 없습니다. REFACTOR 옵션은 회색으로 표시됩니다. 대신 다음을 수행하십시오.

  • 프로젝트 브라우저에서 이름을 바꿀 파일을 찾습니다. 예 : foo.cpp
  • foo.cpp를 오른쪽 클릭 (두 손가락)
  • "파일 검사기에서보기"를 선택하십시오.

화면 오른쪽에 파일 검사기가 나타납니다.

  • 이름 필드에 새 파일 이름을 입력하고 Enter 키를 누릅니다.

0

파일 이름을 수동으로 바꾸고 찾기 및 바꾸기를 사용하여 클래스 이름을 바꾼 경우 파일이 제거 될 수 있으므로 대상의 빌드 단계에서 소스 컴파일에 추가되었는지 확인하십시오.


0

Refactor-> Rename nevan king의 대답을 선택하면 Xcode 버전 7.0 베타 (7A120f)에서도 잘 작동합니다.


이것은 질문에 대한 답을 제공하지 않습니다. 작성자에게 비평이나 설명을 요청하려면 게시물 아래에 댓글을 남겨주세요. 언제든지 자신의 게시물에 댓글을 달 수 있으며, 충분한 평판얻으면 모든 게시물댓글 수 있습니다 .
Mayank Jain 2015-06-17

평판이 50이 아니거든요. 그것이 내가 응답에 대한 답변을 게시하는 것입니다.
Carlos Chang
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.