มีทางลัดใด ๆ ในการเปลี่ยนชื่อส่วนประกอบด้วย Angular CLI นอกเหนือจากการแก้ไขไฟล์คอมโพเนนต์ทั้งหมดด้วยตนเองเช่นชื่อโฟลเดอร์, .css, .ts, spec.ts และ app.module.ts หรือไม่
ng destroy
คุณไม่ได้อยู่ในโชค ...
มีทางลัดใด ๆ ในการเปลี่ยนชื่อส่วนประกอบด้วย Angular CLI นอกเหนือจากการแก้ไขไฟล์คอมโพเนนต์ทั้งหมดด้วยตนเองเช่นชื่อโฟลเดอร์, .css, .ts, spec.ts และ app.module.ts หรือไม่
ng destroy
คุณไม่ได้อยู่ในโชค ...
คำตอบ:
No!
ไม่มีคำสั่งที่จะเปลี่ยนชื่อของไฟล์ทั้งหมดที่สร้างขึ้นโดยใช้คำสั่งสร้างส่วนประกอบ ดังนั้นสร้างts
, html
, css/scss
, .spec.ts
ไฟล์จะต้องเปลี่ยนชื่อด้วยตนเอง / แก้ไข
ฉันเป็นผู้ใช้บ่อยangular cli
และฉันคิดว่านี่จะเป็นคำสั่งที่ดีที่จะมีเวลาที่เราเพิ่งสร้างองค์ประกอบเชิงมุมและจำเป็นต้องเปลี่ยนพวกเขา เนื่องจากคำสั่งเปลี่ยนชื่อนี้ไม่อยู่ที่นั่นการลบองค์ประกอบเชิงมุมที่สร้างขึ้นคำสั่ง ฯลฯ และการเรียกใช้คำสั่งเพื่อสร้างองค์ประกอบอีกครั้งเป็นเรื่องที่เจ็บปวดจริงๆ
นี่คือลิงค์การสนทนาเพื่อเพิ่มคุณสมบัตินี้ให้เปลี่ยนชื่อองค์ประกอบเชิงมุม
WebStorm 2018.1.2
กับคำอนุญาตให้เปลี่ยนชื่อองค์ประกอบ แต่ไม่เคยใช้ จะให้ทดลองใช้ในภายหลังสักวันหนึ่ง
ปัจจุบัน Angular CLI ไม่รองรับคุณสมบัติการเปลี่ยนชื่อหรือการเปลี่ยนรหัสใหม่
คุณสามารถใช้ฟังก์ชันดังกล่าวได้โดยใช้ IDE บางตัว
Intellij, Eclipse, VSCode ฯลฯ มีค่าเริ่มต้นรองรับการเปลี่ยนโครงสร้าง
ทุกวันนี้ VSCode กำลังแสดงให้เห็นถึงแนวโน้มขาขึ้นส่วนตัวฉันเป็นแฟนของเรื่องนี้
การสร้างใหม่ด้วย VSCode
อ้างอิง Determinig : - VS รหัสช่วยคุณหาอ้างอิงทั้งหมดของตัวแปรโดยการเลือกตัวแปรและกดปุ่มลัด+SHIFT
F12
มันทำงานได้ดีอย่างเหลือเชื่อกับ Type Script
การเปลี่ยนชื่ออินสแตนซ์ทั้งหมดของการอ้างอิง : - หลังจากค้นหาการอ้างอิงทั้งหมดที่คุณสามารถกดF2
จะเปิดป๊อปอัพและคุณสามารถเปลี่ยนค่าและคลิกที่นี่จะอัปเดตอินสแตนซ์ทั้งหมดของการอ้างอิง
การเปลี่ยนชื่อไฟล์และการนำเข้า คุณสามารถเปลี่ยนชื่อไฟล์และการอ้างอิงการนำเข้าด้วยปลั๊กอิน รายละเอียดเพิ่มเติมสามารถดูได้ที่นี่
ด้วยขั้นตอนข้างต้นหลังจากเปลี่ยนชื่อตัวแปรและไฟล์คุณจะสามารถเปลี่ยนชื่อองค์ประกอบเชิงมุมได้
ติดตั้ง
npm install -g angular-rename
ใช้
$ ./angular-rename OldComponentName NewComponentName
ในขณะที่ OP ขอคำสั่ง CLI คำตอบบางข้อจะมุ่งเน้นไปที่ IDE ในคำตอบนี้ฉันเพิ่งยืนยันว่า WebStorm ปัจจุบัน / IntelliJ อนุญาตการเปลี่ยนชื่อองค์ประกอบ สิ่งที่ต้องทำคือพยายามเปลี่ยนชื่อคลาสใน.ts
ไฟล์ คุณจะได้รับ:
และการเปลี่ยนชื่อจะดำเนินการในสถานที่ที่เกี่ยวข้องทั้งหมด
ดังที่คำตอบแรกระบุไว้ในขณะนี้ยังไม่มีวิธีในการเปลี่ยนชื่อส่วนประกอบดังนั้นเราทุกคนแค่พูดถึงวิธีแก้ไขปัญหา! นี่คือสิ่งที่ฉันทำ:
สร้างองค์ประกอบใหม่ที่คุณชอบ
ng สร้างองค์ประกอบ newName
ใช้โปรแกรมแก้ไขโค้ด Visual Studio หรือโปรแกรมแก้ไขอื่น ๆ เพื่อย้ายโค้ด / ชิ้นไปพร้อม ๆ กัน!
ใน Linux ให้ใช้ grep & sed (ค้นหาและแทนที่) เพื่อค้นหา / แทนที่การอ้างอิง
grep -ir "oldname"
ซีดีโฟลเดอร์ของคุณ
sed -i 's / oldName / newName / g' *
โดยส่วนตัวฉันไม่พบคำสั่งใด ๆ สำหรับสิ่งเดียวกัน เพียงให้ส่วนประกอบใหม่ (ชื่อเปลี่ยนชื่อ) และคัดลอกวางองค์ประกอบก่อนหน้าhtml
, และcss
ts
ในts
เห็นได้ชัดว่าชื่อชั้นจะถูกแทนที่ มันเป็นวิธีที่ปลอดภัยที่สุด แต่ใช้เวลาเล็กน้อย
ใน WebStorm คุณสามารถคลิกขวา→ Refactor →เปลี่ยนชื่อชื่อขององค์ประกอบในไฟล์ TypeScript และมันจะเปลี่ยนชื่อทุกที่