ช่วงนี้นึกเรื่องเขียนได้มากมาย แต่พอจะลงมือเขียนก็ขี้เกียจซะงั้น ทั้ง ๆ ที่ต้นเดือนยังไฟแรงอยู่แท้ ๆ แล้วไม่รู้นึกไงมาเขียนเรื่อง Programming ซึ่งเป็นเรื่องที่ถูกคนอ่านลอยแพไม่สนใจมากที่สุดไปได้ เอาน่ะ ก็ลงมือเขียนแล้วนี่นา..

Code Snippets คือไรหว่า?

ไม่ใช่ชื่อ Blog ใน Favourite ของผมแน่นอน แต่ก็ความหมายเดียวกัน ก็คือกลุ่มโค้ดเล็ก ๆ ที่เอาไว้ทำอะไรสักอย่างน่ะแหล่ะ ที่ตัดเก็บรวบรวมแล้วเอากลับมาใช้ใหม่ได้ ใน VS 2005 ก็ได้เพิ่มคุณสมบัติที่มีชื่อเดียวกันนี้เข้ามาด้วย โดยเฉพาะอย่างยิ่งใน VB 2005 นั้น มี Code Snippets แถมมาให้กว่า 500 ตัวทีเดียว!! (เห็น MS โม้ไว้อย่างงั้น)

การเรียกใช้ก็ง่าย ๆ แค่คลิ้กขวาใน Code Editor แล้วเลือก Insert Snippet... หรือถ้าเป็นพวกเม้าส์ไม่ยุ่งมุ่งแต่คีย์บอร์ด ก็เพียงพิมพ์ ? แล้วตามด้วยกด Tab มันก็ขึ้นมาเหมือนกันล่ะ จากนั้นก็กดไล่หาไปเรื่อย


ขึ้นมาแบบนี้ล่ะ


Code Snippets ใน VB 2005 Express


น่าเสียดายอย่างยิ่งที่ใน VB 2005 Express ซึ่งเป็นรุ่นแจกฟรีนั้น มี Code Snippets มาให้แค่ 233 ตัวเท่านั้น แต่พวกที่ตัดไปส่วนใหญ่ก็เป็นพวกที่ใช้ใน Express Edition ไม่ได้อยู่แล้ว (อย่าง Crystal Report หรือ Smart Device ที่เกี่ยวกับพวก PocketPC) หรือไม่ก็เป็นพวกที่ดูอันตรายไปหน่อย (อย่างการแก้ไข Registry) แต่ที่เลวร้ายไปยิ่งกว่านี้คือ ที่เครื่องผม ไอ้ที่มีอยู่ 233 ตัวมันยังหายไปอีกน่ะสิ!!

พอเข้าไปดูใน Code Snippets Manager (อยู่ในเมนู Tools นะ) ก็เจอเครื่องหมายตกใจขึ้นอยู่หลายหมวดหมู่ พอลองตรวจสอบดูก็พอว่ามันระบุไดเรคทอรี่ที่เก็บ Code Snippets พลาดนี่เอง (เช่น Collecttions and Arrays ดันไประบุเป็น Collections เฉย ๆ) พอเข้าไปดูในไดเรคทอรี่ที่เก็บ Code Snippets ก็พบอีกว่ามีหลายหมวดหมู่ยังไม่ Add เข้ามา วิธีแก้ก็ Add... ซะ ส่วนไอ้ที่ผิดพลาดก็ทำได้อย่างเดียวคือ Remove ไป แล้ว Add ไดเรคทอรี่ที่ถูกเข้าไปแทน เท่านี้ก็ได้ครบ 233 แล้ว!! (เหตุที่มันผิดพลาดแบบนี้อาจเพราะผมเคยลง Beta 2 ไว้ก่อนหน้านี้ก็ได้)

อ้อ! ไดเรคทอรี่ที่เก็บ Code Snippets อยู่ที่ :

C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\VbExpress\Snippets\1033

สีแดงคือไดเรคทอรี่ที่ติดตั้ง VS 2005 Express


Code Snippets ใน VC# 2005 Express

ใน VC# 2005 (คาดว่าทั้งเวอร์ชั่นเสียตังค์และ Express) ก็มี Code Snippets มาให้ครับ แต่... เป็นชุดจิ๋ว มีแค่หมวดหมู่เดียว แถมยังเป็นแค่ช่วยวางโครงสร้างพื้นฐาน เช่น if, for , foreach อะไรพวกนี้อีก แต่อย่าเสียใจไป เพราะเราสามารถดาวน์โหลดชุดใหญ่มาลงเพิ่มได้ฟรี!! ที่ Visual Studio 2005 Code Snippets 

