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

跳转到用法

作者: syko ST3

与“跳转到定义”相反 - 轻松找到导出的类/函数/变量被使用的位置

详细信息

  • 1.0.6
  • github.​com
  • github.​com
  • 6年前
  • 2小时前
  • 8年前

安装数量

  • 总计 4K
  • Win 2K
  • Mac 2K
  • Linux 1K
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 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0
Mac 1 1 0 0 0 0 0 0 1 0 0 1 2 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 1 0 0 0
Linux 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 1 0 0 0 0 0 0 0 0 0 0 0

README

源代码
raw.​githubusercontent.​com

跳转到用法

与“跳转到定义”相对。

当光标位于一个类/函数/变量定义上时,调用“跳转到用法”并获取所有使用该类的地方列表。您可以轻松浏览列表并跳到特定的使用案例。

默认键盘映射:cmd+alt+o / ctrl+alt+o

请注意,如果没有在当前行上定义,它将从当前行向上搜索,因此您只需查看类的主体即可。

安装

打开Package Control并搜索“跳转到用法”

用法

只需在类/函数/变量定义处按cmd+alt+o (ctrl+alt+o)即可。

您也可以手动运行以下命令:- 跳转到用法 - 跳转到用法:重建依赖图 - 跳转到用法:清除依赖图

默认情况下,跳转到用法构建当前项目的依赖图,并且在寻找“用法”时仅遍历上游文件。用法是通过名称进行匹配的(不适用于重命名导入!)

依赖图是通过查找代码中的导入语句构建的。这些语句被假设为nodejs风格的文件/文件夹路径。目前正式支持javascriptcoffeescript

应该很容易适配其他语言,因为导入语句是松散解析的。目前官方仅支持javascriptcoffeescript

然而! 您可以通过设置disable_dep_graphfalse来禁用依赖关系图。这将使Goto Usage切换到朴素的方法,并遍历所有项目文件,通过名称在所有文件中进行匹配。这可能是一项耗时的操作(取决于您的项目大小),因此file_extensionsexcluded_folders的配置至关重要,以便最大限度地减少要解析的文件数量!

命令

  • Goto Usage:获取当前类的定义(光标在类定义内部)并查找当前项目内部类使用的位置(按名称匹配:不适用于导入的名称!)
  • Goto Usage: Rebuild Dependency Graph:完全重建当前项目的依赖关系图。依赖关系图只构建一次,并在每次文件保存时缓存和更新,因此除非您在Sublime Text外添加或编辑文件,否则它应保持最新状态。这就是此命令可能派上用场的地方。
  • Goto Usage: Clear dependency graphs:清除所有依赖关系图和缓存

配置

示例配置

{
  "file_extensions": [".js", ".coffee", ".jsx"],
  "excluded_folders": ["node_modules", "dist"],
  "my_project": {
    "root": [
      "/fullpath/utils",
      "/fullpath/someotherthing"
    ],
    "alias": {
      "components": "/fullpath/components/"
    },
    "file_extensions": [".js", ".coffee", ".jsx"],
    "excluded_folders": ["node_modules", "dist", "build", "tmp", ".tmp"],
    "disable_dep_graph": false
  }
}

您可以通过为项目命名范围设置默认设置以及基于项目的设置。在配置中所使用的项目名称是您的项目文件名称,不带.sublime-project扩展名。

配置选项:- disable_dep_graph:禁用依赖关系图并切换到朴素模式。 - rootPATH变量类似:尝试在这些目录中解析导入项,如果找不到相对路径,则解析导入项(因此require 'foo/bar.js'转换为require '/fullpath/utils/foo/bar.js'如果存在这样的文件) - alias:添加可能出现在导入中的别名(因此require 'components/foo.js'转换为require '/fullpath/components/foo.js'如果存在这样的文件) - file_extensions:要考虑的文件扩展名列表。(默认:[".js", ".coffee", ".jsx"]) - excluded_folders:要排除的文件夹列表。这些不是“路径”而是与路径匹配的子字符串。(默认:["node_modules/", "dist/", "build/", "tmp/", ".tmp/"]

如果您同时处理多个项目,只在其中一些项目中使用Goto Usage或大多数项目中不支持依赖关系图,则全局禁用依赖关系图并在一些项目中启用它是好主意

{
  "disable_dep_graph": true,
  "my_project": {
    "disable_dep_graph": false
  }
}

关于依赖关系图的说明

依赖关系图尽可能地尝试删除假阴性,因此: - 指向目录的路径被展开到给定目录内的所有文件。因此require 'my/path'将目录path下的所有文件添加为依赖项。 - 指向文件但缺少扩展名的路径被展开到具有相同基本名称的文件。因此require 'my/component'展开为类似my/component.js的某些内容。

贡献

欢迎提交问题,同样也欢迎PR。