Требуется решение для рабочих процессов с использованием горячих клавиш Webdev - PullRequest
1 голос
/ 19 января 2012

Вопрос для всех вас, ребята из Webdev, которые нашли среду разработки с минимальными хлопотами.

  • ОС: Win7
  • Редактор: JEdit
  • Задача: Предварительный просмотр работы в веб-браузере.

Я бы хотел запрограммировать одну горячую клавишу для упаковки следующей серии горячих клавиш в одну. Я использую эту последовательность много раз в день, чтобы просмотреть свою работу в браузере.

Ключевые команды:

  • (из JEdit) ctrl + e ctrl + s [сохранить все файлы]
  • (победа) alt + tab [переключить меня в браузер]
  • (браузер) ctrl + r [перезагрузить страницу]

В течение многих лет я не использовал Dreamweaver или flash, но помню, что нажимал клавишу f12 или ctrl + enter, а браузер запускал предварительный просмотр текущего рабочего файла. Я ищу аналогичный рабочий процесс, но не могу просто связать с сохраненным файлом на диске. Мне нужно посмотреть файл через локальный веб-сервер. Обычно я просто открываю браузер для нужной мне страницы и обновляю ее, когда мне нужно предварительно просмотреть, что я сделал.

Другая проблема заключается в том, что шаг alt + tab не является достаточно явным. Зачастую браузер неправильно корректируется в списке открытых приложений, чтобы получить к нему доступ без нескольких вкладок.

Спасибо за любые предложения, советы по рабочему процессу и т. Д.

Ответы [ 2 ]

0 голосов
/ 26 августа 2014

Просто нажмите Alt + F5 и сделайте это!

Для этого установите AutoHotKey и запустите приведенный ниже скрипт (скопируйте в текстовый файл и измените расширение на .ahk). Здесь есть портативная версия . Протестировано с версией AutoHotKey 1.0.48.05

Это решение довольно гибкое, так как вы можете изменять ключи, редакторы, браузеры и все остальное. Он работает с Firefox и IE, но вы можете легко настроить.

varTextEditor и varBrowsers были обнаружены с помощью утилиты "WindowSpy", которая входит в комплект AutoHotKey.

;###############################################################################
; Save all unsaved documents, refresh all opened browsers and return to text editor
;###############################################################################
!F5::
    ;Configuration vars. Edit here the settings of this script
    ;               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
    ;End of configuration vars.

    WinGetClass, thisWindowClass, A ;Get the active window class

    if (InStr(varTextEditor, thisWindowClass, true, 1) > 0) { ;true = case sensitive
        varTextEditorClass = ahk_class %thisWindowClass%
        if (thisWindowClass = "SunAwtFrame") {
            OutputDebug, ...Saving everything
            ; SetKeyDelay, 100, 100, Play
            Send ^+s  ;Ctrl + Shift + S = Save all
        } else if (thisWindowClass = "SWT_Window0") {
            SendPlay ^s ;Ctrl + S = Save
        }
        Sleep, 500 ;Give some time to the data be recorded on hard disk
    } else {
        MsgBox, 0, Ops!, You must be in on these text editors: (%varTextEditor%) to get this script running, 5
        return
    }

    ;Refresh all opened (and maximized) browsers
    Loop, parse, varBrowsers, `,
    {
        varClasseBrowser = ahk_class %A_LoopField%
        if WinExist(varClasseBrowser) {
            WinGet, winState, MinMax, %varClasseBrowser% ;get window state. -1 = minimized
            if (winState != -1) {
                WinActivate, %varClasseBrowser%
                OutputDebug, ...Refresh browser %A_LoopField%
                Send, {F5}
            }
        }
    }
    ;Return to text editor
    WinActivate, %varTextEditorClass%
return

0 голосов
/ 19 января 2012

  • Используйте этот ответ для создания метода обновления веб-страницы в командной строке (он будет работать для любого браузера).
  • Затем создайте базовый макрос в JEdit для активации того сценария, который вы создали:
    • В JEdit вы можете записывать макросы с помощью Макросы -> Запись макроса .
    • Do ctrl + e + s
    • Остановить запись макроса с помощью Макросы -> Остановить запись .
  • Откройте вкладку браузера JEdit с недавно созданным буфером макросов, который теперь открыт в JEdit, и добавьте системный вызов в конце его, чтобы запустить скрипт Visual Basic для обновления вкладки браузера:
    Runtime.getRuntime().exec("c:/PATH/TO/VB_SCRIPT AND ARGS IF YOU NEED THEM");
    

  • Сохраните макрос.
  • Создайте сочетание клавиш JEdit с помощью утилит -> глобальные параметры , выберите «Ярлыки», затем найдите макрос и создайте новую привязку клавиатуры.

Обратите внимание, что команда Java beanshell exec не является блокирующей, поэтому, если вы хотите сделать что-либо еще после выполнения команды, вам может потребоваться вставить спящий режим, например:

Thread.currentThread().sleep(2000);
...