1. 程式人生 > >Mac下的Sublime Text 3 安裝go外掛GoSublime, SideBarEnhancements,Go Build,Godef

Mac下的Sublime Text 3 安裝go外掛GoSublime, SideBarEnhancements,Go Build,Godef

0. 安裝ST3(Sublime Text 3) 和 Package Control

a.修改hosts,新增一行(該死的GFW):

50.116.34.243 sublime.wbond.net

b.安裝兩個庫先:

$go get github.con/nsf/gocode
$go get github.com/slene/margo(很多參考文章裡面提到的github.com/DisposaBoy/MarGo已經不存在了)

$mv $GOPATH/bin/margo $GOPATH/bin/Margo

c.安裝Sublime Text 3(build 3065)

http://www.sublimetext.com/3


d.ST3(Sublime Text 3)裡面:
control+`
輸入下面這行,回車安裝Package Control:
import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

1、GoSublime

a.shift+commond+p

ip(Package Control:Install Package)
等待自動更新可用列表之後,
選擇 GoSublime


b.
Preferences->Package Settings->GoSublime->Settings-Default
"env": {},
變成:
"env": {"GOPATH":"/Users/wenke/go"},


2、SideBarEnhancements
重複1a,選擇 SideBarEnhancements



3.Go Build(網上提到的Sublime Text 2版本的Package木有了)
a.Tools->Build System->New Build System


b.
{
"shell_cmd": "make"
}
變成
{
"shell_cmd": "go run $file"
}


另存為 goBuild


c.Tools->Build System->將預設勾選的Automatic 改成 goBuild


d.開啟main.go,commond+b,下面彈出一個視窗,出現顯示執行結果!

4.Godef (added 20141208 程式碼跳轉,margo的super+.,super+g只能跳轉到定義處,不能跳轉回來.可自定義快捷鍵跟LiteIDE一樣的熱鍵,保持一致的使用習慣)

b.Preferences->Package Settings->Godef->Settings-User

{
    "gopath": "/usr/local/Cellar/go/1.1.2/libexec:/Users/wenke/go"
}

c.Preferences->Package Settings->Godef->Key Bindings-Default

[
    { "keys": ["shift+super+j"], "command": "godef" }
]

d.Preferences->Package Settings->Godef->Key Bindings-User

[
{ "keys": ["alt+super+right"], "command": "jump_forward"},
{ "keys": ["alt+super+left"], "command": "jump_back"},
]