เพิ่มความเร็วในการเขียน Code กับ Live Templates (Part 2)
ครั้งก่อนเล่าเกี่ยวกับการใช้ Live Templates แบบเบื้องต้นกันไปแล้ว คราวนี้มาเพิ่มความสามารถของ Live Templates ใครยังไม่รู้ว่า Live Template คืออะไรไปอ่านกันได้ก่อน
Live Templates มีความสามารถอีกอย่างคือ การสร้างตัวแปรเพื่อทำเป็น Template นั้นที่เราสร้างมีความยืดยุ่นเเละ ลดการเขียน code ซ้ำๆ การทำงานก็จะรวดเร็วขึ้นนั้นเอง
Create Live Templates
การสร้าง Template นั้นเหมือนกับบทความเเรกที่ได้ทำกันมาแต่จะเพิ่มตัวแปรเข้ามา คือการกำหนดชื่อ หรือ ค่าต่างๆที่เราต้องการ เเล้วเรายังสามารถกำหนดให้เป็น snake case หรือ camel case เลยก็ได้ผ่านการ setting ของตัวแปร ผมขอยก Adapter ของ RecyclerView มาเป็นตัวอย่างแล้วกัน เนื่องจากมีการใช้บ่อยแล้ว code ก็แทบจะเหมือนเดิม เริ่มจากหน้าตาของ Adapter ที่เราต้องการจะประมาณนี้
มาเริ่มสร้าง Template กันจากการกำหนดค่าต่างที่ต้องการจะเปลี่ยน ซึ่งก็ copy มาจากที่ทำไว้ก่อนหน้า โดยที่กำหนดชื่อที่จะใช้เป็น shortcut ที่ Abbreviation จากนั้นก็มากำหนดค่าตัวแปรกัน syntax ในการสร้างตัวแปรคือ $ตัวแปร$
เราสามารถใช้ชื่ออะไรก็ได้เลย โดยที่สร้างไว้จะมี $NAME$
คือชื่อ class $VALUE$
คือ list ที่ใช้ใน Adapter ส่วน $VIEWID$
คือ id ของ view นั้นเอง
ต่อมาเป็นการกำหนดค่าของตัวแปรว่าจะทำอะไรบ้างโดยคลิกที่ Edit variables
เราจะกำหนดค่าของตัวแปรโดยให้ VIEWID
เป็นตัวแรกที่ต้องการพิมพ์ โดยสามารถกดเลื่อนขึ้นมาได้ จากนั้นไปต่อที่ VALUE
โดยจะเอาค่ามาจาก VIEWID
เเล้วทำให้เป็น camel case ต่อมา NAME
เราต้องการ camel case ด้วยและ capitalize ด้วยจึงเอาค่ามาจาก VALUE
เราสามารถแปลงค่าได้มากกว่านี้อีก เข้าไปดูกันได้ใน document ของ IntelliJ ผมได้แนบเอาไว้ใน reference แล้วส่วนต่อมาเป็นการให้กำหนดให้ skip if defined คือ ถ้ากำหนดค่าเเล้วข้ามได้เลยมาลองใช้กันดู
ตอนนี้ Live Template ของตัวเริ่มต้นอาจจะไม่เพียงพอที่จะใช้งาน เลยมีอีกทางมาเสนอคือ สามารถหา load ของคนอื่นที่แชร์มาใช้ได้เลยเเล้วจะมาเพิ่มเติมให้เป็นของตัวเองก็ได้ ซึ่งผมใช้อันนี้อยู่มีที่ใช้บ่อยๆอยู่พอสมควร
มีอีกอย่างที่อยากจะเพิ่มคือ Postfix Completion
Postfix Completion
คล้ายกันการทำ Live Templates แตกต่างกันตรงที่การใส่ .
หลังจาก action คล้ายๆเป็น extension เช่น การทำ for
ของ list
ก็จะพิมพ์ <list>.for
จากนั้นก็กด tab
ได้เลย ทั้งนี้ยังมีอีกหลายอย่างเลือกใช้ แต่น่าเสียดายที่ไม่สามารถทำการเพิ่มในส่วนของ Kotlin ได้ แต่หวังว่าอนาคตจะมีให้เพิ่มได้
สามารถเข้าไปดู config ต่างๆ ของ Postfix Completion ได้ตามนี้
หวังว่าบทความนี้คงมีเป็นประโยชน์ไม่มากก็น้อยนะครับ :)