在Sublime Text 2中执行Ruby代码

34

我该如何在ST2中运行Ruby文件并查看输出?我认为我应该使用构建命令。但是如果我有以下内容:

def foobar
  "hello world"
end

puts foobar

然后按下 cmd + shift + b。但我只看到

[Finished in 0.1s]

在 Textmate 中,我可以使用 cmd + r(运行命令)并查看 Ruby 脚本的所有输出。

我有什么遗漏吗?

5个回答

38

我没有保存文件,这就是为什么它没有起作用的原因。如果要在没有先保存文件的情况下运行文件(例如TextMate),您可以尝试使用Anypreter插件。


1
Anypreter 不是特别好。跟 TextMate 的运行命令相差甚远。 - vermin
1
是的,总的来说,Sublime Text 2远不如TextMate好用。我只使用它是因为(1)它是跨平台的,(2)在处理系统崩溃方面非常稳定。TextMate在系统崩溃时很糟糕。如果你的系统死机了,所有未保存的工作都会丢失。Sublime Text 2在我的系统死机时从未让我失望过。(这种情况在Windows上发生得更频繁,我无法使用TextMate,但在OS X上也经常发生,这使得Sublime Text成为文本编辑器界的沃尔沃,非常值得拥有。) - iconoclast
哇,事情变了。TextMate 2在挂掉的时候已经很牢固了(我一发现这个就立刻切换回去了),而且总体上仍然比其他任何编辑器更好用(在我看来)。但它仍然缺少许多有价值的功能,最终让我又回到了Sublime(3)。所以我又得重新解决Sublime的所有不足了。 :/ - iconoclast
你有没有找到比Anypreter更好的东西?有没有接近TextMate用户体验的东西? - iconoclast

32

我使用的是Windows系统,但请确保您选择了正确的构建系统:“工具>构建系统>Ruby”,然后只需按下CTRL+B即可。


1
我已经选择了Ruby作为构建系统。如果我按下cmd + b(OSX),我会得到相同的结果。 - vermin
@vermin Sublime Text的构建系统旨在捕获最多4个错误,而不是完整的输出。请参阅:http://docs.sublimetext.info/en/latest/file_processing/build_systems.html - Robert K
这比文本编辑器更方便。 - Mirage

4

供以后参考,希望能对某些人有所帮助:

我遇到了同样的问题。(在Sublime Text 3中) 我按照以下答案操作:

  • 选择ruby扩展(窗口右下角)
  • 在菜单栏中选择:Tools > Build System > Ruby
  • 保存文件并命名
  • 按下command + b键

但仍然看到:

[Finished in 0.1s]

最终发现(愚蠢的)问题是: 控制台窗口只有一行。所以我只看到了最后一行,即注释:

[Finished in 0.1s]

解决方法:将控制台窗口变大,就可以了。 我找不到任何设置。所以最后我用鼠标做到了这一点 Screenshot Sublime Text 3 - cropped

请注意光标(和ruby扩展)


2

总之,Sublime Text 默认拥有一个“自动”构建系统(安装后即可使用),但您应该将其更改为您使用的 Ruby 或其他语言。保存文件并按下 Ctrl + B(在 Windows 上)- 应该将输出运行到 ST 控制台中。


1

按下control + `(键位在键盘数字1旁边),这会在Sublime Text底部打开一个新窗口,您可以在其中输入Ruby代码并查看结果。但请确保您已正确安装Ruby并从终端设置了路径。


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