จะมีประสิทธิภาพใน PhpStorm ได้อย่างไร: IDE ที่สำคัญจริงๆ
เผยแพร่แล้ว: 2022-03-11การเป็นนักพัฒนาซอฟต์แวร์ที่ดีหมายความว่าอย่างไร
อย่างแรก มันต้องการความรู้เชิงลึกเกี่ยวกับเทคสแต็กเฉพาะที่คุณกำลังทำงานอยู่ หากคุณเป็นนักพัฒนา LAMP คุณจะต้องเป็นผู้เชี่ยวชาญใน PHP และ MySQL อย่างไม่ต้องสงสัย รู้จักเฟรมเวิร์กที่ทันสมัย และมีทักษะที่ดีในการดูแลระบบ Linux
ประการที่สอง แต่สิ่งที่สำคัญไม่น้อยไปกว่านั้นคือ ความรู้เกี่ยวกับการทำงานของเครื่องมือเสริมที่คุณใช้ทุกวันในเวิร์กโฟลว์ของคุณ
คุณต้องสามารถทำงานอย่างถูกต้องกับระบบควบคุมเวอร์ชัน เครื่องมือการรวมอย่างต่อเนื่อง บริการการจัดการเครื่องเสมือน (เช่น Vagrant) และแน่นอนว่า สภาพแวดล้อมการพัฒนาแบบบูรณาการ (IDE) ของคุณ
บทความนี้ครอบคลุมถึง IntelliJ IDEA IDE PhpStorm ที่ได้รับความนิยมและมีประสิทธิภาพ และวิธีที่คุณสามารถเพิ่มประสิทธิภาพเป็นสองเท่าได้อย่างง่ายดายและป้องกันจุดบกพร่องในขณะที่คุณเขียนโค้ด
ฝึกฝนตัวเองด้วยแป้นพิมพ์ลัด
เริ่มจากทักษะที่ง่ายที่สุดและอาจเป็นทักษะที่สำคัญที่สุดสำหรับ IDE ใดๆ: การใช้แป้นพิมพ์ที่เหมาะสม
หากคุณเปรียบเทียบโปรแกรมเมอร์ที่ช่ำชองกับผู้ใช้พีซีทั่วไป สิ่งแรกที่คุณจะสังเกตได้ก็คือโปรแกรมเมอร์ใช้เวลาเกือบตลอดเวลากับการใช้แป้นพิมพ์และแทบไม่เคยแตะเมาส์เลย มีเหตุผลสำหรับสิ่งนั้น: มีประสิทธิภาพมากกว่ามาก
ขั้นแรก จงเป็นนักพิมพ์ดีด
แม้ว่าการพิมพ์ไม่ได้เชื่อมต่อกับทักษะ IDE โดยตรง แต่แป้นพิมพ์ลัดก็ไม่มีประโยชน์หากคุณต้องจ้องที่แป้นพิมพ์เพื่อค้นหาทุกปุ่ม
หากคุณยังไม่ได้พิมพ์อย่างน้อย 50 คำต่อนาที (WPM) ให้ค้นหาเว็บไซต์ฝึกอบรมการพิมพ์แบบสัมผัส เช่น TypingClub.com และเพิ่มความเร็วของคุณ
นอกจากนี้ยังมีเว็บไซต์การพิมพ์เพื่อการแข่งขัน เช่น TypingRaces.com ซึ่งคุณสามารถแข่งขันกับผู้อื่นในการพิมพ์ได้ คำแนะนำของฉัน? เข้าร่วมการแข่งขันในตอนเช้าวอร์มอัพในแต่ละวัน
ฝึกฝนตัวเองให้ใช้ทางลัดของ PhpStorm
วิธีที่เร็วที่สุดในการเรียนรู้คืออย่าใช้แป้นพิมพ์ลัดแทนตัวเอง
เมื่อฉันกำลังศึกษาคำสั่งลัด ฉันปิดเมนู แท็บ แถบนำทางทั้งหมด ฯลฯ ทั้งหมด คุณสามารถทำได้เช่นกันโดยไปที่เมนูมุมมองและยกเลิกการเลือกเครื่องหมายทั้งหมด (คุณอาจต้องการออกจาก 'แถบสถานะ'):
IDE ของฉันตอนนี้มีลักษณะดังนี้:
ฉันใช้เวลาประมาณสามหรือสี่วันที่ต้องทนทุกข์ทรมานกว่าจะผ่านขั้นตอนการปรับตัวที่ยอดเยี่ยมของแล็ปท็อปได้
หากคุณพบว่าแรงจูงใจของคุณถูกตั้งค่าสถานะ PhpStorm มีคู่มือเพิ่มประสิทธิภาพการทำงานในตัว ประกอบด้วยรายการคุณสมบัติและสถิติการใช้งานสำหรับแต่ละรายการ เพียงคลิก 'ความช่วยเหลือ' จากนั้น 'คู่มือเพิ่มประสิทธิภาพ' แล้วคุณจะเห็นสิ่งนี้:
อย่างที่คุณเห็น คำสั่งลัดช่วยฉันจากการพิมพ์อักขระเพิ่มเติมมากกว่า 20,000 ตัว (ในช่วงหกเดือน) และป้องกันข้อบกพร่องได้ประมาณ 1,000 ตัว ค่อนข้างเป็นแรงจูงใจ!
นอกจากนี้ยังบอกฉันว่าฟีเจอร์ใดบ้างที่ฉันไม่ค่อยได้ใช้ ระบุตำแหน่งที่ฉันสามารถพัฒนาทักษะทางลัดได้ ตรวจสอบสถิติของคุณ และใช้ความรู้อย่างชาญฉลาด
แป้นพิมพ์ลัดยอดนิยม
Jetbrains มี PDF ที่มีประโยชน์พร้อมช็อตคัททั้งหมดที่แสดงอยู่ในเอกสารประกอบอย่างเป็นทางการ และยังมีรายการ 'แป้นพิมพ์ลัดที่คุณไม่ควรพลาด' เริ่มเรียนรู้ทันที จนกว่าคุณจะทำสิ่งนี้ได้ในขณะนอนหลับ
จนถึงตอนนี้ ทางลัดที่ฉันชอบคือ:
-
Ctrl+ E
- สลับระหว่างไฟล์ที่ใช้ล่าสุด -
Ctrl + /
- แสดงความคิดเห็น/ยกเลิกการใส่เครื่องหมายบล็อกของรหัส -
Ctrl + B
- ไปที่การประกาศคลาส -
Ctrl + N
- นำทางไปยัง class -
Ctrl + R
- ค้นหาและแทนที่ -
Ctrl +Alt + L
- ฟอร์แมตโค้ด -
Alt + Enter
- แสดงการกระทำตามความตั้งใจและการแก้ไขด่วน -
Ctrl + Shift + Enter
- คำสั่งสมบูรณ์
สิ่งเหล่านี้บางส่วนสามารถอธิบายตนเองได้ บางส่วนอาจใช้การครอบคลุมมากกว่านี้เล็กน้อย
การสลับไฟล์ด้วย Ctrl + E และ Enter
ลองนึกภาพว่าคุณจำเป็นต้องสลับไปมาระหว่างสองไฟล์บ่อยๆ เช่น ระหว่างคลาส PHP กับตรรกะทางธุรกิจของแอปของคุณและเทมเพลต ซึ่งใช้ในการแสดงและส่งออก
นักพัฒนาหลายคนจะเปลี่ยนจากแป้นพิมพ์เป็นเมาส์ นำทางไปยังแท็บที่มีไฟล์ คลิก และค้นหาส่วนที่จำเป็นด้วยล้อเลื่อน ปัญหา: มันช้ามาก!
จะดีกว่าไหมถ้ากด Ctrl+E แล้วกด Enter
Ctrl+E จะแสดงรายการไฟล์ที่ใช้ล่าสุด และถ้าคุณกด Enter ทันที คุณจะเปลี่ยนเป็นไฟล์ที่ใช้ก่อนหน้าไฟล์ปัจจุบัน
หากคุณต้องการย้อนกลับ ก็แค่กดลำดับเดิมอีกครั้ง
นี่เป็นวิธีที่รวดเร็วที่สุดในการสลับระหว่างสองไฟล์ โดยมีเพียง 3 ครั้งเท่านั้น! ลองนึกภาพว่าคุณจะประหยัดเวลาได้มากแค่ไหน เมื่อคุณต้องทำหลายร้อยครั้งต่อวัน
แสดงการดำเนินการตามความตั้งใจและการแก้ไขด่วนด้วย Alt+Enter
IDE สมัยใหม่จะเน้นข้อผิดพลาดและให้คำแนะนำสำหรับการปรับปรุงโค้ด หากคุณเลื่อนเคอร์เซอร์ไปที่โค้ดที่ไม่สมบูรณ์หรือไม่มีเอกสาร คุณจะเห็นไอคอนหลอดไฟ และหากคุณคลิกที่ไอคอน คุณจะเห็นเมนูป๊อปอัปของการดำเนินการที่เป็นไปได้
สามารถทำได้โดยกด Alt+Enter
ซึ่งสะดวกกว่ามาก
ในกรณีในภาพหน้าจอด้านบน PhpStorm เสนอสองตัวเลือก: เพิ่มข้อกำหนด PHPDoc ให้กับฟังก์ชัน (ซึ่งเป็นคำแนะนำที่ดีมาก โปรดคอยติดตาม) และลบพารามิเตอร์ที่ไม่ได้ใช้
ช็อตคัทเดียวกันนี้สามารถใช้ได้กับการกระทำทั่วไปอื่นๆ มากมาย: การสร้าง getters และ setters สำหรับคุณสมบัติของคลาส การเริ่มต้นฟิลด์ในตัวสร้าง การเพิ่มเมธอดและคุณสมบัติที่ไม่ได้กำหนดไว้ เป็นต้น
กรอกคำสั่งด้วย Ctrl+Shift+Enter
คำสั่งลัดนี้ตรงไปตรงมาและมีประโยชน์มากพร้อมๆ กัน โดยทำตามที่กล่าวไว้ทุกประการ
ตัวอย่างเช่น หากคุณพิมพ์ $i = 0
แล้วกด Ctrl+Shift+Enter
ทันทีหลังจากนั้น PhpStorm จะเพิ่มอัฒภาคให้กับนิพจน์ของคุณ หากคุณพิมพ์ if
และชอร์ตคัทหลังจากนั้น PhpStorm จะเพิ่มวงเล็บเหลี่ยม และอื่นๆ
ใช้ทางลัดนี้บ่อยเท่าที่คุณจะทำได้ จะช่วยคุณประหยัดเวลาได้มากเนื่องจากโค้ดทั้งหมดประกอบด้วยโครงสร้างมาตรฐาน การเพิ่มความเร็วในโครงสร้างการเขียนทำให้การเขียนโค้ดนั้นเร็วขึ้นเช่นกัน!
ปลั๊กอิน IdeaVim
การใช้ทางลัดสามารถเพิ่มประสิทธิภาพการทำงานของคุณได้อย่างมาก แต่ถ้าไม่เพียงพอสำหรับคุณ ระดับถัดไปคือปลั๊กอิน IdeaVim
อย่างที่คุณอาจทราบ Vim เป็นโปรแกรมแก้ไขข้อความคอนโซลที่ใช้กันอย่างแพร่หลายโดยวิศวกรของ Linux geeks และ devops เพื่อดูแลเซิร์ฟเวอร์ระยะไกลผ่านทางบรรทัดคำสั่ง
Vim มีลักษณะสำคัญสองประการ
ประการแรกมันยากที่จะเรียนรู้ ประการที่สอง ถ้าคุณรู้จักมันดี ประสิทธิภาพของคุณในการแก้ไขข้อความจะดีขึ้นกว่าโปรแกรมแก้ไข GUI ใดๆ นอกจากนี้ยังมีสถานการณ์ในอาชีพการงานของคุณเมื่อคุณไม่มีทางเลือกนอกจากต้องใช้ตัวแก้ไขคอนโซล เช่น Vim (ถ้าคุณต้องการแก้ไขบางอย่างบนเว็บเซิร์ฟเวอร์ระยะไกลและคุณมีเพียงคอนโซลที่เข้าถึงได้ เป็นต้น)
แต่ Vim เกี่ยวข้องกับ PhpStorm อย่างไร?
นักพัฒนาจำนวนมากต้องการรวมประสิทธิภาพของ Vim เข้ากับคุณสมบัติของ IDE ที่ทันสมัย (เช่น การเติมโค้ดให้สมบูรณ์ การค้นหาคลาส การค้นหาขั้นสูง และการนำทาง) เพื่อจุดประสงค์นั้น ปลั๊กอิน IdeaVim จึงถูกสร้างขึ้น
หมายเหตุสำคัญ: จากนี้ไป ฉันคิดว่าคุณรู้พื้นฐานของ Vim หากไม่เป็นเช่นนั้น คุณสามารถเริ่มต้นใช้งาน Vim กับ vimtutor ซึ่งสามารถเข้าถึงได้ใน Linux หรือ openvim เกือบทั้งหมด
การติดตั้งปลั๊กอิน
1. ไปที่ 'ไฟล์' จากนั้น 'การตั้งค่า' จากนั้น 'ปลั๊กอิน' และพิมพ์ IdeaVim ในช่องค้นหาปลั๊กอิน ทำเครื่องหมายที่ช่องทำเครื่องหมายทางด้านขวาของชื่อปลั๊กอินแล้วคลิก "ใช้" 2. รีสตาร์ท PhpStorm 3. เปิดปลั๊กอินโดยทำเครื่องหมายที่ 'เครื่องมือ' จากนั้น 'Vim Emulator'
4. ทางลัด PhpStorm ดั้งเดิมและทางลัด Vim (เปิดใช้งานโดยปลั๊กอิน) สามารถขัดแย้งกันเองได้ ดังนั้นคุณต้องแก้ไขข้อขัดแย้งเหล่านี้ด้วยตนเอง ไปที่ 'ไฟล์', 'การตั้งค่า', 'การตั้งค่าอื่นๆ' จากนั้น 'Vim Emulation' คุณจะเห็นรายการทางลัดที่ขัดแย้งกัน ในรายการนี้ คุณสามารถเลือกได้ว่าจะใช้ทางลัด PhpStorm หรือทางลัด Vim ที่ผูกกับลำดับคีย์นั้น คุณสามารถดูตัวเลือกปัจจุบันของฉันได้ในภาพหน้าจอด้านล่าง หากคุณตัดสินใจไม่ได้ ให้ปล่อยทางลัดไว้โดยไม่ได้กำหนดไว้ PhpStorm จะขอให้คุณเลือกเมื่อคุณใช้งานเป็นครั้งแรก
การใช้งานปลั๊กอิน
หลังจากที่คุณเปิดปลั๊กอิน คุณจะสังเกตเห็นได้ทันทีว่าพื้นที่แก้ไขจะคล้ายกับ Vim:
- เคอร์เซอร์เปลี่ยนรูปแบบและกลายเป็นสี่เหลี่ยมเหมือนใน Vim
- หากคุณพยายามพิมพ์บางอย่างในตัวแก้ไข จะไม่มีอะไรเกิดขึ้น
จากจุดนี้ คุณสามารถเริ่มแก้ไขไฟล์ของคุณได้เหมือนกับที่ทำใน Vim โดยใช้ปุ่ม h
, j
, k
, l
สำหรับการนำทาง และปุ่ม i
สำหรับการสลับระหว่างโหมดปกติและโหมดแทรก ฯลฯ
ปลั๊กอินสนับสนุนทางลัด Vim เกือบทั้งหมด
พร้อมกันนั้น ฟีเจอร์ IDE ทั้งหมดยังคงมีอยู่ ดังนั้นคุณจึงสามารถแก้ไขข้อความได้อย่างรวดเร็วมาก โดยใช้เพียงแป้นพิมพ์ของคุณ (เช่นใน Vim) และยังคงข้ามไปมาระหว่างคลาส ไฟล์ การใช้งาน และคำจำกัดความ (เช่นในเวิร์กโฟลว์สมัยใหม่ของ PhpStorm)
การค้นหาขั้นสูง
ข้อดีอย่างหนึ่งของ IDE ที่เหนือกว่าโปรแกรมแก้ไขข้อความทั่วไปคือความสามารถในการใช้งานการค้นหาขั้นสูง
อาจดูซ้ำซาก หากคุณเคยทำงานเฉพาะกับโปรเจ็กต์ขนาดเล็ก แต่เมื่อคุณเริ่มทำงานกับ codebase ขนาดใหญ่ ด้วยความสัมพันธ์ OOP ที่ซับซ้อนระหว่างคลาส คุณจะเข้าใจว่ามันขาดไม่ได้อย่างไร
ง่ายต่อการค้นหาสตริงเฉพาะในไฟล์โดยการค้นหาทั่วไป ( Ctrl + F
) หรือค้นหาและแทนที่ ( Ctrl + R
) แต่ถ้าคุณต้องการค้นหาคำจำกัดความของคลาสเฉพาะในไฟล์หลายพันไฟล์ล่ะ หรือถ้าคุณต้องการค้นหาวิธีการเฉพาะในคลาสที่มีโค้ดหลายพันบรรทัด? หรือบางทีคุณอาจต้องการแยกความคิดเห็นทั้งหมดออกจากผลการดึงข้อมูล นั่นคือสิ่งที่ IDE สมัยใหม่เช่น PhpStorm ช่วยได้
ในส่วนนี้ ฉันจะแสดงรูปแบบการค้นหาที่มีประโยชน์ที่สุดใน PhpStorm
ค้นหาในเส้นทาง
หลังจากการค้นหาทั่วไป การค้นหาที่ง่ายที่สุดคือการค้นหาสตริงเฉพาะในไฟล์ทั้งหมดในโฟลเดอร์ย่อยของโปรเจ็กต์ มันใช้งานได้ง่ายมากใน PhpStorm ที่ฉันใช้บ่อยกว่าตัวเลือกการค้นหาอื่นๆ
ตัวอย่างเช่น ค้นหาการใช้งานคลาส User
ในแอปตัวอย่างของฉัน
1. กด Ctrl + Shift + F
คุณจะเห็นหน้าต่างป๊อปอัปพร้อมตัวเลือกการค้นหา พิมพ์ ' User
' ในสตริงการสืบค้น คุณจะเห็นผลลัพธ์มากมายในแท็บแสดงตัวอย่าง:
2. ตอนนี้ เราสามารถสลับไปที่แท็บแสดงตัวอย่าง และค้นหาผลลัพธ์ที่ต้องการได้ด้วยตนเองที่นั่น แต่เรามีรายการที่ตรงกันมากกว่า 100 รายการ น่าเบื่อ! ให้เฉพาะเจาะจงมากขึ้น
ก่อนอื่น เรากำลังค้นหาการใช้คลาส ดังนั้นให้ตรวจสอบตัวเลือก "ทั้งคำเท่านั้น" จะช่วยให้เราหลีกเลี่ยงผลลัพธ์เช่น E_USER_ERROR
ต่อไป ให้ไม่รวมการค้นหาในความคิดเห็นและตัวอักษรสตริง และจำกัดผลลัพธ์ของเราด้วยไฟล์ .php
เท่านั้น
บางครั้งก็สมเหตุสมผลที่จะระบุโฟลเดอร์ย่อยที่เป็นรูปธรรมมากขึ้นของโครงการ ในกรณีนี้ รหัสเฉพาะโครงการทั้งหมดจะอยู่ในโฟลเดอร์ app
ดังนั้นเรามาเปลี่ยนไดเร็กทอรีขอบเขตเป็น example-app/app
ตอนนี้ เรามีหน้าต่างค้นหาดังนี้:
เพียงแค่ระบุให้มากขึ้นในพารามิเตอร์การค้นหาของเรา เราก็ได้ลดจำนวนผลลัพธ์จากหลายร้อยรายการเหลือเพียง 24 รายการ!
ตอนนี้ การตรวจสอบแต่ละรายการด้วยตนเองทำได้ง่ายมาก ยิ่งกว่านั้น เราไม่จำเป็นต้องเปิดแต่ละไฟล์แยกกันด้วยซ้ำ เพราะเรามีแท็บแสดงตัวอย่างที่สะดวกมาก:
ในทางปฏิบัติทุกวัน find in path search ครอบคลุมประมาณ 80 เปอร์เซ็นต์ของการค้นหาทั้งหมดที่ฉันทำ มีประโยชน์มาก แม้ว่าคุณจะไม่ได้ใช้สิ่งอื่นใดในการดึงข้อมูลของคุณ คุณก็จะยังค่อนข้างมีประสิทธิภาพ
ไปที่การประกาศ
ความสามารถที่สำคัญอีกอย่างหนึ่งของ PhpStorm (เช่นเดียวกับ IDE สมัยใหม่ทั้งหมด) คือการข้ามไปมาระหว่างการใช้งานและการประกาศคลาสและฟังก์ชันต่างๆ
สมมติว่าเรามีฟังก์ชันซึ่งสร้าง User
ใหม่ แน่นอน เราไม่สามารถจำวิธีการและคุณสมบัติทั้งหมดของคลาส User
ได้ ดังนั้นเราจำเป็นต้องตรวจสอบการประกาศของคลาสเพื่อตัดสินใจว่าจะดำเนินการกระทำการที่จำเป็นทั้งหมดอย่างไร มีหลายวิธีที่จะทำ
ขั้นแรก คุณสามารถเปิดการประกาศคลาสเป็นหน้าต่างป๊อปอัปแบบอ่านอย่างเดียวอย่างรวดเร็ว
เพียงเลื่อนเคอร์เซอร์ไปที่การใช้งานคลาสใดก็ได้ แล้วกด Ctrl + Shift + I
หน้าต่างแบบอ่านอย่างเดียวจะปรากฏขึ้น:

