ข้ามไปที่เนื้อหาหลัก

ปลดล็อคความสามารถให้กับ Sublime Text ตอนที่ 2


ความเดิมจากตอนที่แล้วสำหรับตอนที่ 2 นี้ ผมจะมาแนะนำ plugin ที่น่าใช้สำหรับ Web Development นะครับ ซึ่งความจริงแล้วก็มีให้เราเลือกเลือกใช้มากมาย สามารถ search google ได้ด้วยคำว่า "sublime popular package" ซึ่งทาง Sublime Text ได้จัดอันดับไว้ให้เราด้วย สามารถเข้าไปเลือกดู เลือกโหลดกันตามใขชอบเลยครับ แต่ผมจะมาขอแนะนำ ตัวที่คิดว่าลงแล้วใช้งานได้จริงแน่ๆ มาฝากกันครับ



1. Packe Control (https://sublime.wbond.net/installation)
แน่นอนครับก่อนจะโหลดอะไรมาเสริมได้ เราต้องลงเจ้าตัวจัดการ package ก่อนซึ่งผมได้แนะนำวิธีการลงไปในตอนที่แล้ว

2. SublimeCodeIntel (https://github.com/SublimeCodeIntel/SublimeCodeIntel)
เป็นพื้นฐานที่ควรลงเพราะเจ้า Package นี้จะคอยแนะนำ ตัวแปร หรือคำสั่งต่างให้เราเวลาที่พิม คล้าย Autocomplete ก็ว่าได้

3. SublimeLinter (https://sublime.wbond.net/packages/SublimeLinter)
ใช้สำหรับตรวจสอบไวยากรณ์ เหมือนกับที่ IDE ทั่วๆ ไปเค้ามีกันน่ะครับ ซึ่งหากใครมองหาอยู่สามารถโหลดกันได้เลย หากใครใช้ Sublime Text 3 ต้องโหลดแยกนะครับ ซึ่งแบ่งออกตามนี้อยากเช็คตัวไหนก็ลงตามใจชอบครับ

เพิ่มความสะดวกในการใช้งานเมนูด้านซ้ายให้ดียิ่งขึ้น ซึ่งปกติจะทำอะไรค่อนข้างยากมาก หากลงตัวนี้จะช่วยให้ทำงานง่ายขึ้น

ใครจะรู้ครับ โปรแกรมเมอร์บางคนเป็นคนละเอียดจ๋า ไม่ต้องการให้มีการเคาะ space ฟรีๆ ต่อท้ายในบรรทัด ผมก็ไม่รู้ว่ามันจะเลวร้ายมั้ยถ้ามีเว้นวรรคเยอะๆ ทำให้โปรแกรม หรือเว็บช้าแค่ไหน แต่หากใครเป็น Geek แล้วเจ้าระเบียบขนาดหนัก ก็จัดไปครับ มันจะช่วยแสดงการเคาะที่เกินมา พร้อมทั้งลบออกให้ท่าได้ในคำสั่งเดียว

Advanced สำหรับคนใช้ Git

เป็น Package ที่รวบรวมเอาคำสั่งต่างๆ ของ Git มาใช้งานโดยไม่ต้องพิมผ่าน Console / Cmd / Bash หรือ UI ต่างๆ ทำให้สะดวกยิ่งขึ้น

เครื่องมือสำหรับคนชอบ Git เวลาที่ท่านพิมๆๆๆๆ มัจะคอยตรวจสอบโค้ดที่เขียนโดยเปรียบเทียบว่าเขียนอะไรเพิ่มไปบ้าง ที่ทำให้เกิดความต่างจากของเดิมที่เขียนไว้ (ปกติผมจะตรวจสอบจากคำสั่ง git status หรือ git diff origin/master) อะไรที่เปลี่ยนแล้วทำให้เกิด uncommited มันจะบอกเราหมดครับ

จริงๆ แล้วหลายๆ คนคงมีคำถามว่าทำไม? ไม่ลงของจำเป็นเหล่านี้มาให้หมดเลยละทำไมต้องมานั่งโหลดเอาเอง ... คำตอบคือ ไม่มีใครรู้ว่าท่านเป็นคนทำงานสไตล์ไหน? อาจจะชอบแบบเรียบๆ ไม่ต้องมีตัวเสริมอะไรมาก เพราะมั่นใจในความเร็วของตัวเอง หรือผิดพลาดน้อย หรืออาจจะเป็นคนชอบของเล่นที่เค้ามีมาให้แต่ก็จะใช้เป็นบางอย่าง บางอย่างก็ไม่โอเค ไม่โอเคยังไง?

ตัวอย่าง มีเดฟหลายๆ คนที่ชอบเปิดหลายๆ โปรเจ็คในหน้าต่างเดียว แล้วลง GitGutter แน่นอนครับ เน็ตไม่เร็ว เครื่องไม่เจ๋งจริง ก็ต้องประสบปัญหากระตุกๆๆ เวลาเขียน อย่างที่บอกไปครับ Gitgutter มันจะคอยเช็คโค้ดเราที่เพิ่มไปกับของเดิมที่เคย commited ไปว่ามีความเปลี่ยนแปลงในส่วนไหนบ้าง หากเราเปิดทั้งโปรเจ็คทุกอันในหน้าต่างเดียวเลย แล้วทุกๆ โปรเจ็คมี Repository ทุกโปรเจ็คไม่อยากจะนึกภาพเลยครับ สุดท้ายอยากใช้ก็ต้องเปิดทีละโปรเจ็ค ไม่งั้นก็ต้อง Disable หรือ Remove เลยละครับ ...

สุดท้ายเสริมพลัง อัพเกรด Sublime Text ในสไตล์ของตัวเองได้เลยครับ มันยังมีให้เราเลือกเล่นอีกเยอะแยะ แต่ที่ผมนำมาแนะนำ ผมว่ามันเป็นสิ่งที่หลายๆ คนหากเคยใช้ Eclispe หรือ Dreamweaver คงถามหาว่า Sublime Text ไม่มีเหรอ? มีครับ แค่คุณต้องไปค้นหามันเอาเอง ...



ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

การเพิ่ม Font ภาษาไทยอื่นๆ เข้าไปใช้งานใน MPDF

เนื่องมาจากผมได้มีโอกาสจับงานที่ต้องแปลงหน้าเว็บให้เป็น PDF ลองๆ หาข้อมูลก็ไปเจอเจ้าตัวนี้ MPDF  ซึ่งจริงๆ แล้วก็มีให้ใช้งานอีกหลายๆ ตัว สาเหตุที่เลือกใช้งานตัวนี้เพราะมัน ค่อนข้างจะติดตั้ง และใช้งานง่าย และยังสามารถอ้างอิง CSS เข้ามาช่วยจัดหน้าตาใน PDF ได้อีกด้วย ซึ่งผลที่ได้เพี้ยนไปจากตัวจริงไม่มากครับ แต่ที่ทำให้เลือกใช้งานเพราะการเพิ่มฟ้อนท์ภาษาไทย เข้าไปนั้นค่อนข้างง่ายครับ เลยจะขอมาแนะนำดังนี้

การใช้งาน คำสั่ง file_exists() อย่างเข้าใจ

นี่อาจจะไม่เรื่องใหม่อะไรสำหรับ Professional ทั้งหลาย แต่ว่าสำหรับผมที่เข้าใจ และใช้งานอย่างผิดๆ มาตลอด จนบางทีก็เข้าใจว่า เราเขียนผิด หรือ คำสั่งมันใช้งานไม่ได้ วันนี้จะขอมาพูดถึงเรื่องของคำสั่ง PHP ที่ชื่อ file_exists เป็นคำสั่งที่ใช้สำหรับตรวจสอบไฟล์ว่ามีอยู่จริงหรือไม่? ตัวอย่างการใช้งานแบบผิดๆ ที่ผมใช้ก็คือ file_exists('/images/news/helloworld.jpg'); ผลลัพธ์ที่ได้คือ FALSE ถึงแม้ว้าจะมีไฟล์นั้นอยู่จริงก็ตาม ซึ่งในความเป็นจริงแล้ว การใช้งานที่ถูกต้องคือ file_exists($_SERVER['DOCUMENT_ROOT'] . '/images/news/helloworld.jpg'); จากตัวอย่างที่ถูกต้อง ทำให้เข้าใจแบบง่ายๆ ว่าคำสั่ง file_exists นั้นใช้สำหรับเช็ค path ในโฟลเดอร์จริงๆ เท่านั้น ไม่สามารถเช็คจาก URL ได้ อันนี้เป็นเรื่องง่ายๆ ที่ผมเข้าใจผิดมาอยู่นานเลยทีเดียวเลยต้องขอลงบันทึกเตือนตัวเองไว้อีกที :3

มาเข้าใจ และใช้ Datatable ดึงข้อมูลแบบ Server-side ด้วย PHP, MySQL กันเถอะ

มีช่วงหนึงผมเคยนำ datatable มาพัฒนาในงานแต่เกิดปัญหาเนื่องจากมีข้อมูลขนาดใหญ่ ทำให้เกิดการโหลดในครั้งแรกที่โหลดหน้าเพจนั้นๆ เนื่องจากผมใช้ Ajax ในการโหลดข้อมูลทั้งหมดมาในครั้งเดียวด้วยจำนวนข้อมูล 1000 ขึ้น ซึ่งตอนนั้นผมคิดว่าการทำ preload น่าจะช่วยได้ แต่ว่าถ้า user เกิดเผลอไปกด refesh หรือแก้ไขข้อมูลเวลากลับมาที่หน้าข้อมูลก็ต้องโหลดใหม่อีก ทำให้ผมเลิกใช้ datatable ไปเลย เพราะคิดว่ามันคงไม่เหมาะ แต่ในความจริงแล้ว datatable ก็ได้มีสิ่งที่มาแก้ในจุดนั้นได้ ซึ่งเรียกว่า server-side โดยการที่อนุญาตให้เรา query ข้อมูลออกมาก่อนแล้วส่งมาให้ datatable อ่านข้อมูลในจำนวนที่น้อยลง หลักการก็เหมือนๆ กับบทความการทำสร้าง XML จากข้อมูลขนาดใหญ่นั่นแหละครับ แต่มีเงื่อนไขเพียงแต่ว่า ต้อง Filter และส่งข้อมูลออกมาในรูปแบบที่ตรงตามหลักของ datatable เท่านั้น ( บางครั้งเวลาเข้าไปอ่าน Document หรือดู Example จะงงๆ ว่าอะไรเยอะแยะ ) โดยวันนี้จะมาแนะนำการใช้งานแบบง่ายๆ กันเลย :D