يوفر هذا المستودع وحدة golang.org/x/tools
، التي تشتمل على أدوات وحزم متنوعة معظمها للتحليل الثابت لبرامج Go، وبعضها مذكور أدناه. استخدم رابط "الذهاب إلى المرجع" أعلاه للحصول على مزيد من المعلومات حول أي حزمة.
ويحتوي أيضًا على وحدة golang.org/x/tools/gopls
، التي تعد حزمتها الجذرية بمثابة خادم بروتوكول خادم اللغة (LSP) لـ Go. يقوم خادم LSP بتحليل الكود المصدري للمشروع ويستجيب للطلبات الواردة من مجموعة واسعة من المحررين مثل VSCode وVim، مما يسمح لهم بدعم الوظائف المشابهة لـ IDE.
الأوامر المختارة:
cmd/goimports
بتنسيق برنامج Go مثل go fmt
ويقوم بالإضافة إلى ذلك بإدراج بيانات الاستيراد لأي حزم يتطلبها الملف بعد تحريره.cmd/callgraph
بطباعة الرسم البياني للاتصال لبرنامج Go.cmd/digraph
أداة مساعدة لمعالجة الرسوم البيانية الموجهة في التدوين النصي.cmd/stringer
بإنشاء إعلانات (بما في ذلك طريقة String
) لأنواع "enum".cmd/toolstash
أداة مساعدة لتبسيط العمل مع إصدارات متعددة من سلسلة أدوات Go.قد يتم جلب هذه الأوامر باستخدام أمر مثل
go install golang.org/x/tools/cmd/goimports@latest
الحزم المختارة:
يوفر go/ssa
تمثيلًا وسيطًا لنموذج التعيين الفردي الثابت (SSA) (IR) لبرامج Go، على غرار المترجم النموذجي، لاستخدامه بواسطة أدوات التحليل.
يوفر go/packages
واجهة بسيطة للتحميل والتحليل والتحقق من كتابة برنامج Go الكامل من التعليمات البرمجية المصدر.
يوفر go/analysis
إطارًا للتحليل الثابت المعياري لبرامج Go.
يوفر go/callgraph
رسومًا بيانية للاتصال لبرامج Go باستخدام مجموعة متنوعة من الخوارزميات مع مقايضات مختلفة.
يوفر go/ast/inspector
وسيلة محسنة لاجتياز شجرة تحليل Go لاستخدامها في أدوات التحليل.
يوفر go/cfg
رسمًا بيانيًا بسيطًا لتدفق التحكم (CFG) لوظيفة Go.
go/gcexportdata
و go/gccgoexportdata
بقراءة وكتابة الملفات الثنائية التي تحتوي على معلومات النوع المستخدمة بواسطة المترجمين القياسيين و gccgo
.
يوفر go/types/objectpath
نظام تسمية ثابتًا للكيانات المسماة ("الكائنات") في واجهة برمجة تطبيقات go/types
.
توفر العديد من الحزم الأخرى المزيد من الوظائف الباطنية.
يستخدم هذا المستودع Gerrit لتغييرات التعليمات البرمجية. لمعرفة كيفية إرسال التغييرات، راجع https://go.dev/doc/contribute.
مستودع git هو https://go.googlesource.com/tools.
يوجد متتبع المشكلات الرئيسي لمستودع الأدوات على https://go.dev/issues. ابدأ مشكلتك بـ "x/tools/(your subdir):" في سطر الموضوع، حتى يسهل العثور عليها.
يستخدم هذا المستودع أجمل لتنسيق ملفات JS وCSS.
النسخة المستخدمة prettier
هي 1.18.2.
يُنصح بتشغيل جميع أكواد JS وCSS من خلال هذا قبل إرسال التغيير. ومع ذلك، فهو ليس مطلبًا صارمًا تفرضه CI.