Sublime Text 在与主编辑器 UI 不同的进程中运行插件。此进程运行名为plugin_host的可执行文件。
在单独的进程中运行插件可确保整个编辑器不会因插件编写不当而崩溃。如果插件确实导致plugin_host崩溃,用户仍然可以在重新启动 Sublime Text 之前保存他们的工作。
所有插件都在一个plugin_host进程中运行,并共享一个 Python 环境。每个插件都作为以包命名的模块的子模块加载。例如,文件MyPackage/my_plugin.py 中的插件将作为 Python 模块加载MyPackage.my_plugin。
该plugin_host过程包含了Python编程语言的嵌入式版本,并暴露了一个
API,以插件。该plugin_host可执行一直使用Python的自己的嵌入式版本,即使最终用户在其计算机上安装了Python。
Python Version
默认情况下,所有插件都使用 Python 3.3.6 运行。
Sublime Text 的 Python 3.3.6 版本包括一些从 Python 3.4 向后移植的补丁,用于修复ctypes
64 位版本的 Windows 上的unicode 路径和模块崩溃问题。从 build 4050 开始,插件也可以使用 Python 3.8 运行。Python 3.8 对语言进行了许多改进、更好的性能以及来自 Python Software Foundtion 的持续支持和错误修复。
选择 PYTHON 版本
为了提供向后兼容性,Sublime Text 4050 将继续使用 Python 3.3 运行所有插件。
任何希望使用 Python 3.8 的包都必须在包的根目录中创建一个名为.python-version的文件。此文件应包含文本3.3或3.8选择要使用的 Python 版本。
如果名为.python-version
的文件不存在,或者它包含除 之外的任何值3.8
,则将使用 Python 3.3。一个包中的所有插件都将使用相同版本的 Python。
任何包含在 Sublime Text 旧版本
中3.8
加载的.python-version
文件的包都将尝试使用 Python 3.3 运行插件。