Angular CLI에서 구성 요소의 이름을 바꾸는 방법은 무엇입니까?


178

폴더 이름, .css, .ts, spec.ts 및 app.module.ts와 같은 모든 구성 요소 파일을 수동으로 편집하는 것 외에 Angular CLI로 구성 요소의 이름을 바꾸는 바로 가기가 있습니까?


1
html 태그에서 변경하려면 선택기의 이름을 바꾸십시오. 수업을 바꾸려면 수동으로해야합니다.
Alaksandar Jesus Gene

그들이 ng destroy당신 을 추가 할 때까지 운이 아니야 ...
윌리엄 햄프셔

4
당신은이 글의 기능을 모니터링 할 수 있습니다 github.com/angular/angular-cli/issues/900
안드리 Romanchak

검색 및 교체, 파일 / 디렉토리의 몇 가지 이름을 바꾸 .... 작업 수행
ldgorman

답변:


180

아니!

component create 명령을 사용하여 생성 된 모든 파일의 이름을 변경하는 명령이 없습니다. 그래서 만든 ts, html, css/scss, .spec.ts 파일을 수동으로 / 이름 편집 할 필요가있다.

나는 자주 사용자이며 angular cli각도 구성 요소를 만들고 이름을 바꿔야하기 때문에 이것이 좋은 명령이라고 생각합니다. 이 이름 바꾸기 명령이 없으므로 생성 된 각도 구성 요소, 지시문 등을 삭제하고 명령을 다시 실행하여 구성 요소를 작성하는 것은 실제로 어려움입니다.

이 기능을 추가하는 토론 링크는 각도 구성 요소 이름 바꾸기


6
이것은 또한 오래된 프로젝트를 재사용하는 데 편리합니다.
Leo

1
WebStorm 2018.1.2단어의 새로운 기능 은 구성 요소의 이름을 바꿀 수는 있지만 결코 사용하지는 않았습니다. 언젠가 나중에 시도합니다
Aniruddha Das

2
예를 들어 VSCode에서 잘못된 항목 (존재하지 않는 가져온 파일, 존재하지 않는 구성 요소 등)이있는 경우 왼쪽의 파일 탐색기 창에서 오류 표시를 볼 수 있습니다. 따라서 필자의 경우 구성 요소의 이름을 바꾸어야하고 폴더와 내부 파일 이름의 이름을 바꾼 다음 모든 오류 표시를 따라이 구성 요소의 이름을 적절하게 수정했습니다. 요즘이 기능은 다른 최신 IDE에도 존재하는 것 같습니다 ... 그러나 자동으로 수행하는 angular-cli 명령 ( "ng gc ..."와 유사)을 사용하는 것이 좋습니다! 행복한 코딩! :)
TheCuBeMan

1
이 기능에 대해 2016 년 이후이 기능에 대한 토론이 있습니다. github.com/angular/angular-cli/issues/900 이러한 기능에 대한 모든 요청은이 스레드에 연결되어 닫힙니다. @AniruddhaDas 대답에 이것을 추가 하시겠습니까?
Stefan

1
@Stefan이 추가되었습니다. 괜찮아 보이면 자유롭게 편집하십시오.
Aniruddha Das

48

현재 Angular CLI는 코드 이름 변경 또는 리팩토링 기능을 지원하지 않습니다.

일부 IDE의 도움으로 이러한 기능을 수행 할 수 있습니다.

Intellij, Eclipse, VSCode 등은 기본적으로 리팩토링을 지원합니다.

요즘 VSCode는 상승 추세를 보이고 있습니다. 개인적 으로이 팬입니다.

VSCode를 사용한 리팩토링

결정 참조 :-VS Code는 변수를 선택하고 단축키 SHIFT+를 눌러 변수의 모든 참조를 찾는 데 도움이 F12됩니다. 이것은 Type Script와 매우 잘 작동합니다.

모든 참조 인스턴스 이름 바꾸기 :-모든 참조를 찾은 후을 누르면 F2팝업이 열리고 값을 변경하고 Enter를 클릭하면 모든 참조 인스턴스가 업데이트됩니다.

파일 및 가져 오기 이름 바꾸기 플러그인을 사용하여 파일 및 가져 오기 참조의 이름을 바꿀 수 있습니다. 자세한 내용은 여기를 참조 하십시오

여기에 이미지 설명을 입력하십시오

변수 및 파일 이름을 바꾼 후 위 단계를 수행하면 각도 구성 요소 이름을 바꿀 수 있습니다.


3
참조, 파일 및 가져 오기에 대해 이야기하지만 구성 요소 이름 바꾸기는 어떻습니까?
Ortomala Lokni

1
@OrtomalaLokni angular-cli는 이름 변경을 지원하지 않으므로 이름 바꾸기 작업은이 세 단계로 수행 할 수 있습니다.
samuelj90

1

각도 이름 변경 참조

설치

npm install -g angular-rename

사용하다

$ ./angular-rename OldComponentName NewComponentName

1
더 이상 존재하지 않는 Github 저장소
Emmanuel

최악의 구성 요소 검색 ... 적절한 문서가없고, 버그로 가득 찬 ... 좋은 아이디어 ... 그러나 쓸모없는
DS_web_developer

1

OP가 CLI 명령을 요청하는 동안 일부 답변은 IDE에 중점을 둡니다. 이 답변에서는 현재 WebStorm / IntelliJ가 구성 요소 이름을 바꿀 수 있음을 확인했습니다. .ts파일 에서 클래스 이름을 바꾸려고하면 됩니다. 당신은 제시 될 것이다 :

여기에 이미지 설명을 입력하십시오

이름 바꾸기는 모든 관련 장소에서 수행됩니다.


이것은 처음 @Aniruddha 다스에 의해 현재의 thread로보고되었다
P Marecki을

0

첫 번째 답변에서 알 수 있듯이 현재 구성 요소의 이름을 바꿀 수있는 방법이 없으므로 모두 해결 방법에 대해서만 이야기하고 있습니다! 이것이 제가하는 것입니다:

  1. 원하는 새 구성 요소를 작성하십시오.

    ng 구성 요소 newName 생성

  2. Visual Studio 코드 편집기 또는 다른 편집기를 사용하여 코드 / 조각을 나란히 편리하게 이동하십시오!

  3. Linux에서는 grep & sed (찾기 및 바꾸기)를 사용하여 참조를 찾거나 교체하십시오.

    grep -ir "이전 이름"

    당신의 폴더를 cd

    sed -i 's / oldName / newName / g'*


0

나는 개인적으로 같은 명령을 찾지 못했습니다. 그냥 새 구성 요소 (이름이 바뀐 이름)을 확인하고 이전 구성 요소의 붙여 넣기 복사 html, css하고 ts. 에서 ts분명히 클래스 이름은 대체 될 것입니다. 가장 안전한 방법이지만 시간이 조금 걸립니다.


0

WebStorm에서 TypeScript 파일의 구성 요소 이름을 마우스 오른쪽 버튼으로 클릭 → 리팩터링 → 이름 바꾸기를 클릭하면 어디서나 이름이 변경됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.