【问题标题】:How to open an editor directly from rspec output within the console?如何直接从控制台中的 rspec 输出打开编辑器?
【发布时间】:2011-11-26 15:01:18
【问题描述】:

为了加快开发和调试过程

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 的自动测试功能。

【问题讨论】:

  • 这完全取决于编辑器,如果编辑器甚至完全支持它。您必须为 SublimeText2 编写一些 python。此外,在控制台中“单击”某些内容没有意义……控制台是纯文本终端。
  • 感谢 d11wtq,但 http 链接会打开浏览器,因此最后一条语句绝对不正确。我确实意识到链接需要像 subline::file//blah 之类的东西,但我什至不知道如何让 rspec 生成这些链接。
  • 我不使用 rspec 但我认为您可以定义自定义 Formatter 类。有关示例,请参阅github.com/shingara/rspec-formatter。然后,您可以将文件:行路径输出为 uri,然后 尝试为该 uri 方案注册一个处理程序,该方案采用 url 并使用适当的 args 调用 subl 命令

标签: ruby unit-testing debugging rspec2 sublimetext


【解决方案1】:

我相信您应该能够利用 sublime text 的构建系统中内置的功能,通过搭载错误捕获功能来做到这一点。虽然我不能 100% 确定是否支持点击。

有一些关于设置它们的文档 herehere。如果您在 sublime text 提供的默认包中四处挖掘,应该能够找到更多示例。

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

文档是这样说的:

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

当捕获到错误信息时,您可以导航到错误 使用 F4 和 Shift+F4 在项目文件中添加实例。如果可供使用的话, 捕获的错误信息将显示在状态栏中。

您还可以通过sublimetext forums 了解更多详情。

【讨论】:

    【解决方案2】:

    我参加聚会有点晚了......但它可能对仍在寻找这个的人有所帮助。

    Sublime Text 2 - RSpec HTML Output

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-01
      相关资源
      最近更新 更多