cscope for golang
从 https://gist.github.com/bopjiang/11146574 下载, 做了修改。
cscope-go.sh
1 #!/bin/bash 2 3 # generate cscope index files in current directory 4 # the generated cscope index files also include go standard packages 5 6 if [ "$GOROOT" = "" ] ; then 7 echo "GOROOT is not set" 8 GOROOT=`go env |grep "GOROOT" |cut -d "=" -f2` 9 GOROOT=${GOROOT#\"} 10 GOROOT=${GOROOT%\"} 11 fi 12 echo $GOROOT 13 14 go_pkg_src=$GOROOT/pkg 15 16 find $go_pkg_src -name "*.go" -print > cscope.files 17 find . -name "*.go" -print >> cscope.files 18 19 if cscope -b -k; then 20 echo "Done" 21 else 22 echo "Failed" 23 exit 1 24 fi
也可以使用starscope
$ sudo apt-get install ruby-dev
$ sudo gem install starscope therubyracer execjs
$ cd ~/my-project
$ starscope
```
Ask it things directly:
```
$ starscope -q calls,new # Lists all callers of new
```
Export it to various existing formats for automatic integration with your editor:
```
$ starscope -e ctags
$ starscope -e cscope