【问题标题】:Save then refresh browser shortcut trick command in editor在编辑器中保存然后刷新浏览器快捷技巧命令
【发布时间】:2010-12-28 23:07:45
【问题描述】:

我想要一个热键以在 Notepad++ 中保存所有内容,然后切换到浏览器并刷新页面。我每天必须这样做数千次并执行 Save All 热键,然后 Alt-Tab 到右侧窗口,然后 F5 一次又一次刷新,必须有更好的解决方案吗?如果有其他编辑器可以做到这一点,我愿意切换编辑器。

我尝试过使用运行命令,但问题是虽然它允许你制作类似 [firefox.exe "current file"] 的东西,但如果你想在 localhost 这样的网址上打开它,因为它需要运行服务器端,然后您必须手动指定字符串的另一部分,例如 [chrome.exe "custom var(web address) / filename"] 并且它总是会打开一个新选项卡,然后会产生很多混乱。此外,如果您正在编辑包含文件,那么它会尝试打开该文件,而不是在您使用运行命令时打开您想要查看的页面,刷新将是我能想到的唯一可行的方法。

编辑:我得到了 Cpfohl 解决方案!如果你有其他方法请分享,因为我会继续关注这个线程。

Esc::                ; The hotkey I like to use
SetTitleMatchMode, 2 ; Match Partial Title Mode
SetKeyDelay 10, 10   ; Set Keystroke Delays
Send {F5}            ; Save All In Editor / I set to F5 in npp
IfWinExist, Firefox
   WinActivate
Send {F5}            ; Refresh Browser