เอามาแล้วก็ติดตั้งลงไป แต่มันจะยังไม่ถูก Add ไปนะครับต้องใช้ Code Snippets Manager มา Add เอาเองตามเคย ซึ่งปกติ Code Snippets ที่โหลดมาเพิ่มนี้จะไปอิงแอบอยู่ที่ :

My Documents\MSDN\Visual C# 2005 Code Snippets

ใน VC# ก็พิเศษหน่อยครับ คือมี Surround With ... เพิ่มมาอีกอย่าง ซึ่งมันมีไว้ใช้กับ Code Snippets ชุดจิ๋วที่ติดมาแต่ต้นนั่นล่ะ ใช้ทำอะไรน่ะเหรอ? ก็อย่างเช่น คุณพิมพ์คำสั่งมากมายไปแล้ว แล้วต่อมาเกิดอยากเพิ่มทางเลือกจึงอยากเอาคำสั่งเหล่านี้ไปใส่ไว้ในเงื่อนไข if ซึ่งแต่ก่อนคุณต้องพิมพ์ if ตามด้วยเงื่อนไขและปีกกาเอาเองเหนือคำสั่งพวกนี้ แล้วต้องวิ่งไปปิดปีกกาข้างล่างอีก หรืออาจจะต้องพิมพ์โครงสร้างของ if ให้เสร็จก่อนแล้ว Copy คำสั่งพวกนี้ไปใส่ทีหลัง แต่ด้วย Surround With คุณแค่เลือกคำสั่งพวกนี้แล้วคลิ้กขวาเลือก Surround With... จากนั้นเลือก if ก็จบ โครงสร้างของ if ก็จะครอบคำสั่งพวกนี้ให้เลย เหมาะกับตัวขี้เกียจดีมั้ยล่ะ!!

อ้อ ไอ้พิมพ์ ? แล้วตามด้วย Tab ใช้กะ C# ไม่ได้นะ


edit @ 2007/01/29 02:10:09
edit @ 2007/01/29 02:13:40

Comment



smilebig smileopen-mounthed smileconfused smilesad smileangry smiletonguequestionembarrassedsurprised smilewinkdouble winkcry

ningkungz รู้สึกมั้ยครับ ว่า VS2005 เนี่ย IDE ของแต่ละ language เนี่ยเหมือนจะแยกทีมกันทำโดยสิ้นเชิงเกินไป

snippet ก็มาคนละแนว, feature ของ IDE ก็ไม่เหมือนกัน

และที่สำคัญ VB ซึ่งเคยมี IDE เจ๋งมาก ๆ กับมาแพ้ IDE ของ VC#2005

#1 By T!D on 2007-02-03 01:33

อืมม์ ของ VC# 2005 มันดีกว่าจริง ๆ น่ะล่ะ พิมพ์ตัวแรกก็ขึ้นคำมาให้เลือกเลย (สบายคนขี้เกียจ) แล้วพอกด Enter เคอร์เซอร์ก็อยู่ต่อท้ายคำให้เลย ส่วนของ VB ต้องกด Ctrl+Space และเลือกคำด้วย Tab เท่านั้น ไม่งั้นจะมีช่องว่างเกิดขึ้นมาหลังคำ

ทำคนล่ะทีมแน่ ๆ ล่ะครับ ขนาดเอกสารใน MSDN ยังเรียงหัวข้อไม่ค่อยจะเหมือนกันเลย ของ VC# มีวิธีใช้ IDE แต่ VB กลับไม่มี (ผมดูไปกลับ 2 ภาษาเพื่อเปรียบเทียบมาพักนึงล่ะ)

เอกสาร Language Specification ที่เป็น .doc ก็ยังมีรูปแบบต่างกันเลย ของ VB ตรงสารบัญจะเป็นลิ้งค์ให้คลิ้กได้ แถมมีการใส่สีตรงส่วนโค้ดทำให้ดูง่ายด้วย แต่ของ VC# กลับไม่มีพวกนี้เลย (อ่านทีทำเอามึน)

#2 By NinkungZ on 2007-02-03 22:49

NinkungZ View my profile


Favourites


View My Stats