使用文本伴侣:
是否可以分配一个快捷方式来预览/刷新当前编辑的 HTML 文档,比如 Firefox,而不必先点击保存?
我正在寻找与 TextMate 的内置 Web 预览窗口相同的功能,但我更喜欢外部浏览器而不是 TextMate 的。(主要是为了使用 JavaScript 控制台,例如 Firebug)。
是否可以通过 shell 管道传输当前未保存的文档,然后在 Firefox 中预览。如果是这样,是否有人对此有 TextMate 命令,愿意分享它?
不是微不足道的。最简单的方法是将当前文件写入临时目录,然后启动该文件。但是,这会破坏任何相关链接(图像、脚本、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
它可以清除它,并使用一系列document.write()
调用写入当前文档,而不是让 javascript 重新加载页面。这样做的问题是您不能保证当前文档是您要替换的文档。Windows 1 可能已更改为另一个站点等,尤其是在选项卡式浏览中。
最后,一个没有太大缺点的选项:使用版本控制,尤其是“分布式”版本控制之一,您不必将更改发送到远程服务器 - git、mercurial、darcs、bazaar 等(都有 TextMate 集成)
如果您的代码处于版本控制中,那么在预览之前是否保存也没关系,如果您破坏了某些内容并丢失了撤消缓冲区,您也可以随时返回到上次提交的版本。
这是您可以使用的东西,只需将“Safari”替换为“Firefox”: http ://wiki.macromates.com/Main/Howtos#SafariPreview
打开捆绑编辑器(控制+选项+命令+ B)滚动到HTML捆绑并展开树选择“在运行浏览器中打开文档”分配激活密钥等效(快捷方式)关闭捆绑编辑器
我不认为这是可能的。但是,您可以启用“原子保存”选项,这样每次您将选项卡切换到 Firefox 时,您的项目都会被保存。
如果您找到了正确的 Firefox 实时预览的解决方案,请告诉我们。