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

Shebang

samizdatco ST2

Sublime Text 2插件,用于基于嵌入的‘shebang’路径运行脚本

详细信息

  • 2012.08.10.20.32.39
  • github.​com
  • github.​com
  • 12年前
  • 49分钟前
  • 12年前

安装次数

  • 总数 386
  • Win 70
  • Mac 199
  • Linux 117
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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mac 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 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

说明书

源代码
raw.​githubusercontent.​com

(#!) Shebang

一个基于在‘shebang’行中指定的路径运行脚本的Sublime Text 2插件,并将输出显示在不同的缓冲区中。它还为使用virtualenv的Python脚本提供了额外支持,可以通过命令面板或作为.sublime-build系统的一部分来使用。

安装

自动安装

  1. 安装包控制插件
  2. 在ST2中,使用⇧⌘P显示命令面板,然后选择包控制:安装包
  3. 从列表中选择Shebang以安装。

手动安装

项目页面下载当前版本或克隆git存储库到您的目录

git clone https://github.com/samizdatco/sublime-text-shebang.git Shebang

使用方法

该插件向命令面板添加了五个命令。可以从源脚本或其对应输出窗口运行它们。

  • 运行脚本
    运行当前文件
    当文件以shebang行开头或以.py结尾时,此命令将可用。输出将显示在单独的窗口中,每个窗口有多个选项卡,分别代表已运行的脚本。

  • 运行shell命令…
    运行任意命令行
    提示用户输入要运行的命令,然后执行它。当从包含可运行脚本的缓冲区调用时,默认将使用“运行脚本”的调用。

  • 重启脚本
    停止正在运行的脚本然后重新启动它
    当访问正在运行的脚本的缓冲区时将出现。默认情况下,在重新启动脚本之前将显示确认对话框,但可以在Shebang.sublime-settings中禁用。

  • 终止脚本
    停止当前脚本
    除了在命令面板中出现外,还可以通过在脚本的视图或相应的输出缓冲区中输入ctrl-c来调用。

  • 浏览堆栈跟踪
    跳转到错误行
    运行导致异常终止的脚本后,可以跳转到堆栈跟踪中的任何一行(目前仅支持Python)。

配置

通用设置存储在名为 Shebang.sublime-settings 的文件中。要进行修改,请将 Shebang 文件夹中的设置文件复制到您的 Packages/User 目录。

在文件中,您可以重新定义默认行为

  • confirm_terminate true
    在终止或重新启动正在运行的脚本之前是否弹出确认对话框。

  • save_on_run true
    是否在运行之前保存当前的脚本缓冲区。

  • use_separate_window false
    是否在单独的窗口中分组输出缓冲区或在源脚本标签旁边打开它们。

  • virtualenv null
    一个路径(或路径片段),其中可以找到 virtualenv Python 环境。如果该值是绝对路径或家目录相关的路径,Shebang 将简单地使用该路径处的解释器。

    如果该值是无根名称,那么将遍历脚本的所有目录及其父目录,并搜索与名称匹配的子目录。Shebang 将使用脚本(或默认到系统 Python)在目录层次结构中的最近匹配(如果没有找到,则默认为系统 Python)。

构建系统集成

Shebang 也可以用于 .sublime-build 文件中。它提供了一个名为 execute 的构建命令,这是 Sublime 自带构建系统中 exec 命令的多进程版本。

要创建自定义构建系统,创建一个按 文档 中定义的语法编写的 *.sublime-build 文件,但将 "target":"exec" 替换为 "target":"execute"

除标准字段外,Shebang 还支持一些扩展

  • prompt 控制用户是否可以在执行之前编辑命令行
  • 如果有,virtualenv 将覆盖 .sublime-settings 文件中的值
  • 通常可以省略 cmd。如果包含它,构建命令将不会检查文件中的 shebang 行,而始终使用 cmd 调用。

以下是一个示例,它定义了一个 virtualenv 搜索模式,并允许从 Python 或 Shebang 输出窗口构建,Run 变体允许在运行之前按下 ⇧⌘B 弹出命令行编辑器。

将其保存到您的 Packages/User 目录作为 Virtualenv.sublime-build,它将出现在 Sublime 的 工具 > 构建系统 菜单中

{
  "selector": "source.python,text.shebang",
  "target":"execute",
  "virtualenv":"env",
  "variants":[
    { "name": "Run", "target":"execute", "prompt":true }
  ] 
}

仅限 Unix 系统(目前如此)

Shebang 目前适用于 Linux 和 OS X。没有固有的阻止 Windows 支持的因素,但我对该操作系统不太了解,而且在路径结构(或解释器通常的存储位置)方面缺乏深入了解。如果我看到任何可以修改以减少对 Unix 的依赖的地方,我将非常愿意听听。