AndroidStudio2
จากงาน Android Dev Summit 2015 นั้น
มีหัวอีกหัวข้อที่น่าสนใจ คือ Android Studio for Experts

เป็น session ยาวประมาณ 1 ชั่วโมง
แต่คิดว่าคุ้มค่ามาก ๆ สำหรับ Tips และ เทคนิคต่าง ๆ ที่ได้รับ
สำหรับการใช้งาน Android Studio 2.0 preview
ดังนั้น จึงสรุปในสิ่งที่ตัวเองสนใจไว้นิดหน่อย

ปล1. ผมคิดว่า Session นี้น่าจะเปลี่ยนชื่อว่า
100 เหตุผลของ Android developer ที่ควรเปลี่ยนมาใช้ Android Studio

ปล2. ผมใช้เครื่อง Mac นะ

Code completion

เริ่มด้วย Insert completion
โดยปกติเมื่อเรากดปุ่ม control + spacebar เพื่อให้แนะนำ code
ถ้าเราต้องการอะไรก็เลือกด้วยการกดปุ่ม Enter
ซึ่งผลที่ได้มันคือการเพิ่ม code ต่อท้ายจากจุดที่ cursor อยู่
ทำให้ code ที่ได้มันผิด ดังนี้

ดังนั้นแนะนำให้ใช้ปุ่ม TAB แทน Enter นะ
มันจะทำการแทนที่ด้วยสิ่งที่เราเลือก
แสดงการใช้งานดังนี้
01

ต่อมาเรื่อง Smart code completion

จากเดิมเราใช้ control + spacebar และ . เพื่อให้แนะนำ code และ method
ซึ่งสิ่งที่แนะนำมาอาจจะไม่ตรงกับ code ที่กำลังเขียนอยู่
เพราะว่า มันไม่ได้สนใจ context ที่เราทำงานอยู่มากนัก

ดังนั้นแนะนำให้ใช้ shift + control + spacebar แทนนะ
แสดงการใช้งานดังนี้
02

จากนั้นมาเรื่องของ Intention ซึ่งทำให้ชีวิตง่ายขึ้นเยอะ

มันอาจจะทำให้เราขี้เกียจก็ได้นะ
แสดงการใช้งานดังนี้

03

เพื่อความสนุกสนานมาใช้งาน Live template กันดีกว่า

เริ่มจากการสร้าง for loop แบบง่าย ๆ ใช้ fori
จากนั้นลองสร้าง for loop สำหรับตัวแปร Collection กันดู colection_variable.fori

แสดงการใช้งานดังนี้
04

มาสนุกกันอีกสักหน่อยกับ Logging กันบ้าง

ซึ่งมี shortcut key สั้น ๆ สำหรับเขียน code เกี่ยวกับ log
ให้มันเขียนง่าย ๆ และ เร็ว ๆ กันหน่อย
ซึ่งสามารถใช้

  • logi = log information
  • logt = log TAG คือการสร้างตัวแปร TAG ขึ้นมาให้อัตโนมัติ

แสดงการใช้งานดังนี้

05

จากนั้นถ้าต้องการเขียน log
ของข้อมูลที่ส่งเข้ามา และ ผลการทำงาน
เราสามารถใช้ logm และ logr ได้เลย
แสดงการใช้งานดังนี้

06

สามารถเขียน และ run Unit test และ Instrumentation test ไปพร้อม ๆ กันได้

ไม่ต้องสลับ build variants ไปมาอีกแล้ว
รวมทั้งเมื่อทำการ refactor code ที่ง่ายขึ้น
ซึ่งสามารถเข้าไปเปิด feature นี้ได้ที่

Preferences > Build, Execution, Deployment > Build Tools > Gradle > Experimental
แสดงดังรูป

Screen Shot 2558-12-04 at 4.41.09 PM

เท่านี้แหละสำหรับ feature ที่มีประโยชน์มาก ๆ ต่อตัวผม

แต่ยังมีเรื่องอื่น ๆ ที่น่าสนใจอีก เช่น

  • Search and replace
  • การจัดการ xml และ resource ต่าง ๆ
  • การใช้งาน debugger
  • Gradle
  • Testing มันสั้นไป

ลองไปดูจาก VDO ข้างต้น
ยิ่งเรียนรู้ ก็ยิ่งรู้ว่าไม่รู้เยอะมาก