คุณสามารถตรวจสอบข้อมูลที่จำเป็นทั้งหมด และกลับไปที่ไฟล์เริ่มต้น มันเร็วมาก คุณไม่จำเป็นต้องสลับไปมาระหว่างไฟล์!
แต่อย่างที่ฉันบอกไป หน้าต่างป๊อปอัปเป็นแบบอ่านอย่างเดียว ดังนั้นหากคุณตัดสินใจเปลี่ยนแปลงบางอย่างในคลาส User
ขณะตรวจสอบ คุณจะต้องมีทางลัดอื่น: Ctrl + Shift + B
การดำเนินการนี้จะนำคุณไปยังชั้นเรียนโดยตรง เมื่อคุณทำการเปลี่ยนแปลง คุณสามารถกลับไปที่ไฟล์เริ่มต้นได้อย่างง่ายดาย โดยใช้ Ctrl + E, Enter
ลำดับที่เรากล่าวถึงก่อนหน้านี้
แสดงรายการวิธีการทั้งหมดของคลาสปัจจุบัน
ฟังก์ชันการค้นหารูปแบบสุดท้ายที่ฉันใช้ทุกวันคือ 'ค้นหาตามโครงสร้างคลาส' บางครั้งคลาส PHP นั้นยาวมากและเป็นการยากที่จะค้นหาคุณสมบัติหรือวิธีการเฉพาะ
หากคุณกด Ctrl + F12
ในขณะที่ไฟล์คลาสเปิดอยู่ คุณจะเห็นหน้าต่างป๊อปอัปพร้อมโครงสร้างของคลาส:
หากคุณเริ่มพิมพ์ชื่อวิธีการ คุณจะเห็นเฉพาะวิธีการที่ตรงกับรูปแบบที่คุณพิมพ์:
ลองนึกภาพว่าคุณมีวิธีการประมาณ 100 วิธี (ซึ่งไม่ใช่แนวทางปฏิบัติที่ดี แต่คุณอาจใช้รหัสดังกล่าวได้) และคุณจำเป็นต้องสลับไปมาระหว่างสองวิธีบ่อยๆ มันสามารถทำให้คุณคลั่งไคล้การค้นหาธรรมดา!
โดยใช้การค้นหาโครงสร้างไฟล์แทน ทุกสวิตช์จะใช้เวลาประมาณห้าการกดแป้น เพียงพิมพ์ Ctrl + F12
เริ่มพิมพ์ชื่อของวิธีการที่ต้องการ กด Enter
แล้วคุณจะเข้าสู่การประกาศ
อย่างไรก็ตาม Ctrl + F12
ไม่ใช่ทางลัดที่สะดวก ดังนั้นคุณอาจต้องการลองเปลี่ยนเป็นอย่างอื่น โดยส่วนตัวแล้วฉันใช้ Alt + R
มีวิธีการค้นหาอีกมากมายใน PhpStorm แต่ทั้งสามนี้สามารถครอบคลุมงานการค้นหาเกือบทุกวัน
บทสรุปเกี่ยวกับฟังก์ชันการค้นหา
- หากคุณต้องการค้นหาบางสิ่งที่พบในหลายไฟล์ ให้ใช้ find ในการค้นหาพาธ (
Ctrl + Shift + F
) และพยายามสร้างตัวเลือกการค้นหา (การกรอง) ให้เฉพาะเจาะจงที่สุด - หากคุณต้องการดูที่มาของคลาสหรือเมธอดอย่างรวดเร็ว ให้ใช้
Ctrl + Shift + I
และตรวจสอบผ่านหน้าต่างป๊อปอัปด่วน (หากคุณต้องการแก้ไข ให้ไปที่การประกาศโดยใช้Ctrl + Shift + B
แทน) - หากคุณมีคลาสขนาดใหญ่และจำเป็นต้องตรวจสอบโครงสร้างหรือสลับไปมาระหว่างวิธีการอย่างรวดเร็ว ให้ใช้ทางลัดโครงสร้างไฟล์
Ctrl + F12
เป็นค่าเริ่มต้น
การใช้เทมเพลตสดสำหรับโครงสร้างภาษาพื้นฐานทั้งหมด
แม้ว่าปุ่มลัดจะช่วยให้คุณสามารถเขียนและนำทางโค้ดได้อย่างรวดเร็ว แต่ก็มีวิธีที่จะปรับปรุงให้ดียิ่งขึ้นไปอีก นั่นคือ การเติมข้อความอัตโนมัติและเทมเพลตแบบสด
การเติมข้อความอัตโนมัติขั้นพื้นฐานนั้นค่อนข้างง่าย และคุณควรทราบเรื่องนี้อย่างแน่นอน
หากคุณเริ่มพิมพ์ชื่อคลาส เมธอด หรือตัวแปร IDE ที่ดีจะแสดงรายการส่วนท้ายที่เป็นไปได้ คุณสามารถเลือกรายการใดก็ได้ และหลีกเลี่ยงการพิมพ์จนจบ
ที่กล่าวว่าคุณสามารถไปได้ไกลกว่าด้วยเทมเพลตสด
ในส่วนนี้ คุณจะได้เรียนรู้ว่าเทมเพลตแบบสดใดที่ฉันใช้ในการทำงานประจำวัน ฉันแบ่งพวกเขาออกเป็นสามกลุ่ม: การสร้างภาษาพื้นฐาน ฟังก์ชันที่มีชื่อยาว และส่วน HTML
การสร้างภาษาพื้นฐาน
จำเป็นต้องพูด นักพัฒนาใช้การสร้างภาษามาตรฐาน เช่น while
, for
, foreach
, if
หลายครั้งต่อวัน ดังนั้นจึงไม่มีประสิทธิภาพอย่างยิ่งในการพิมพ์ตั้งแต่เริ่มต้นทุกครั้ง นั่นเป็นเหตุผลที่มีเทมเพลตสดในตัวสำหรับพวกเขาใน PhpStorm
สำหรับเวทย์มนตร์เทมเพลตสดที่เปลี่ยนแปลงชีวิต ให้เปิด PhpStorm แล้วพิมพ์ forek
ในพื้นที่แก้ไข แล้วกด Enter
คุณจะเห็นสิ่งนี้:
PhpStorm แทนที่แม่แบบด้วยรอบ foreach
ที่สมบูรณ์และเตรียมต้นขั้วสำหรับตัวแปรที่จำเป็นทั้งหมด คุณเพียงแค่ต้องกรอกชื่อตัวแปรที่ถูกต้อง
หากคุณกด Ctrl + J
คุณจะเห็นรายการของเทมเพลตที่ใช้งานจริงที่รองรับในปัจจุบัน ซึ่งใช้ได้กับตำแหน่งปัจจุบันของโค้ด คุณสามารถเลือกใดก็ได้
ดังที่คุณอาจสังเกตเห็น มีสิ่งก่อสร้างบางประเภทที่ขาดหายไปที่นี่ ตัวอย่างเช่น ฉันมักจะพลาดเทมเพลตสดสำหรับวงจร while
มาสร้างมันกันเถอะ!
ไปที่ 'การตั้งค่า' จากนั้น 'ตัวแก้ไข' จากนั้น 'เทมเพลตสด' เลือก 'PHP' และคลิกที่สีเขียว '+' ที่ด้านบนขวาของหน้าต่างป๊อปอัป:
กรอกฟิลด์ 'ตัวย่อ' ด้วย 'wh' และฟิลด์ 'description' ด้วย 'while(bool_expr){…}' ฟิลด์ 'ข้อความเทมเพลต' ควรมีดังต่อไปนี้:
while($EXPR$) { $END$ }
คลิกลิงก์ 'กำหนด' ใต้พื้นที่ข้อความ 'ข้อความเทมเพลต' และเลือก 'PHP' จากรายการ เพื่อให้รู้ว่าจะใช้เทมเพลตนี้ในบริบทใด
ตอนนี้ เรามาพูดถึงวิธีการทำงานกัน
เมื่อคุณพิมพ์ wh, Enter
ในพื้นที่แก้ไขของคุณ ข้อความนั้นจะถูกแทนที่ด้วยข้อความเทมเพลต
เคอร์เซอร์จะถูกย้ายไปยังตัวแปรเทมเพลตแรก $EXPR$
ในกรณีของเรา จากนั้นคุณสามารถพิมพ์นิพจน์ใดๆ (เช่น $i > 0
) แล้วกด Enter
อีกครั้ง
หลังจากนั้นเคอร์เซอร์จะถูกย้ายไปยังตัวแปรถัดไป (ในตัวอย่างนี้เรามีเพียงหนึ่งตัวเท่านั้น) เป็นต้น $END$
เป็นตัวแปรพิเศษที่ระบุตำแหน่งที่เคอร์เซอร์ควรเคลื่อนที่หลังจากเติมตัวแปรทั้งหมดแล้ว
เรามีตัวแปรเพียงตัวเดียว ดังนั้นมันจะถูกย้ายไปยัง $END$
ทันทีหลังจากที่เรากรอก $EXPR$
และเราพร้อมที่จะป้อนเนื้อความของวงจร
สร้างเทมเพลตแบบสดของคุณเองสำหรับโครงสร้างภาษาทั้งหมดที่คุณใช้บ่อย จะดีกว่ามากที่จะลงทุนเวลาล่วงหน้ามากกว่าที่จะใช้มันทุกวันในการพิมพ์สิ่งปลูกสร้างดังกล่าวตั้งแต่เริ่มต้น
ฟังก์ชัน PHP
น่าเสียดายที่ PHP มีชื่อเสียงในภาษาที่มีชื่อฟังก์ชันที่ยาวและไม่สอดคล้องกัน
ข่าวดีก็คือคุณสามารถแทนที่พวกเขาด้วยตัวย่อสั้น ๆ โดยใช้เทมเพลตสด ตัวอย่างเช่น หากคุณต้องการตรวจสอบอย่างถูกต้องว่ามีคีย์บางตัวในอาร์เรย์หรือไม่ คุณต้องเรียกใช้ฟังก์ชัน array_key_exists($my_key, $my_array)
การพิมพ์ทุกครั้งแม้จะใช้การเติมข้อความอัตโนมัติแบบมาตรฐานนั้นน่าเบื่ออย่างยิ่ง ดังนั้นให้สร้างเทมเพลตสดสำหรับกรณีดังกล่าวทั้งหมด
โดยส่วนตัวแล้วฉันชอบ 'ake' สำหรับ array_key_exists คุณสามารถเลือกอย่างอื่นได้ ต่อไปนี้เป็นวิธีสร้างเทมเพลตสด 'ake':
ชิ้นส่วน HTML
สุดท้าย แต่แน่นอนว่าไม่ใช่การใช้งานที่ได้รับความนิยมน้อยที่สุด คือการจัดการส่วน HTML
หากคุณยังไม่เคยใช้เทมเพลตแบบสด ฉันพนันได้เลยว่าคุณทำงานที่น่าเบื่อ (และโดยพื้นฐานแล้ว ไร้ประโยชน์) มามากแล้ว โดยสร้างองค์ประกอบมาร์กอัป HTML มาตรฐาน เทมเพลตแบบสดเปลี่ยนแปลงสิ่งนี้โดยทำในสิ่งที่เราทำด้านบน แต่ด้วยฟิลด์ 'ข้อความเทมเพลต' ที่เป็น HTML ของคุณ
หลีกเลี่ยงข้อบกพร่องด้วย PHPDocs
จนถึงตอนนี้ คุณได้เรียนรู้เคล็ดลับและเทคนิคเกี่ยวกับประสิทธิภาพของ PhpStorm แล้ว แต่เดี๋ยวก่อน ยังมีอีกมาก ประสิทธิภาพไม่ใช่สิ่งเดียวที่สามารถช่วยได้ แต่ยังช่วยหลีกเลี่ยงจุดบกพร่อง แม้กระทั่งก่อนการรันโปรแกรมครั้งแรกของคุณ
นอกกรอบ PhpStorm จะบอกคุณเกี่ยวกับข้อผิดพลาดที่เห็นได้ชัด
ตัวอย่างเช่น หากคุณลืมเครื่องหมายอัฒภาคหลังข้อความสั่ง เครื่องหมายอัฒภาคจะทำเครื่องหมายเป็นสีแดง แต่ฟังก์ชันนั้นไม่สำคัญ ดังนั้นฉันจะไม่อธิบาย
สิ่งที่น่าสนใจคือเมื่อ PhpStorm บอกคุณเกี่ยวกับจุดบกพร่องที่ซับซ้อนมากขึ้น เมื่อคุณให้ข้อมูลที่จำเป็นผ่าน PHPDocs
ตามหลักการแล้ว ข้อมูลจำเพาะ PHPDoc เป็นสิ่งจำเป็นในทีมของคุณสำหรับวิธีการทั้งหมดและจัดทำอย่างเข้มงวดที่สุด พิจารณาตัวอย่างกับคลาส User
ของเราอีกครั้ง สมมติว่าเรามีฟังก์ชันซึ่งส่งคืนอาร์เรย์ของวัตถุ User
:
โดยค่าเริ่มต้นจะไม่มีการบันทึก ดังนั้นนักพัฒนารายอื่นอาจไม่ทราบประเภทของมูลค่าที่ส่งคืนและอาจใช้อย่างไม่เหมาะสม
ตัวอย่างเช่น นักพัฒนาซอฟต์แวร์รายอื่นต้องการเรียกข้อมูลรายการชื่อผู้ใช้ ด้วยเหตุผลบางอย่าง เธอคิดว่าวัตถุ User
มีเมธอด getName() แต่ในความเป็นจริง กลับไม่เป็นเช่นนั้น ดังนั้นผู้พัฒนาจึงทำผิดพลาด:
PhpStorm ไม่ถือว่านี่เป็นจุดบกพร่องเพราะไม่รู้อะไรเกี่ยวกับตัวแปร $user ดังนั้นมันจึงไม่มีใครสังเกตเห็น และเราก็จบลงด้วยข้อผิดพลาดที่ร้ายแรงมาก
ตัวเลือกแรกคือเปิดการพิมพ์ที่เข้มงวด ซึ่งเป็นไปได้ใน PHP7 แต่สมมติว่าเราไม่สามารถทำเช่นนั้นได้ด้วยเหตุผลบางประการ บางทีเรากำลังทำงานกับรหัสเดิม ในกรณีนี้ PhpStorm จะช่วยเราได้ ถ้าเราปล่อยมันไป
เพื่อให้ใช้งานได้ คุณจะต้องสร้าง PHPDoc สำหรับทุกฟังก์ชัน โดยทั่วไปถือว่าเป็นนิสัยที่ดีและจะช่วยให้คุณหลีกเลี่ยงจุดบกพร่อง ร่วมกับนักพัฒนาซอฟต์แวร์คนอื่นๆ และแม้แต่ผ่านการสัมภาษณ์ที่นายจ้างตรวจสอบซอร์สโค้ดของคุณ
ในการสร้าง PHPDoc ให้เลื่อนเคอร์เซอร์ไปที่ชื่อของฟังก์ชัน กด Alt + Enter
เลือกรายการ “สร้าง PHPDoc สำหรับฟังก์ชัน” ในเมนูป๊อปอัป แล้วกด Enter
อีกครั้ง
เทมเพลต PHPDoc พื้นฐานจะปรากฏขึ้น:
คุณสามารถเห็น PhpStorm เดาได้ว่าค่าที่ส่งกลับเป็นอาร์เรย์ แต่ไม่สามารถเดาได้ว่าเป็นอาร์เรย์ของออบเจ็กต์ User
ดังนั้นเรามากำหนดสิ่งนี้ให้ชัดเจนโดยเปลี่ยน 'array' เป็น 'User[]' แทน:
ตอนนี้เราได้บอก PhpStorm ถึงสิ่งที่จำเป็นต้องรู้เกี่ยวกับเมธอดแล้ว กลับไปที่การเรียกเมธอด getUserNames()
กัน:
ตอนนี้ PhpStorm สามารถแยกวิเคราะห์การประกาศประเภทการส่งคืน PHPDoc มันสามารถชี้ให้เราทราบถึงข้อผิดพลาดและแม้กระทั่งบอกใบ้ถึงสิ่งที่ผิดพลาดอย่างแน่นอน PhpStorm ร่วมกับ PHPDocs สามารถทำให้ PHP เป็นภาษาที่เข้มงวดมาก! ผลลัพธ์ที่น่าทึ่ง!
PhpStorm ไม่ได้มีไว้สำหรับนักพัฒนา PHP เท่านั้น
แม้ว่าหัวข้อทั้งหมดจะเน้นไปที่การพัฒนา PHP แต่ PhpStorm นั้นใช้แพลตฟอร์ม IntelliJ ที่ทรงพลังมาก ทำให้สามารถใช้กับภาษา เฟรมเวิร์ก และสแต็กเทคโนโลยีต่างๆ ที่ห่างไกลจากโลกของ PHP ได้
การพัฒนาส่วนหน้า
แม้ว่าคุณจะเป็นนักพัฒนาส่วนหลัง คุณจะต้องแก้ปัญหาส่วนหน้าเป็นครั้งคราว อาจเป็นการแก้ไขง่ายๆ ในมาร์กอัป HTML การเพิ่มพารามิเตอร์ให้กับไคลเอ็นต์ REST เขียนบน AngularJS เป็นต้น ข่าวดีก็คือ ทั้งหมดนี้สามารถทำได้ใน PhpStorm
หลักการพื้นฐานคือ: ตรวจสอบว่าได้รับการสนับสนุนนอกกรอบหรือไม่ ถ้าไม่ลองหาปลั๊กอิน
ตัวอย่างเช่น Javascript, CSS และตัวประมวลผลล่วงหน้า CSS ยอดนิยม เช่น LESS และ SASS ได้รับการสนับสนุนโดยสมบูรณ์ เพิ่มการสนับสนุน AngularJS เป็นปลั๊กอินได้อย่างง่ายดาย (เส้นทางการติดตั้งเหมือนกับปลั๊กอิน IdeaVim) ด้วยความคิดนี้ คุณจะสามารถแก้ไขงานส่วนหน้าที่เป็นไปได้เกือบทั้งหมด
การทำงานกับฐานข้อมูล
โดยทั่วไป ฐานข้อมูลแอปพลิเคชันจะได้รับการจัดการผ่านบรรทัดคำสั่งหรือเครื่องมือพิเศษ เช่น MySQL Workbench แต่ PhpStorm สามารถช่วยคุณได้ที่นี่เช่นกัน
เพียงคลิกฐานข้อมูลที่ขอบด้านขวาของหน้าจอ แล้วคุณจะเห็นรายการฐานข้อมูลที่พร้อมใช้งาน (ว่างในตอนแรก) และหน้าต่างแบบสอบถามซึ่งมีการเติมข้อความอัตโนมัติ เช่น พื้นที่แก้ไขทั่วไป ทำให้สะดวกมาก
PhpStorm รองรับฐานข้อมูลที่ทันสมัยเกือบทั้งหมด รองรับ MySQL, PostgreSQL, Oracle Database และ SQLite ในขณะที่รองรับ MongoDB ผ่านการติดตั้งปลั๊กอิน
หมายถึง กอง
ตัวอย่างสุดท้ายและตัวอย่างที่ไม่ใช่ PHP ที่น่าทึ่งที่สุดคือการพัฒนา MEAN stack
MEAN ย่อมาจาก MongoDB, ExpressJS, AngularJS, Node.js
เป็นสแต็คเทคโนโลยีที่ได้รับความนิยมและมีการใช้งานทุกที่ รวดเร็วและดีมากสำหรับบริการเว็บที่รวดเร็วและมีน้ำหนักเบา
แม้ในฐานะนักพัฒนา PHP บางครั้งฉันก็สร้างบริการ Node.js เป็นเครื่องมือเสริมสำหรับโครงการ PHP (เช่น บริการ websocket แบ็กเอนด์แชทบอทอย่างง่าย ฯลฯ)
อย่างที่คุณอาจเดาได้ ส่วนประกอบทั้งหมดของ MEAN stack ได้รับการสนับสนุนใน PhpStorm ดังนั้นเมื่อใดก็ตามที่คุณต้องการสร้างโครงการ MEAN stack โปรดจำไว้ว่าคุณไม่จำเป็นต้องมี IDE อื่น PhpStorm จะทำงานอย่างสมบูรณ์แบบ
พลังของ PhpStorm อยู่ในมือคุณ
การใช้พลังของ PhpStorm และชุดทักษะหลักที่กล่าวถึงในบทความนี้ ทำให้คุณเพิ่มประสิทธิภาพและป้องกันจุดบกพร่องได้ก่อนที่คุณจะพิมพ์เสร็จ