Repositori ini menyediakan modul golang.org/x/tools
, yang terdiri dari berbagai alat dan paket yang sebagian besar digunakan untuk analisis statis program Go, beberapa di antaranya tercantum di bawah ini. Gunakan tautan "Referensi Go" di atas untuk informasi lebih lanjut tentang paket apa pun.
Ini juga berisi modul golang.org/x/tools/gopls
, yang paket rootnya adalah server protokol server bahasa (LSP) untuk Go. Server LSP menganalisis kode sumber suatu proyek dan merespons permintaan dari berbagai editor seperti VSCode dan Vim, memungkinkan mereka untuk mendukung fungsionalitas mirip IDE.
Perintah yang dipilih:
cmd/goimports
memformat program Go seperti go fmt
dan juga menyisipkan pernyataan import untuk paket apa pun yang diperlukan oleh file setelah diedit.cmd/callgraph
mencetak grafik panggilan program Go.cmd/digraph
adalah utilitas untuk memanipulasi grafik berarah dalam notasi tekstual.cmd/stringer
menghasilkan deklarasi (termasuk metode String
) untuk tipe "enum".cmd/toolstash
adalah utilitas untuk menyederhanakan bekerja dengan beberapa versi rantai alat Go.Perintah-perintah ini dapat diambil dengan perintah seperti
go install golang.org/x/tools/cmd/goimports@latest
Paket yang dipilih:
go/ssa
menyediakan representasi perantara (IR) formulir penugasan tunggal statis (SSA) untuk program Go, mirip dengan kompiler pada umumnya, untuk digunakan oleh alat analisis.
go/packages
menyediakan antarmuka sederhana untuk memuat, menguraikan, dan memeriksa jenis program Go lengkap dari kode sumber.
go/analysis
menyediakan kerangka kerja untuk analisis statis modular program Go.
go/callgraph
menyediakan grafik panggilan program Go menggunakan berbagai algoritma dengan trade-off yang berbeda.
go/ast/inspector
menyediakan cara yang optimal untuk menelusuri pohon parse Go untuk digunakan dalam alat analisis.
go/cfg
menyediakan grafik aliran kontrol (CFG) sederhana untuk fungsi Go.
go/gcexportdata
dan go/gccgoexportdata
membaca dan menulis file biner yang berisi informasi tipe yang digunakan oleh kompiler standar dan gccgo
.
go/types/objectpath
menyediakan skema penamaan yang stabil untuk entitas bernama ("objek") di API go/types
.
Banyak paket lain yang menyediakan fungsionalitas yang lebih esoterik.
Repositori ini menggunakan Gerrit untuk perubahan kode. Untuk mempelajari cara mengirimkan perubahan, lihat https://go.dev/doc/contribute.
Repositori gitnya adalah https://go.googlesource.com/tools.
Pelacak masalah utama untuk repositori alat terletak di https://go.dev/issues. Perbaiki masalah Anda dengan "x/tools/(subdir Anda):" di baris subjek, sehingga mudah ditemukan.
Repositori ini menggunakan lebih cantik untuk memformat file JS dan CSS.
Versi prettier
yang digunakan adalah 1.18.2.
Disarankan agar semua kode JS dan CSS dijalankan melalui ini sebelum mengirimkan perubahan. Namun, ini bukanlah persyaratan ketat yang diberlakukan oleh CI.