Goguru adalah plugin Golang untuk Sublimetext 3 yang mengintegrasikan alat GO Guru.
Harap laporkan masalah atau perbaikan di sini https://github.com/alvarolm/goguru/issues
Berdasarkan pekerjaan sebelumnya dari Waigani.
Alat Guru masih dalam pengembangan, periksa rencana, repo git resmi dan tinjauan kode jika Anda ingin mengikuti:
Pilih, atau tempatkan kursor Anda, simbol (fungsi, variabel, konstan dll) dan tekan ctrl+shift+g . Anda akan disajikan dengan mode analisis berikut untuk dipilih dari:
callees show possible targets of selected function call
callers show possible callers of selected function
callstack show path from callgraph root to selected function
definition show declaration of selected identifier
describe describe selected syntax: definition, methods, etc
freevars show free variables of selection
implements show 'implements' relation for selected type or method
peers show send/receive corresponding to selected channel op
pointsto show variables the selected pointer may point to
referrers show all refs to entity denoted by selected identifier
what show basic information about the selected syntax node
whicherrs show possible values of the selected error variable
Pilih salah satu mode dan output akan ditampilkan di tab baru. Klik dua kali pada nama file di hasil untuk melompat langsung ke sana.
Anda juga dapat memegang kunci ctrl dan right-click pada simbol untuk melompat ke definisi.
Instal Kontrol Paket Sublime (jika Anda belum melakukannya) dari http://wbond.net/sublime_packages/package_control. Pastikan untuk restart ST untuk menyelesaikan instalasi.
Bangun palet perintah (default Ctrl+shift+p atau cmd+shift+p) dan mulai mengetik kontrol paket: instal paket lalu tekan kembali atau klik opsi itu untuk mengaktifkannya. Anda akan disajikan dengan panel cepat baru dengan daftar paket yang tersedia. Ketik Goguru dan tekan kembali atau pada entri untuk menginstal Goguru. Jika tidak ada entri untuk Goguru, kemungkinan besar Anda sudah menginstalnya.
Goguru memiliki beberapa variabel untuk diatur agar dapat bekerja. Ini dijelaskan dalam komentar Preferences > Package Settings > GoGuru > Settings-Default :
{
// use golangconfig, if false then shellenv will be used to get golang environment variables
"goguru_use_golangconfig" : false ,
// adds to the guru_scope the current package of the the working file
"goguru_use_current_package" : true ,
// besides showing the result, jump directly to the definition
"goguru_jumpto_definition" : false ,
// The output can either be one of: 'buffer', 'output_panel'
// Buffers can hold results from more than one invocation
// Output panels sit underneath the editor area and are easily dismissed
"goguru_output" : "output_panel" ,
// print debug info to the terminal
"goguru_debug" : false ,
// Set guru's output to json
"goguru_json" : false ,
// an array of scopes of analysis for guru.
// e.g (for github.com/juju/juju) "guru_scope": ["github.com/juju/juju/cmd/juju", "github.com/juju/juju/cmd/jujud"]
"goguru_scope" : [ ] ,
// an array of build tags of analyzed source files
"goguru_tags" : [ ] ,
// env overwrites the default shell environment vars
// e.g "env": { "GOPATH": "$HOME/go/bin:$PATH" }
// not used when goguru_use_golangconfig is set to true
"goguru_env" : { } ,
} Anda mengatur variabel Anda sendiri di Preferences > Package Settings > GoGuru > Settings-User .
Anda juga dapat membuat pengaturan spesifik proyek. Pertama -tama simpan ruang kerja Anda saat ini sebagai Project > Save as project ... , lalu edit Project > Edit Project . Di bawah ini adalah contoh yang mengatur goguru untuk digunakan di github.com/juju/juju codeBase:
{
"folders" :
[
{
"follow_symlinks" : true ,
"path" : "/home/user/go/src/github.com/juju/juju"
}
] ,
"settings" :
{
"GoGuru" : {
"goguru_scope" : [ "github.com/juju/juju/cmd/juju" , "github.com/juju/juju/cmd/jujud" ] ,
"goguru_output" : "output_panel"
}
} ,
}Ikatan kunci default:
[
{ "keys" : [ "ctrl+shift+g" ] , "command" : "go_guru" } ,
{ "keys" : [ "ctrl+alt+shift+g" ] , "command" : "go_guru_show_results" } ,
{ "keys" : [ "ctrl+.+ctrl+g" ] , "command" : "go_guru_goto_definition" , "context" : [ { "key" : "selector" , "operator" : "equal" , "operand" : "source.go" } ] } ,
] Anda dapat mengatur ikatan kunci Anda sendiri dengan menyalin di atas ke dalam Preferences > Keybindings - User dan mengganti Ctrl+Shift+G dengan kunci pilihan Anda.
Anda juga dapat mengatur ikatan kunci untuk mode tertentu dengan menambahkan arg "mode", misalnya:
...
{ "keys" : [ "ctrl+super+c" ] , "command" : "go_guru" , "args" : { "mode" : "callers" } } ,
{ "keys" : [ "ctrl+super+i" ] , "command" : "go_guru" , "args" : { "mode" : "implements" } } ,
{ "keys" : [ "ctrl+super+r" ] , "command" : "go_guru" , "args" : { "mode" : "referrers" } } ,
{ "keys" : [ "ctrl+.+ctrl+g" ] , "command" : "go_guru" , "args" : { "mode" : "definition" , output = false } } ,
...Binding mouse default:
[
{
"button" : "button2" ,
"modifiers" : [ "ctrl" ] ,
"press_command" : "drag_select" ,
"command" : "go_guru" ,
"args" : {
"mode" : "definition" ,
"output" : false
} ,
} ,
] Goguru mengandalkan alat Guru. Anda harus menginstalnya agar Goguru bekerja. Jalankan yang berikut pada baris perintah Anda:
go install golang.org/x/tools/cmd/guru@latest
go get -u golang.org/x/tools/cmd/guru
Goguru dirilis di bawah lisensi MIT. Lihat lisensi.md
Goguru adalah karya berhak cipta penulis Goguru yaitu saya (Alvarolm) dan semua kontributor. Jika Anda mengirimkan perubahan, baik itu dokumentasi atau kode, selama itu berkomitmen untuk sejarah Goguru, saya menganggap Anda sebagai kontributor. Lihat Penulis.MD untuk daftar semua penulis/kontributor Goguru.