1

向所有已经找到一个最简单的开发环境的 webdev 家伙/gals 提问。

  • 操作系统:Win7
  • 编辑:JEdit
  • 任务:在网络浏览器中预览作品

我想编写一个热键来将以下一系列热键打包成一个。我每天多次使用这个序列在浏览器中预览我的工作。

关键命令是:

  • (来自 JEdit) ctrl + e ctrl + s [保存所有文件]
  • (win) alt + tab [切换到浏览器]
  • (浏览器) ctrl + r [重新加载页面]

我已经很多年没有使用过 Dreamweaver 或 flash,但我记得按 f12 或 ctrl + enter 并让浏览器拉起预览当前的工作文件。我正在寻找类似的工作流程,但我不能简单地链接到磁盘上保存的文件。我需要通过本地网络服务器查看文件。通常我只是让浏览器打开我需要的页面,并在我需要预览我所做的事情时刷新它。

另一个问题是 alt+tab 步骤不够明确。通常,浏览器在打开的应用程序列表中的排序不正确,无法在没有多个选项卡的情况下访问它。

感谢您的任何建议、工作流程提示等。

4

2 回答 2

0

  • 使用此答案创建刷新网页的命令行方法(它适用于任何浏览器)。
  • 接下来,在 JEdit 中创建一个基线宏来激活您创建的脚本:
    • Macros在 JEdit 中,您可以使用->录制宏Record Macro
    • ctrl+ e+s
    • Macros使用->停止录制宏Stop Recording
  • 使用现在在 JEdit 中打开的新创建的宏缓冲区打开 JEdit 浏览器选项卡,并在其末尾添加一个系统调用以运行您的 Visual Basic 脚本以刷新浏览器选项卡:

    Runtime.getRuntime().exec("c:/PATH/TO/VB_SCRIPT AND ARGS IF YOU NEED THEM");
    

  • 保存宏。
  • utilities使用-> 创建 JEdit 键盘快捷方式global options,选择“快捷方式”,然后搜索您的宏并创建新的键盘绑定。

请注意,Java beanshellexec命令是非阻塞的,因此如果您想在执行命令执行其他任何操作,您可能必须插入一个 sleep ,例如:

Thread.currentThread().sleep(2000);
于 2012-01-19T04:25:42.560 回答
0

只需按 Alt + F5 即可完成!

为此,请安装AutoHotKey并运行以下脚本(复制文本文件并将扩展名更改为 .ahk)。这里有一个便携版本。使用 AutoHotKey 测试,版本为 1.0.48.05

这个解决方案非常灵活,因为您可以更改键、编辑器、浏览器和其他所有内容。它适用于 Firefox 和 IE,但您可以轻松自定义。

使用捆绑到 AutoHotKey 中的“WindowSpy”实用程序发现的 varTextEditor 和 varBrowsers。

;################################################ ##############################
; 保存所有未保存的文档,刷新所有打开的浏览器并返回文本编辑器
;################################################ ##############################
!F5::
    ;配置变量。在此处编辑此脚本的设置
    ; jEdit Eclipse
    varTextEditor = SunAwtFrame,SWT_Window0
    ;varBrowsers = MozillaUIWindowClass,MozillaWindowClass,Chrome_WidgetWin_0,IEFrame,OpWindow,{1C03B488-D53B-4a81-97F8-754559640193}
    ; Firefox3 Firefox4 Chrome IEca Opera Safari
    varBrowsers = MozillaWindowClass,IEFrame
    ;配置变量结束。

    WinGetClass, thisWindowClass, A ;获取活动窗口类

    if (InStr(varTextEditor, thisWindowClass, true, 1) > 0) { ;true = 区分大小写
        varTextEditorClass = ahk_class %thisWindowClass%
        if (thisWindowClass = "SunAwtFrame") {
            OutputDebug, ...保存一切
            ; SetKeyDelay, 100, 100, 播放
            发送 ^+s ;Ctrl + Shift + S = 全部保存
        } else if (thisWindowClass = "SWT_Window0") {
            发送播放 ^s ;Ctrl + S = 保存
        }
        Sleep, 500 ; 给硬盘记录数据一些时间
    } 别的 {
        MsgBox, 0, Ops!, 您必须使用以下文本编辑器:(%varTextEditor%) 才能运行此脚本,5
        返回
    }

    ;刷新所有打开(和最大化)的浏览器
    循环、解析、varBrowsers、`、
    {
        varClasseBrowser = ahk_class %A_LoopF​​ield%
        如果 WinExist(varClasseBrowser) {
            WinGet, winState, MinMax, %varClasseBrowser% ;获取窗口状态。-1 = 最小化
            如果(winState!= -1){
                WinActivate, %varClasseBrowser%
                OutputDebug, ...刷新浏览器 %A_LoopF​​ield%
                发送,{F5}
            }
        }
    }
    ;返回文本编辑器
    WinActivate, %varTextEditorClass%
返回

于 2014-08-25T22:48:01.617 回答