在外部终端中使用Sublime Text 2构建Python文件
我正在使用Sublime Text 2来写Python程序,想在外部终端窗口中运行它。
这样做的原因是我很喜欢终端窗口(虽然我对编程世界还很陌生),而且我无法在Sublime Text 2的集成构建结果窗口中输入值。
我尝试修改了python.sublime-build文件,内容如下:
{
"cmd": ["python", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"shell": true}
可惜的是,当我点击构建按钮后,没有弹出终端窗口。结果窗口只显示[Finished in 0.0s]。如果我删除“shell”: true这一行,就可以正常构建,程序也能正常运行。
我使用的是OS X 10.9。请帮我修复这个构建文件。提前谢谢你。
另外,由于我对编程还很陌生,如果我想理解这些配置JSON文件中的内容,我需要了解哪些知识呢?比如这样的问题:
What's the mechanism behind all this lines in setting files?
Who's actually performing these commands, sublime text or the OS itself?
Does other software works in the same way as sublimate text does?
这可能是个不相关的问题,但我很好奇。如果有更合适的地方来问这个问题,请告诉我 :D
3 个回答
这是一个有点用的解决办法;
{
"path": "/usr/bin",
"cmd": ["xfce4-terminal -e 'bash -c \"python -u $file;read RAHUL;\"'"],
"shell": true,
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.python"
}
你可以把“xfce4-terminal”换成你自己的终端名称。
我也在找这个问题,结果在这里找到了,试了之后对我有用。
如何在Sublime Text 2中将构建结果显示在OSX终端
我遇到的小问题是没有正确写出脚本的完整路径,下面的写法对我有效。你可以先看看上面的链接,然后再看看我的写法。做类似的事情应该也能对你有帮助!
{
"cmd": ["sh /Users/InNov8/Dropbox/Code/^sublimeRunFile.sh \"$file\""],
"shell": true
}
试试这个插件:SublimeREPL。看起来这个插件能满足你的需求。运行脚本后,你可以查看变量、结果等等。安装好这个插件(通过package control
),使用时从菜单中选择工具 > sublimerepl > python。然后在REPL标签页中评估你的代码。
[小建议] 如果你在Windows上,可以试试在Notepad++中编写代码。打开插件管理器,安装PyNPP插件。这个插件可以让你直接在Notepad++中调用Python控制台来运行Python文件。我在转到Sublime Text之前,已经习惯使用“Alt + Shift + F5”这个命令了。运行脚本后,会弹出一个交互式的Python控制台,并在你完成脚本后保持打开状态。这正是你在问题中期待Sublime Text能做到的。
既然你在使用MacOSX,而且为了爱好Sublime Text(就像我一样),我们还是继续使用Sublime Text吧。