【问题标题】:TextMate: Preview in Firefox without having to save document first?TextMate:在 Firefox 中预览而无需先保存文档?
【发布时间】:2009-04-06 23:17:05
【问题描述】:

使用 TextMate:

是否可以分配一个快捷方式来预览/刷新当前编辑的 HTML 文档,比如 Firefox,而无需先点击保存?

我正在寻找与 TextMate 的内置 Web 预览窗口相同的功能,但我更喜欢外部浏览器而不是 TextMate 的。 (主要是为了使用 JavaScript 控制台,例如 Firebug)。

是否可以通过 shell 将当前未保存的文档通过管道传输,然后在 Firefox 中进行预览。如果有的话,有没有人有这方面的 TextMate 命令,愿意分享?

【问题讨论】:

    标签: refresh command textmate pipe preview


    【解决方案1】:

    不简单。最简单的方法是将当前文件写入临时目录,然后启动该文件。但是,这会破坏任何相关链接(图像、脚本、CSS 文件)

    添加捆绑包:

    Input: Entire Document
    Output: Discard
    Scope Selector: source.html
    

    还有脚本:

    #!/usr/bin/env python2.5
    
    import os
    import sys
    import random
    import tempfile
    import subprocess
    
    fname = os.environ.get("TM_FILEPATH", "Untitled %s.html" % random.randint(100, 1000))
    fcontent = sys.stdin.read()
    
    fd, name = tempfile.mkstemp()
    print name
    
    open(name, "w+").write(fcontent)
    
    print subprocess.Popen(["open", "-a", "Firefox", name]).communicate()
    

    正如我所说,这不适用于相关资源链接,这可能是一个大问题。另一个选择是从现有的“刷新浏览器”命令修改以下代码行:

    osascript <<'APPLESCRIPT'
        tell app "Firefox" to Get URL "JavaScript:window.location.reload();" inside window 1
    APPLESCRIPT
    

    不是让 javascript 重新加载页面,它可以清除它,并使用一系列 document.write() 调用写入当前文档。这样做的问题是您不能保证当前文档是您要替换的文档。Windows 1 可能已更改为另一个站点等,尤其是使用选项卡式浏览时..

    最后,一个没有太大缺点的选项:使用版本控制,尤其是“分布式”版本控制之一,您不必将更改发送到远程服务器 - git、mercurial、darcs、集市等(都有 TextMate 集成)

    如果您的代码处于版本控制中,那么在预览之前是否保存也没关系,如果您破坏了某些内容并丢失了撤消缓冲区,您也可以随时返回到上次提交的版本。

    【讨论】:

      【解决方案2】:

      您可以使用以下内容并将“Safari”替换为“Firefox”: http://wiki.macromates.com/Main/Howtos#SafariPreview

      【讨论】:

        【解决方案3】:

        打开捆绑编辑器(control + option + command + B) 滚动到 HTML Bundle 并展开树 选择“在正在运行的浏览器中打开文档” 分配等效激活密钥(快捷方式) 关闭包编辑器

        【讨论】:

          【解决方案4】:

          我认为这是不可能的。但是,您可以启用“原子保存”选项,这样每次您将选项卡切换到 Firefox 时,您的项目都会被保存。

          如果您找到合适的 Firefox 实时预览解决方案,请告诉我们。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2020-01-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-05-02
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多