13 January 2015

[Android Dev Tips] ปัญหา Completion บน Android Studio อิงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่



        อันนี้จะเป็นปัญหาที่เจอได้บน Android Studio นะครับ โดยปัญหาคือเจ้า Completion ใน Android Studio มันชอบ Suggest โดยบังคับว่าต้องพิมพ์ตัวเล็กและตัวพิมพ์ใหญ่ให้ถูกต้องด้วย ไม่เช่นนั้นหน้าต่าง Completion จะไม่แสดงขึ้นมา


        จากภาพตัวอย่างจะเห็นว่า เจ้าของบล็อกลองพิมพ์คำสั่ง Toast โดยให้ตัวอักษรตัวแรกเป็นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ จะเห็นว่าถ้าใช้ตัวนำหน้าเป็นตัวพิมพ์เล็กจะทำให้ Completion ไม่แสดง Suggest ของ Toast เลย

        ซึ่งปัญหานี้ไม่ใช่ปัญหาบน Android Studio แต่อย่างใดนะครับ เพียงแต่ว่าเจ้า Android Studio นั้นมันฉลาดเกินไป (ฮา) โดยตั้ง Default ไว้ว่าตัวอักษรตัวแรกสุดต้องมีตัวพิมพ์เล็กพิมพ์ใหญ่ตรงกับคำสั่ง ถึงจะ Suggest ให้เลือก

        ในกรณีที่ไม่อยากให้สนใจเรื่องตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ก็สามารถไปตั้งค่าใน File > Settings...



        ที่ช่องซ้ายมือให้เลือกไปที่ IDE Settings > Editor > Code Completion แต่ถ้าจะให้สะดวกก็พิมพ์ค้นหาที่ช่องข้างบนว่า Completion เลย


        ที่หน้าต่างขวามือให้ดูที่ Case sensitive completion จะเห็นว่า Default Settings ได้เลือกเป็น First letter เอาไว้ และเมื่อกดเลือกดูก็จะเห็นว่ามีให้กำหนดได้อยู่ 3 แบบคือ


        All ต้องพิมพ์ตัวอักษรพิมพ์เล็กพิมพ์ใหญ่ให้ถูกต้อง Completion ถึงจะแสดง
        None ไม่สนในตัวพิมพ์เล็กพิมพ์ใหญ่ ถ้าตัวอักษรตรงก็จะแสดง Completion ทันที
        First letter ตัวอักษรตัวแรกต้องมีตัวพิมพ์เล็กพิมพ์ใหญ่ที่ถูกต้อง Completion ถึงจะแสดง

        ก็ให้เลือกเป็น None ซะ แล้วกด OK เพื่อปิดหน้าต่าง Settings ลง

        เมื่อลองพิมพ์คำสั่ง Toast โดยให้ตัวอักษรเป็นตัวพิมพ์เล็กทั้งหมด ก็จะเห็นว่า Completion ทำงานแล้ว



        Android Studio ไม่ได้ห่วยนะ แต่ดันฉลาดเกินไป....