如何在Sublime Text 3中使用控制台

3

"视图"菜单的Sublime Text 3中有隐藏/显示控制台选项。我尝试在其中使用shell、Python和Ruby命令,但总是返回错误。

这个控制台是用来做什么的?


你的问题没有展示出任何研究。你在哪里搜索了?为什么没有帮助?请查看“[提问指南]”、“[Stack Overflow 问题清单]”以及它们所有链接的页面。 - the Tin Man
请查看 https://dev59.com/5GEi5IYBdhLWcg3w6f2e。 - the Tin Man
@theTinMan 我在 Google 上进行了搜索,返回了很多页面,显示如何启用和禁用控制台,如何添加终端或从Sublime打开终端。没有任何页面说这是用来做什么的。即使在 Sublime 的帮助菜单中,也只有显示/隐藏控制台的说明。 - Saleem
2个回答

5

非官方文档(我更喜欢这份文档而不是官方文档)在“基本概念”部分中指出:

Sublime Text通过一个应用程序编程接口(API)向外开放其内部功能,程序员可以使用Python编程语言与之交互。

它使用一个内部的Python解释器,该解释器不是系统PYTHONPATH变量中的解释器。因此,对我而言基本的Python命令也应该是可行的。控制台输出为:

...
   skipping some console output before
...
plugins-loaded
>>> x = 1
>>> y = 2
>>> f = x * y
>>> print(f)
2

控制台的目的是与API交互,控制Sublime Text 3内部设置。
>>> sublime.version()
'3211'

或者:

>>> sublime.message_dialog("test")

该函数会打开一个可点击的对话框,并显示文本“test”。

更多信息请参见API 参考文档


4
Sublime中的控制台是窥视Sublime内部工作的窗口,可查看插件状态并与插件主机进行交互;最重要的区别在于Sublime控制台不是终端;如果您想访问任意命令,需要安装像Terminus这样的软件包来实现。
Sublime中的大多数功能(包括开箱即用的默认功能)都是在Python插件中定义的,第三方软件包也可以定义Python插件。控制台是该Python环境的窗口;如果插件失败(例如代码以某种方式损坏),则代码生成的错误会出现在控制台中。
Sublime还将其自身状态显示在控制台中;控制台包含指示何时加载和卸载插件、Sublime启动所需时间、您正在运行的版本等的输出。每当看到错误对话框弹出时,控制台也会添加消息(有时错误仅传递到控制台而没有在其他地方可见)。
除了控制台不是终端的主要区别外,还应注意的是,尽管您可以输入任意Python代码并使其运行,但它并不是您运行Python程序的入口(除非您想评估单个表达式之类)。许多人会陷入这样的误解,即因为Sublime使用Python作为插件,所以您也可以使用该环境来运行Python程序,但事实并非如此。 Sublime提供的Python环境仅供其自己使用,并且与您可能已经安装或未安装在计算机上的任何Python版本都不同。

对我来说,主要的谜团是为什么Sublime使用自己内部的Python环境来运行插件,而不是使用系统中已安装的Python环境(从PATH中获取)。这种版本不一致可能会成为无尽的问题源泉。 - Suncatcher
如果这样做,那么使用该编辑器的每个人都必须安装Python才能使软件包正常工作。它必须是特定版本的Python,可能不是您想要使用的版本,因为某些内容(例如预编译的Python代码或本地库)对版本敏感。然后安装的每个软件包也需要同意,否则不同软件包使用的库之间可能存在版本冲突,潜在问题的列表还很长。 - OdatNurd

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