智能路径复制
Sublime Text包,根据文件发送命令到剪贴板的构建工具。
详细信息
安装
- 总计 1K
- Win 655
- Mac 319
- Linux 201
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 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Mac | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 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 | 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 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
README
SmartPathCopy (Sublime Text 2/3插件)
当你对一个文件进行了一些修改后,直接去控制台运行命令时,很可能是与刚刚查看的文件相关的命令,并且命令的类型将取决于文件的类型。
例如,如果你正在修改 path/to/test.rb
,那么你很可能要运行一个用于运行 path/to/test.rb
中测试的命令。
类似地,如果你正在写像 db/migrate/20150406132142_add_authentication_token_to_users.rb
这样的rails迁移,当你去控制台时,你很可能只想运行 rake db:migrate
或 rake db:migrate:up VERSION=20170213214913
。
情景案例
你正在全神贯注地进行开发和测试。你觉得测试已经准备好了,想快速运行它,但没有设置TDD机制或者还没有开始。你转到控制台去运行测试。你开始输入 rspec
,突然意识到你忘记了spec文件的路径,于是你回到Sublime中以复制路径
。在这个过程中,你还注意到你想要运行的测试所在的行号,这样你就可以将其作为 rspec
命令的一部分。你回到控制台,最终准备好运行 rspec path/to/file:line_number
。
这个过程会让你脱离舒适区。目前它看起来像是从你现在所在的位置到舒适区的一个小点。
使用 SmartPathCopy,你只需按下 super
+shift
+c
,然后 rspec path/to/file:line_number
就会被复制到剪贴板,可以直接在控制台运行。
你可以使用 RSpec sublime 插件,直到你随意放置了 binding.pry
(你确实会这么做)。所以现在你不得不回到控制台,然后从那里运行它。如果你忘记在控制台中 continue
或终止 spec,你将在 sublime 中使用 RSpec 运行的每个测试都会挂起。希望有一天 RSpec 将支持 pry,在此之前,我会继续使用控制台。
安装
推荐的方式是使用 PackageControl 插件。
使用方法
按下 super
+shift
+c
以将相关命令发送到剪贴板。默认情况下,它将构建以下命令:- 对于以 _spec.rb
结尾的文件: rspec <file>:<line_number>
- 对于位于 db/migrate
的文件: rake db:migrate:up VERSION=<migration_version>
- 对于位于 lib/tasks
的文件: rake <task_name>
配置
默认配置是
{
"smart_path_copy_default_rules": [
["_spec\\.rb$", "rspec $filepath:$line_number" ],
["db/migrate/(\\d+)[^\\/]+\\.rb$", "rake db:migrate:up VERSION=$1" ],
["lib/tasks/([^\\/]+)\\.rake$", "rake $1" ]
]
}
“smart_path_copy_default_rules” 列表中的每个元素都包含一个正则表达式和一个命令。正则表达式用作条件:如果你正在处理的文件满足该条件(正则表达式),则当你按下 super
+shift
+c
时,将复制其旁边的命令到剪贴板。
如果没有条件满足,则将当前文件的完整路径复制到剪贴板。
默认配置对于在 rails 中开发很有用,但你也可以在 Sublime Text
> 首选参数
> 设置
中添加自己的配置。如果你想覆盖默认配置,只需添加自己的 "smart_path_copy_default_rules"
。如果你想保持默认配置并在此之上添加规则,请使用 "smart_path_copy_user_rules"
。
注意,你可以在正则表达式中添加组并使用它们(作为 $<group_number>
)在命令中。
你还可以在命令部分使用:- $filepath
:当前文件的绝对路径。- $line_number
:光标所在的行号。
默认快捷键是 super
+shift
+c
,但你可以在 Sublime Text
> 首选参数
> 键绑定
中对其进行修改。例如,如果你想使用快捷键 super
+shift
+h
,你将添加
[
# ...
{ "keys": ["super+shift+h"], "command": "smart_path_copy"},
# ...
]