ส่วนขยาย VS Code Go ให้การสนับสนุนภาษาที่หลากหลายสำหรับภาษาการเขียนโปรแกรม Go
Visual Studio Code 1.75 หรือใหม่กว่า (หรือตัวแก้ไขที่เข้ากันได้กับ VS Code 1.75+ API)
ไป 1.21 หรือใหม่กว่า
ยินดีต้อนรับ! -
ไม่ว่าคุณจะเพิ่งเริ่มใช้ Go หรือเป็นนักพัฒนา Go ที่มีประสบการณ์ เราหวังว่าส่วนขยายนี้ตรงกับความต้องการของคุณ และปรับปรุงประสบการณ์การพัฒนาของคุณ
ติดตั้ง Go 1.21 หรือใหม่กว่า หากคุณยังไม่ได้ติดตั้ง
ติดตั้งส่วนขยาย VS Code Go
เปิดไฟล์ Go หรือไฟล์ go.mod เพื่อเปิดใช้งานส่วนขยายโดยอัตโนมัติ แถบสถานะ Go จะปรากฏที่มุมล่างขวาของหน้าต่างและแสดงเวอร์ชัน Go ของคุณ
ส่วนขยายจะขึ้นอยู่กับ go
, gopls
(เซิร์ฟเวอร์ภาษา Go) และเครื่องมือเสริม ขึ้นอยู่กับการตั้งค่าของคุณ หากไม่มี gopls
ส่วนขยายจะพยายามติดตั้ง เครื่องหมาย ⚡ ถัดจากเวอร์ชัน Go ระบุว่าเซิร์ฟเวอร์ภาษากำลังทำงานอยู่ และคุณพร้อมที่จะใช้งานแล้ว
(ติดตั้งเครื่องมือที่หายไป)
คุณพร้อมที่จะไป :-) ???
สำรวจคุณสมบัติเพิ่มเติมของส่วนขยาย VS Code Go
ดูเอกสารการตั้งค่าและหัวข้อขั้นสูงเพื่อปรับแต่งส่วนขยาย
ดูเอกสารประกอบเครื่องมือเพื่อดูรายการเครื่องมือทั้งหมดที่ส่วนขยาย VS Code Go ขึ้นอยู่กับ คุณสามารถติดตั้งเครื่องมือเพิ่มเติมและอัปเดตได้โดยใช้ "ไป: ติดตั้ง/อัปเดตเครื่องมือ"
แก้ไขปัญหาด้วยคำแนะนำในการแก้ไขปัญหาทั่วไปและการดีบัก
แจ้งปัญหาเกี่ยวกับส่วนขยาย
เริ่มการสนทนา GitHub หรือรับความช่วยเหลือเกี่ยวกับ Stack Overflow
สำรวจแหล่งข้อมูลภาษา Go ได้ที่ go.dev/learn และ golang.org/help
หากคุณยังใหม่กับ Go บทความนี้จะให้ภาพรวมเกี่ยวกับการจัดระเบียบโค้ด Go และคำสั่ง go
พื้นฐาน ดู "การเริ่มต้นใช้งาน VS Code Go" เพื่อดูคำอธิบายวิธีสร้างแอปพลิเคชัน Go แรกของคุณโดยใช้ VS Code Go
IntelliSense - ผลลัพธ์จะปรากฏขึ้นสำหรับสัญลักษณ์ในขณะที่คุณพิมพ์
การนำทางโค้ด - ข้ามไปที่หรือดูการประกาศของสัญลักษณ์
การแก้ไขโค้ด - รองรับตัวอย่างที่บันทึกไว้ การจัดรูปแบบและการจัดระเบียบโค้ด และการจัดระเบียบการนำเข้าอัตโนมัติ
การวินิจฉัย - ข้อผิดพลาดด้านบิลด์ สัตวแพทย์ และขุยที่แสดงเมื่อคุณพิมพ์หรือเมื่อบันทึก
การสนับสนุนขั้นสูงสำหรับการทดสอบและการดีบัก
ดูรายละเอียดคุณสมบัติทั้งหมดสำหรับรายละเอียดเพิ่มเติม
(การกรอกโค้ดให้สมบูรณ์และวิธีใช้ลายเซ็น)
นอกเหนือจากคุณสมบัติการแก้ไขแบบรวมแล้ว ส่วนขยายยังมีคำสั่งหลายคำสำหรับการทำงานกับไฟล์ Go คุณสามารถเข้าถึงสิ่งเหล่านี้ได้โดยเปิด Command Palette ( Ctrl+Shift+P
บน Linux/Windows และ Cmd+Shift+P
บน Mac) จากนั้นพิมพ์ชื่อคำสั่ง ดูรายการคำสั่งทั้งหมดที่มีให้โดยส่วนขยายนี้
(สลับไฟล์ทดสอบ)
เพื่อการเน้นไวยากรณ์ที่ดีขึ้น เราขอแนะนำให้เปิดใช้งานการเน้นความหมายโดยเปิดการตั้งค่า ui.semanticTokens
ของ Gopls "gopls": { "ui.semanticTokens": true }
ส่วนขยาย VS Code Go รองรับทั้งโหมดโมดูล GOPATH
และ Go
โมดูล Go ใช้เพื่อจัดการการขึ้นต่อกันใน Go เวอร์ชันล่าสุด โมดูลแทนที่แนวทางที่ใช้ GOPATH
เพื่อระบุไฟล์ต้นฉบับที่จะใช้ในบิลด์ที่กำหนด และเป็นโหมดบิลด์เริ่มต้นใน go1.16+ เราขอแนะนำอย่างยิ่งให้พัฒนา Go ในโหมดโมดูล หากคุณกำลังทำงานในโปรเจ็กต์ที่มีอยู่ โปรดพิจารณาย้ายไปยังโมดูล
ต่างจากโหมด GOPATH
แบบดั้งเดิม โหมดโมดูลไม่ต้องการพื้นที่ทำงานภายใต้ GOPATH
หรือเพื่อใช้โครงสร้างเฉพาะ โมดูลถูกกำหนดโดยแผนผังไดเร็กทอรีของไฟล์ต้นฉบับ Go พร้อมด้วยไฟล์ go.mod
ในไดเร็กทอรีรากของแผนผัง
โครงการของคุณอาจเกี่ยวข้องกับหนึ่งหรือหลายโมดูล หากคุณกำลังทำงานกับหลายโมดูลหรือมีเค้าโครงโปรเจ็กต์ที่ไม่ธรรมดา คุณจะต้องกำหนดค่าพื้นที่ทำงานของคุณโดยใช้โฟลเดอร์พื้นที่ทำงาน ดูเอกสารประกอบเค้าโครงพื้นที่ทำงานที่รองรับสำหรับข้อมูลเพิ่มเติม
หากคุณต้องการทดลองใช้ฟีเจอร์ใหม่ๆ และการแก้ไขข้อบกพร่องก่อนใคร คุณสามารถใช้ส่วนขยายก่อนเผยแพร่ได้ ตามแบบแผนของ vscode เราใช้เวอร์ชันรองของหมายเลขเวอร์ชันส่วนขยายเพื่อแยกแยะเวอร์ชันเสถียรและเวอร์ชันก่อนเผยแพร่ ( 0.ODD_NUMBER.patch
สำหรับเวอร์ชันก่อนเผยแพร่ 0.EVEN_NUMBER.patch
สำหรับเวอร์ชันเสถียร)
หากต้องการติดตั้งเวอร์ชันก่อนวางจำหน่าย ให้ใช้รายการแบบเลื่อนลงเพื่อเลือก "ติดตั้งเวอร์ชันก่อนวางจำหน่าย" หรือหากติดตั้งส่วนขยาย Go แล้ว ให้ใช้ตัวเลือก "สลับเป็นเวอร์ชันก่อนวางจำหน่าย" ในการจัดการส่วนขยายโค้ด Visual Studio หน้าหนังสือ. สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับกลไกนี้ โปรดดูเอกสารประกอบของ Visual Studio Code
ส่วนขยาย VS Code Go อาศัย Go Telemetry เพื่อเรียนรู้ข้อมูลเชิงลึกเกี่ยวกับประสิทธิภาพและความเสถียรของส่วนขยายและเซิร์ฟเวอร์ภาษา ( gopls
) การอัปโหลดข้อมูล Go Telemetry ถูกปิดใช้งานตามค่าเริ่มต้น และสามารถเปิดใช้งานได้ด้วยคำสั่งต่อไปนี้:
go run golang.org/x/telemetry/cmd/gotelemetry@latest on
หลังจากเปิดใช้งานการวัดและส่งข้อมูลทางไกล เซิร์ฟเวอร์ภาษาจะอัปโหลดการวัดและการติดตามสแต็กไปยัง telemetry.go.dev คุณสามารถตรวจสอบข้อมูลที่รวบรวมและสามารถอัปโหลดได้โดยการเรียกใช้:
go run golang.org/x/telemetry/cmd/gotelemetry@latest view
หากเราได้รับการนำไปใช้อย่างเพียงพอ ข้อมูลนี้จะก้าวหน้าในการพัฒนาส่วนขยาย Go ได้อย่างมาก และช่วยให้เราบรรลุมาตรฐานความน่าเชื่อถือที่สูงขึ้น ตัวอย่างเช่น:
แม้จะมีรายงานข้อขัดข้องแบบกึ่งอัตโนมัติใน VS Code เราก็พบว่ามีข้อขัดข้องหลายข้อไม่ได้รับการรายงานเป็นเวลาหลายสัปดาห์หรือหลายเดือน
แม้ว่าจะมีชุดการวัดประสิทธิภาพ การถดถอยของประสิทธิภาพบางอย่างจะไม่แสดงในสภาพแวดล้อมการวัดประสิทธิภาพของเรา (เช่น จุดบกพร่องในการเสร็จสิ้นที่กล่าวถึงด้านล่าง!)
แม้ว่าจะมีแนวคิดดีๆ มากมายในการปรับปรุง gopls เราก็มีทรัพยากรที่จำกัด การวัดและส่งข้อมูลทางไกลสามารถช่วยให้เราระบุคุณสมบัติใหม่ที่สำคัญที่สุด และคุณสมบัติที่มีอยู่ที่ไม่ได้ใช้งานหรือทำงานได้ไม่ดี
นี่เป็นเพียงไม่กี่วิธีที่การวัดและส่งข้อมูลทางไกลสามารถปรับปรุง gopls ได้ ชุดโพสต์บล็อกทางไกลมีเนื้อหาอื่นๆ อีกมากมาย
Go telemetry ได้รับการออกแบบมาให้โปร่งใสและรักษาความเป็นส่วนตัว เรียนรู้เพิ่มเติมที่ https://go.dev/doc/telemetry
ส่วนขยาย Go ได้รับการดูแลโดยวิศวกรในทีมเครื่องมือ Go ซึ่งคอยตรวจสอบตัวติดตามปัญหา VS Code Go และ Go อย่างแข็งขัน
เรารองรับเฉพาะส่วนขยายเวอร์ชันเสถียรและเวอร์ชันก่อนเผยแพร่ล่าสุดเท่านั้น
ส่วนขยาย Go เป็นไปตามนโยบายการวางจำหน่าย Go ซึ่งหมายความว่าส่วนขยายดังกล่าวสนับสนุน Go รุ่นหลักสองรุ่นล่าสุด อย่างเป็นทางการ ทีม Go รักษาการ สนับสนุนอย่างดีที่สุด สำหรับ Go เวอร์ชันหลักสามเวอร์ชันล่าสุด
ส่วนขยาย Go อาศัยเครื่องมือเช่น gopls
และ dlv
สำหรับฟังก์ชันการทำงานหลัก และมีนโยบายและกำหนดการเผยแพร่เป็นของตัวเอง เราทดสอบกับเครื่องมือเหล่านี้เวอร์ชันล่าสุดเท่านั้น
ในกรณีที่คุณต้องการทำงานกับ Go เวอร์ชันเก่า โปรดตรวจสอบหน้าความเข้ากันได้ และติดตั้งส่วนขยายและเครื่องมือเวอร์ชันที่เข้ากันได้ด้วยตนเอง
เรายินดีรับการมีส่วนร่วมของคุณและขอขอบคุณสำหรับการทำงานเพื่อปรับปรุงประสบการณ์การพัฒนา Go ใน VS Code หากคุณต้องการช่วยทำงานกับส่วนขยาย VS Code Go โปรดดูคู่มือการสนับสนุนของเราเพื่อเรียนรู้วิธีสร้างและเรียกใช้ส่วนขยาย VS Code Go ในเครื่องและสนับสนุนโปรเจ็กต์
โครงการนี้เป็นไปตามหลักจรรยาบรรณของชุมชน Go หากคุณพบปัญหาที่เกี่ยวข้องกับความประพฤติ โปรดส่งอีเมลไปที่ [email protected]
เอ็มไอที