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

方法

by shagabutdinov 全部

允许在文件中操作方法的Sublime插件

详情

安装

  • 总数 2K
  • Win 907
  • Mac 447
  • Linux 412
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 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 1 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 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

README

源代码
raw.​githubusercontent.​com

Sublime Method插件

这个荣耀插件允许(几乎)与语言无关的方法在文件中操作。

演示

安装

此插件是sublime-enhanced插件集的一部分。您可以安装sublime-enhanced,此插件将自动安装。

如果您希望单独安装此包,请查阅sublime-enhanced包中的“单独安装包”部分。

警告

此插件不与多光标一起使用。原因是我不够懒,而且插件太过复杂,无法重构并添加多光标支持。

在您开始使用此插件之前,当前文件中应定义至少一个方法。如果想要操作私有/受保护的方法,则至少应定义一个私有或受保护的方法。

它严重依赖于源代码缩进。如果您的文件缩进不佳,则此插件将无法正常工作。

例如。

# good
  def a()
    test()
  end

  # bad
  def a()
  test()
  end

默认支持以下语言的:Ruby、Python、PHP、JS、Coffee。如果希望提供其他语言支持,您应该在“用户”插件目录下创建三个文件

  • [language]-method.sublime-snippet
  • [language]-method-call.sublime-snippet
  • [language]-method-call-null.sublime-snippet

其中[language]是您的语言,如Sublime定义(要找到正确的名称,请使用“ctrl+u, ctrl+”)快捷键)。

请参阅“snippets”目录中的示例。您也可以通过提交pull request来让您的语言支持对所有人可用。

特性

  1. 创建(提取)方法 - 创建新方法。根据当前光标位置尝试检测方法名、参数、主体和返回值。同时还可以绑定显示在何处创建方法(方法列表开头、私有部分等)

  2. 移动方法 - 将当前方法移动到光标下的新位置(方法列表开头、私有等)

  3. 转到方法 - 允许绑定快捷键去转到第一个/最后一个方法、第一个/最后一个私有方法、下一个/前一个方法以及按名称(例如“init”)的方法

  4. 创建方法空间 - 创建方法空间,以便在此处执行您首选的代码片段。特别适合定义测试。

  5. 删除方法 - 删除当前方法。在处理测试时特别有用。

  6. 克隆方法 - 克隆当前方法。在处理测试时特别有用。

  7. 将方法名插入标记 - 将当前方法名、参数和结果插入到标记中。

  8. 选择方法 - 选择指定的方法名称或方法主体。

  9. 取消注释所有除了当前 - 当您只想运行当前测试时很有用;热键比在命令行中指定“–name test_my_feature”更快。

用法

这里只显示了少量用例。请参阅“命令”部分以获取完整的命令列表。

按名称创建方法
# before
  def a(a)
    b(a)| # <- cursor is here
  end

  # after
  def a(a)
    b(a)
  end

  def b|(a) # <- cursor is here

  end
按主体创建方法
# before
  def a(a)
    {a = b(a)
    a = c(a)}| # <- selection is here
    d(a)
  end

  # after
  def a(a)

  end

  def |(a) # <- cursor is here
    a = b(a)
    a = c(a)
    return a
  end
向下移动方法
# before
  def first()
    | # <- cursor is here
  end

  def second()

  end

  # after
  def second()

  end

  def first()
    | # <- cursor is here
  end

命令

描述 键盘快捷键 命令面板
在当前方法之前创建方法 ctrl+m, ctrl+, 方法:在当前方法之前创建方法
在当前方法之后创建方法 ctrl+m, ctrl+. 方法:在当前方法之后创建方法
在当前方法之后创建方法 ctrl+alt+shift+n 方法:在当前方法之后创建方法
在第一个方法之后创建方法 ctrl+m, ctrl+0 方法:在第一个方法之后创建方法
创建受保护的方法 ctrl+m, ctrl+o 方法:创建受保护的方法
创建私有方法 ctrl+m, ctrl+i 方法:创建私有方法
在最后创建方法 ctrl+m, ctrl+l 方法:在最后创建方法
移动到第一个方法之后 ctrl+m, 0 方法:移动到第一个方法之后
移动到受保护的方法 ctrl+m, o 方法:移动到受保护的方法
移动到私有方法 ctrl+m, i 方法:移动到私有方法
移动到最后 ctrl+m, l 方法:移动到最后
向上移动方法 alt+- 方法:向上移动方法
向下移动方法 alt+= 方法:向下移动方法
转到下一个方法 alt+n 方法:转到下一个方法
转到前一个方法 alt+shift+n 方法:转到前一个方法
交换方法开始和结束 alt+ctrl+n 方法:交换方法开始和结束
转到最后一个方法 ctrl+m, ctrl+/ 方法:转到最后一个方法
转到第一个方法 ctrl+m, ctrl+f 方法:转到第一个方法
创建方法空间 ctrl+m, ctrl+n 方法:创建方法空间
删除方法 ctrl+m, ctrl+d 方法:删除方法
克隆方法 ctrl+m, ctrl+c 方法:克隆方法
将方法名插入到标记 ctrl+m, ctrl+m 方法:将方法名插入到标记
选择当前方法 ctrl+m, ctrl+s 方法:选择当前方法
选择当前方法主体 ctrl+m, s 方法:选择当前方法主体
取消注释所有除了当前 ctrl+m, ctrl+q 方法:取消注释所有除了当前
取消全部注释 ctrl+m, q 方法:取消全部注释

依赖