【问题讨论】:

    标签: editor


    【解决方案1】:

    我使用AutoHotKey 处理这类东西,但我对它还很陌生。好的部分是您不必切换编辑器。 AutoHotKey 可以让你做任何你想做的事(几乎),但最简单的方法是用它来做你可以用相对死记硬背的一系列击键来做的事情。

    您将编写一个在运行时运行的脚本。然后,每当您使用您选择的热键时,它都会执行脚本(可以由“人工”击键组成)。

    一个示例脚本可能是(这是未经测试的,并假设您打开的最后一个窗口是浏览器,即:“AltTab”导致浏览器打开):

    !+s::           ;Binds the hot key to "Alt,Shift, S"
        Send ^+s    ;Pushes "Ctl,Shift, S"
        Send AltTab ;Pushes "Alt, Tab"
        Send F5     ;Pushes "F5"
    

    编辑 05/2020

    我想指出,现在有很多比这更好的选择。无论您使用什么构建工具(rollup、webpack 等),或者您用于在本地托管文件的任何文件服务器(例如https://github.com/tapio/live-server),热重载都是一个已解决的问题。

    【讨论】:

    • 你如何确保你有 Alt-Tabbed 到正确的窗口?
    • AltTab 只是“例如”有一种方法(虽然我不知道它是什么)选择一个特定的窗口...一秒钟。
    • 是的,不确定。这将是一个很好的问题。我将编辑回复。
    • 我认为这可能是解决方案,除非我确实按下了热键 - 而不是执行它在编辑器中键入“F5AltTabF5”的操作,F5 是我在 npp 中的全部保存命令。
    【解决方案2】:

    还有一个免费的 Notepad++ 开源插件,名为 RefreshBrowser,它会在您保存文档时刷新浏览器。

    【讨论】:

    • 您只是在宣传一个商业产品。因此,您的回答必须被视为垃圾邮件。
    • 对我来说似乎是免费的。他们甚至在他们的网站上有源代码链接。我试过了,它完全按预期工作!只需将 dll 复制到您的插件文件夹即可。我找到的最简单的解决方案。
    • 它是商业的 - 现在它是免费的。如果您使用 npp 编码,这是最好的选择,因为它会刷新您打开的每个浏览器。 (可配置)。
    【解决方案3】:

    使用WinAutomation 或其免费表亲AutoIt. 两者都提供热键和窗口标题搜索。

    【讨论】:

      【解决方案4】:

      这是我使用的脚本。然后,您只需要在当前 chrome 选项卡中使用您正在处理的页面,并使用它的 Win+Enter 从 npp 编译运行您的 webapp/站点。我将 sn-p 粘贴到一个上下文中,该上下文也可以做一些其他事情,比如安排我的窗户。 (我让 npp 与 explorer++ 保持同步,然后在我的第二台显示器上打开 chrome)

      #IfWinActive ahk_exe Notepad++.exe
          #Enter::
              Send ^+s
              WinActivate ahk_exe chrome.exe
              Send {F5}   
          return
      

      我想你想要这个

      #IfWinActive ahk_exe Notepad++.exe
          #Enter::
              Send {F5}
              WinActivate ahk_exe chrome.exe
              Send {F5}   
          return
      

      【讨论】:

        【解决方案5】:

        我使用TypeItIn 来满足我所有的效率需求——无论是针对特定代码 sn-ps 还是宏和其他可重复的任务。

        现在我正在对特定目录中的文件进行大量编辑。以下按钮激活 Notepad++,保存文件,切换到 Google Chrome 中的正确选项卡,然后重新加载页面。当我使用键盘快捷键或按住 Ctrl 键单击 Notepad++ 窗口标题时,将调用该脚本。

        按钮详情:

        Name: Save and Reload
        
        Watch for window title: Notepad++
          Match anywhere: Anywhere in Title
        
        Shortcut Key: Alt+Shift+A
        
        Text to be typed:
        {Activate Notepad*}{Ctrl s}{Var1 Window}{Var1 Replace *C:\Program Files\Apache\apache-tomcat-6.0.37\webapps\essential_viewer\|}
        {Var1 Replace C:\Program Files\Apache\apache-tomcat-6.0.37\webapps\essential_viewer\|}
        {Var1 Replace  - Notepad++|}
        {Activate localhost:8080/essential_viewer/{Var1} - Google Chrome}{BrowserRefresh}
        

        注意事项:

        1. 从上面要输入的文本中删除所有空格,否则它将在您的文件中添加换行符。
        2. 激活 Notepad* 将使 Notepad++ 成为焦点。如果需要,您可以将 {Ctrl s} 更改为 {Ctrl {Shift s}} 以保存所有内容。
        3. 它将(当前文件的)窗口标题存储在变量“Var1”中。为确保它捕获已保存和未保存的文件,以防万一,它对文件路径进行了两次替换。一次和一次 *。然后它会删除尾随的“-Notepad++”。
        4. 具有特定标题的 Google Chrome 窗口将成为焦点,并且仅刷新该页面。

        希望这会有所帮助!

        【讨论】:

          【解决方案6】:

          我不确定这是否有帮助,但对我来说这是一件很棒的事情。我在记事本++上创建了一个网站,但是保存html文件并转到浏览器选项卡真的很烦人,最后点击刷新以反映我在浏览器上对代码所做的更改。
          我所做的是在 html 文件的头标签内引入一个元标签,同时最初创建它们,从而指示浏览器在固定时间间隔后刷新。 元标记是:

          <meta http-equiv="refresh" content="10" >

          所以最终的 html 文件会是这样的:

          <!DOCTYPE html>
          <html>
            <head> 
              <meta http-equiv="refresh" content="10" >
            </head>
            <body>
              Hello There!
            </body>
          </html>

          这里的 content 值指示浏览器在几秒后刷新。在我的情况下,它是 10 秒。因此,在任何时候我在记事本中编辑后保存我的 html 文件,我最多等待 10 秒才能看到我的编辑对 html 文件带来的更改。 您可以稍后删除标签(只需运行脚本!)。就我而言,在使用引导 css 时,这种技术为我节省了很多时间和精力。希望这会有所帮助。

          【讨论】:

            【解决方案7】:

            我使用的是 Kyle Zimmer AHK 脚本,之前我使用的是:

            ^s::           ;Binds the hot key to "Shift, S"
                Send ^+s    ;Pushes "Ctl,Shift, S"
                Send !{TAB} ; TAB to other window
                Sleep 50
                Send {F5}     ;Pushes "F5" to refresh
                Sleep 50
                Send !{TAB} ; TAB to original window
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2019-12-21
              • 1970-01-01
              • 2010-11-11
              • 2019-03-24
              • 1970-01-01
              • 2011-09-21
              • 1970-01-01
              • 2014-01-23
              相关资源
              最近更新 更多