Goguru هو مكون إضافي Golang لـ Sublimetext 3 يدمج أداة Go Guru.
يرجى الإبلاغ عن أي مشكلات أو تحسينات هنا https://github.com/alvarolm/goguru/issues
بناء على العمل السابق من ويغاني.
لا تزال أداة المعلم على التطوير ، والتحقق من الخطة ، وإعادة ريبو GIT الرسمية ومراجعة التعليمات البرمجية إذا كنت تريد مواكبة:
حدد ، أو ضع المؤشر الخاص بك ، رمز (وظيفة ، متغير ، ثابت ، إلخ) واضغط على ctrl+shift+g . سيتم تقديمها مع أوضاع التحليل التالية للاختيار من بينها:
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
حدد أحد الأوضاع وسيتم عرض الإخراج في علامة تبويب جديدة. انقر نقرًا مزدوجًا على اسم الملف في النتائج للقفز مباشرة إليه.
يمكنك أيضًا الاحتفاظ بمفتاح ctrl والنقر right-click على رمز للقفز يمينًا إلى التعريف.
قم بتثبيت التحكم في الحزمة السامية (إذا لم تكن قد فعلت ذلك بالفعل) من http://wbond.net/sublime_packages/package_control. تأكد من إعادة تشغيل ST لإكمال التثبيت.
قم بإحضار لوحة الأوامر (الافتراضي Ctrl+Shift+P أو CMD+Shift+P) وابدأ في كتابة التحكم في الحزمة: قم بتثبيت الحزمة ثم اضغط على الإرجاع أو انقر فوق هذا الخيار لتنشيطه. سيتم تقديم لوحة سريعة جديدة مع قائمة الحزم المتاحة. اكتب Goguru واضغط على Return أو عند إدخاله لتثبيت Goguru. إذا لم يكن هناك إدخال لـ Goguru ، فمن المحتمل أن تكون قد قمت بتثبيته بالفعل.
لدى Goguru العديد من المتغيرات التي سيتم تعيينها من أجل العمل. يتم شرح هذه في تعليقات 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" : { } ,
} يمكنك تعيين المتغيرات الخاصة بك في Preferences > Package Settings > GoGuru > Settings-User .
يمكنك أيضًا إنشاء إعدادات محددة للمشروع. أولاً ، احفظ مساحة العمل الحالية كمشروع مشروع Project > Save as project ... ، ثم قم بتحرير Project > Edit Project . فيما يلي مثال يقوم بإعداد Goguru لاستخدامه على 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"
}
} ,
}ربط المفتاح الافتراضي:
[
{ "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" } ] } ,
] يمكنك تعيين ربط المفتاح الخاص بك عن طريق نسخ ما سبق إلى Preferences > Keybindings - User واستبدال CTRL+Shift+G باستخدام مفتاح (مفتاح) المفضل لديك.
يمكنك أيضًا تعيين ربط مفتاح لوضع معين عن طريق إضافة ARG "وضع" ، على سبيل المثال:
...
{ "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 } } ,
...روابط الماوس الافتراضية:
[
{
"button" : "button2" ,
"modifiers" : [ "ctrl" ] ,
"press_command" : "drag_select" ,
"command" : "go_guru" ,
"args" : {
"mode" : "definition" ,
"output" : false
} ,
} ,
] يعتمد Goguru على أداة المعلم. يجب تثبيته حتى يعمل Goguru. قم بتشغيل ما يلي على سطر الأوامر الخاص بك:
go install golang.org/x/tools/cmd/guru@latest
go get -u golang.org/x/tools/cmd/guru
يتم إصدار Goguru بموجب ترخيص MIT. انظر الترخيص
Goguru هو العمل المحمي بحقوق الطبع والنشر لمؤلفي Goguru Ie Me (Alvarolm) وجميع المساهمين. إذا قمت بإرسال تغيير ، سواء كان ذلك وثائقًا أو رمزًا ، طالما أنه ملتزم بتاريخ Goguru ، فأنا أعتبرك مساهمًا. انظر المؤلفين. md للحصول على قائمة بجميع مؤلفي/مساهمي Goguru.