如何从控制台中的rspec输出直接打开编辑器?

3
为了加快开发和调试过程。
Given I have some rspec output in my console with file path and line numbers
When I click on the file name and line number within the console
Then I want my editor to open and scroll the cursor to the specified line

我目前在Ubuntu 11.10上使用Sublime-Text-2,并运行Rspec2的autotest功能。


这完全取决于编辑器,如果编辑器支持的话。你需要为SublimeText2编写一些Python代码。此外,在控制台中“点击”某个东西是没有意义的...控制台是一个纯文本终端。 - d11wtq
谢谢d11wtq,但是http链接会打开浏览器,所以最后一句话肯定不正确。我确实意识到链接需要像subline::file//blah这样的东西,但我甚至不知道如何让rspec生成这些链接。 - ktec
我不使用rspec,但我认为您可以定义自定义的Formatter类。请参见https://github.com/shingara/rspec-formatter以获取示例。然后,您可以将文件:行路径输出为uri,并尝试注册一个处理程序来处理该uri方案,该处理程序使用url并调用具有适当参数的`subl`命令。 - Rob Cowie
2个回答

0

0

我认为你应该可以利用Sublime Text的构建系统中内置的功能,并借助错误捕获功能来实现这一点,但我不确定是否支持单击。

关于设置它们的一些文档可以在这里这里找到。如果您在Sublime Text提供的默认包中搜索,应该能够找到更多示例。

你需要创建一个生成系统来派生你的rspec cmd。在构建配置中,你需要特别注意"file_regex"键。这将让你定义一个正则表达式,以捕获cmd的错误输出。

下面是有关它的文档:

file_regex选项使用Perl风格的正则表达式从构建程序的输出中捕获最多四个错误信息字段,即:文件名、行号、列号和错误消息。使用模式中的组来捕获这些信息。文件名字段和行号字段是必需的。

当捕获到错误信息时,您可以使用 F4 和 Shift + F4 导航到项目文件中的错误实例。如果可用,捕获的错误消息将显示在状态栏中。
另外,您可能还可以在 Sublime Text 论坛上了解更多详细信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接