ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

行内Python

apiad ST3

一款Sublime Text 3插件,可评估和替换选定的Python代码。

详细信息

安装次数

  • 总数 7K
  • Win 4K
  • Mac 1K
  • Linux 2K
8月6日 8月5日 8月4日 8月3日 8月2日 8月1日 7月31日 7月30日 7月29日 7月28日 7月27日 7月26日 7月25日 7月24日 7月23日 7月22日 7月21日 7月20日 7月19日 7月18日 7月17日 7月16日 7月15日 7月14日 7月13日 7月12日 7月11日 7月10日 7月9日 7月8日 7月7日 7月6日 7月5日 7月4日 7月3日 7月2日 7月1日 6月30日 6月29日 6月28日 6月27日 6月26日 6月25日 6月24日 6月23日
Windows 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
Mac 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

README

源代码
raw.​githubusercontent.​com

Sublime-InlinePython

一款Sublime Text 3插件,可评估和替换选定的Python代码。

用法

将以下快捷键绑定添加到您的首选项中

{ "keys": ["ctrl+alt+e"], "command": "inline_python" },
{ "keys": ["ctrl+shift+e"], "command": "inline_python_str" },

当然,您可以使用不同的快捷键。

接下来,在任何打开的文件中,选择一个有效的Python表达式,按下 ctrl+alt+e 来替换选择的内容,这将是Python的 repr 表示。或者,您也可以按 ctrl+shift+e 并使用表达式的 str 表示进行替换。如果评估抛出任何异常,您将在控制台中看到它,而您的文本将保持不变。

示例

您正在编写一个 Markdown 文档,并需要添加一条包含70个 = 的行。只需键入 '=' * 70,选择它并按 ctrl+alt+e

您正在编写JavaScript代码,需要迭代单词集合 ['bar', 'egg', 'foo']。只需键入 'bar egg foo'.split() 并进行评估。

您正在编写一个到达某个奇怪值(如 math.floor(42 * 13))的 for 循环,该值是常数。与其在脑海中计算它,不如键入并评估它(BTW,它等于 546)。

您必须写出96天之后的日期。只需键入 datetime.datetime.today() + datetime.timedelta(days=96),选择它,按下 ctrl+shift+e 并替换为 2014-05-12 11:42:20.834988(或相应的日期)。

在许多情况下,您需要键入一些难以直接键入的内容,但您知道如何使用某些列表推导或其他Python惯用语生成它。在这种情况下,无需切换到终端,启动IPython并生成,只需键入并评估它。

导入上下文

默认情况下,所有 mathcollectionsdatetimeossysitertools 都被导入到你的代码评估的局部环境中。这意味着 math.sin(123.45)os.listdir() 都可以正常工作。

如果你的 Helpers 文件夹中有 helpers.py 模块,它也会被包含在内。你可以修改默认设置文件来添加你想要的其它导入。

将代码注入评估器环境

ctrl+shift+p 并选择 行内 Python: 执行所选代码 命令来执行所选的代码。这个命令使用 exec 而不是仅接受表达式的 eval,并使用自定义的 locals 上下文,这个上下文随后用于 eval 命令。这意味着你可以在评估器环境中注入定义,供以后使用。

例如,假设你的缓冲区中某处有以下代码

def swap(s):
    s1, s2 = s.split(',')
    return s2, s1

你可以选择函数周围的代码,并运行 execute 命令。之后,你将可以使用 swap 方法。

自动计数器

局部环境还包含一个名为 _ 的方便的自动计数器变量。例如,假设你的文件中某处有以下文本

item -> blah blah blah
item -> bleh bleh bleh
item -> bluh bluh bluh

你可以在 ST3 中轻松地选择所有的 item,在末尾追加 _,然后选择三个 _

item_ -> blah blah blah
item_ -> bleh bleh bleh
item_ -> bluh bluh bluh

按下 ctrl+shift+e,它就会变成

item0 -> blah blah blah
item1 -> bleh bleh bleh
item2 -> bluh bluh bluh

事实上,_ 要比这复杂一些。你可以把它当作一个带有参数的函数调用,它将为每个不同的参数增加不同的计数器。例如

item_(0) -> blah blah blah
item_(0) -> bleh bleh bleh
item_(1) -> bluh bluh bluh
item_(1) -> bloh bloh bloh

将转变为

item0 -> blah blah blah
item1 -> bleh bleh bleh
item0 -> bluh bluh bluh
item1 -> bloh bloh bloh

你可以用任何 Python 类型,如 intstr 作为 _ 的参数。

许可

MIT 许可证 (MIT)

版权所有 © 2014 Alejandro Piad

在此特此免费授予任何获得本软件及其相关文档副本(以下称“软件”)的个人在不作限制的前提下(包括但不限于使用、复制、修改、合并、出版、分发、再许可和/或销售软件副本的权利),以及准许软件接受者这么做,但须遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于对适销性、特定用途适用性和非侵权的保证。在任何情况下,作者或版权持有人不对任何因合同、侵权或其他行为产生的索赔、损害或其他责任负责,不论这些索赔、损害或其他责任起因于、产生于或与此软件或软件的使用或其他方式相关联。

总之:MIT 许可!自行风险使用...

分叉、协作或其它方式

当然,来到 Github