GoOracle
GoOracle是一个用于SublimeText的Golang插件,它集成了Go oracle工具。
详细信息
安装
- 总数 18K
- Win 5K
- Mac 8K
- Linux 5K
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
Mac | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
README
GoOracle
GoOracle是一个用于SublimeText的Golang插件,它集成了oracle工具。
使用方法
选择或把光标放在一个符号(函数、变量、常量等)上,然后按ctrl+shift+o
。你会看到一个可以选择的分析模式
callees show possible targets of selected function call
callers show possible callers of selected function
callgraph show complete callgraph of program
callstack show path from callgraph root to selected function
describe describe selected syntax: definition, methods, etc
freevars show free variables of selection
implements show 'implements' relation for selected package
peers show send/receive corresponding to selected channel op
referrers show all refs to entity denoted by selected identifier
选择一个并查看输出会在新标签页中显示。
安装
从http://wbond.net/sublime_packages/package_control(如果还未安装)安装Sublime Package Control。确保重启ST以完成安装。
打开命令面板(默认是ctrl+shift+p或cmd+shift+p),开始输入Package Control: Install Package然后按回车键或点击该选项以激活。你会看到一个包含可用软件包的新快速面板。输入GoOracle然后按回车键或点击以安装GoOracle。如果没有GoOracle的条目,你很可能已经安装了它。
Oracle需要在默认设置中进行设置,这些设置在注释中进行了解释:偏好设置 > 软件包设置 > GoOracle > 设置-默认
{
// env is a map of GOPATH, GOROOT and PATH variables.
// e.g "env": { "PATH": "$HOME/go/bin:$PATH" }
"env": {},
// oracle_scope is an array of scopes of analysis for oracle.
// e.g (for github.com/juju/juju) "oracle_scope": ["github.com/juju/juju/cmd/juju", "github.com/juju/juju/cmd/jujud"]
"oracle_scope": [],
// The format of oracle's output can be one of: 'json', 'xml' or 'plain'
"oracle_format": "json",
// 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
"output": "buffer"
}
你可以根据自己的需求在偏好设置 > 软件包设置 > GoOracle > 设置-用户
中设置自己的变量。下面是一个示例,它设置了在github.com/juju/juju代码库中使用GoOracle的设置
{
"env": { "GOPATH": "$HOME/go", "GOROOT": "$HOME/.gvm/gos/go1.2.1", "PATH": "$GOPATH/bin:$PATH" },
"oracle_scope": ["github.com/juju/juju/cmd/juju", "github.com/juju/juju/cmd/jujud"],
"oracle_format": "json",
"output": "buffer"
}
你还可以设置特定项目的设置。首先将当前的工作区保存为项目项目 > 保存为项目 ...
,然后编辑项目项目 > 编辑项目
。下面是一个示例,它设置了在github.com/juju/juju代码库中使用GoOracle的设置
{
"folders":
[
{
"follow_symlinks": true,
"path": "/home/user/go/src/github.com/juju/juju"
}
],
"settings":
{
"GoOracle": {
"oracle_scope": ["github.com/juju/juju/cmd/juju", "github.com/juju/juju/cmd/jujud"],
"output": "output_panel"
}
},
}
默认快捷键
[
{ "keys": ["ctrl+shift+o"], "command": "go_oracle"},
{ "keys": ["ctrl+alt+shift+o"], "command": "go_oracle_show_results"},
]
你可以在偏好设置 > 键盘绑定 - 用户
中复制上面的内容,并用你喜欢的快捷键替换ctrl+shift+o。
您还可以通过添加“mode”参数来为特定模式设置键绑定,例如:
...
{ "keys": ["ctrl+super+c"], "command": "go_oracle", "args": {"mode": "callers"} },
{ "keys": ["ctrl+super+i"], "command": "go_oracle", "args": {"mode": "implements"} },
{ "keys": ["ctrl+super+r"], "command": "go_oracle", "args": {"mode": "referrers"} },
...
依赖项
GoOracle依赖于oracle工具。您必须安装它才能使GoOracle工作。请在您的命令行运行以下命令:
go get golang.org/x/tools/cmd/oracle
关于Go Oracle
版权、许可 & 贡献者
GoOracle在MIT许可下发布。请参阅LICENSE.md
GoOracle是The GoOracle Authors的版权作品,即我(waigani)和所有贡献者。如果您提交了更改,无论是文档还是代码,只要它提交到GoOracle的历史中,我就认为您是贡献者。有关所有GoOracle作者/贡献者的列表,请参阅AUTHORS.md。