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

Chromium XRefs

Josh Karlin ST3

显示来自 cs.chromium.org 的 Chromium 代码交叉引用

详情

安装次数

  • 总计 641
  • Win 227
  • Mac 126
  • Linux 288
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 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mac 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

读我

源文件
raw.​githubusercontent.​com

适用于 Sublime Text 的 Chromium X-Refs 插件

ChromiumXRefs 插件使用代码搜索后端显示 Chromium 代码的交叉引用。它在编辑器底部的窗口中显示 x-refs。这包括使用情况、调用者、覆盖、声明和实现。调用图中加入了一些特殊功能,可以正确推断出后续任务(包括来自其他线程)、ipc(跨进程调用图!)以及状态机转换(对于 DoLoop 状态机)。这意味着调用图可以从 net/ 状态机的缓存状态一路追溯到 blink 加载器!

  1. 创建回调的方法被视为调用者
  2. 检测到 IPC 调用,并将发送者视为调用者
  3. 检测.net/ DoLoop 状态转换,并将其视为调用者
  4. Mojo 调用者正在建设中

Screenshot

安装

使用 Package Control 安装名为 ChromiumXRefs 的软件包。

显示给定函数或变量的交叉引用

  • 命令: Chromium X-Refs
  • 建议键映射: { “keys”: [“ctrl+alt+\”], “command”: “chromium_xrefs” }
  • 功能: 在底部面板中创建包含对声明、定义、调用者、覆盖和交叉引用的链接。单击调用者以跳转到代码。单击调用者旁边的“+”号以深入研究调用堆栈。单击顶部右侧的“-测试”按钮以删除名称中包含“测试”的函数。单击右上角的“X”按钮以关闭面板。
  • 注意事项:数据从 cs.chromium.org 获取,并且数据的最新程度取决于该站点的上次索引。这意味着对代码库所做的本地更改不会反映出来。

回忆上次显示的交叉引用框架

  • 命令: Chromium Recall X-Refs
  • 建议快捷键绑定: { “keys”: [“ctrl+alt+shift+”], “command”: “chromium_recall_xrefs” }
  • 功能: 恢复最后一次显示的x-refs。你不需要在最初显示层次结构的相同源文件中。

跳转到定义

  • 命令: 跳转到定义
  • 建议快捷键绑定: { “keys”: [“ctrl+”], “command”: “chromium_xrefs_jump_to_definition” }
  • 功能: 跳转到关键词的定义。

跳转到声明

  • 命令: 跳转到声明
  • 建议快捷键绑定: { “keys”: [“ctrl+shift+”], “command”: “chromium_xrefs_jump_to_definition” }
  • 功能: 跳转到关键词的定义。

建议鼠标映射

  • 鼠标映射对这款插件非常有用。请将以下内容粘贴到您的User/目录下的“Default (OS).sublime-mousemap”文件中。将“OS”替换为Windows、OSX或Linux之一。然后您应该能够通过ctrl+alt + 左键点击来获取x-refs。
[
  {
    "button": "button1",
    "count": "1",
    "modifiers": ["ctrl", "alt"],
    "press_command": "drag_select",
    "command": "chromium_get_callers_hierarchy"
  },

  {
    "button": "button2",
    "count": "1",
    "modifiers": ["ctrl", "alt"],
    "press_command": "drag_select",
    "command": "chromium_recall_get_callers_hierarchy"
  }
]