ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

GoOracle

waigani 全部

GoOracle是一个用于SublimeText的Golang插件,它集成了Go oracle工具。

标签 go

详细信息

安装

  • 总数 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

源代码
raw.​githubusercontent.​com

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