行内Python
一款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
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并生成,只需键入并评估它。
导入上下文
默认情况下,所有 math
、collections
、datetime
、os
、sys
和 itertools
都被导入到你的代码评估的局部环境中。这意味着 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 类型,如 int
或 str
作为 _
的参数。
许可
MIT 许可证 (MIT)
版权所有 © 2014 Alejandro Piad
在此特此免费授予任何获得本软件及其相关文档副本(以下称“软件”)的个人在不作限制的前提下(包括但不限于使用、复制、修改、合并、出版、分发、再许可和/或销售软件副本的权利),以及准许软件接受者这么做,但须遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于对适销性、特定用途适用性和非侵权的保证。在任何情况下,作者或版权持有人不对任何因合同、侵权或其他行为产生的索赔、损害或其他责任负责,不论这些索赔、损害或其他责任起因于、产生于或与此软件或软件的使用或其他方式相关联。
总之:MIT 许可!自行风险使用...
分叉、协作或其它方式
当然,来到 Github。