小程序模板网

chemzqm:文件保存后自动刷新微信小程序

2018-03-20 大槐宫

作者的话:我发现这个方法有副作用,就是别的应用也可能有注册这个全局快捷键,所以我开发了 https://github.com/chemzqm/wept正文部分:微信开发者工具支持刷新和重建的快捷键,所以我们可以发送一段 apple script ...

 
 
 
作者的话:
我发现这个方法有副作用,就是别的应用也可能有注册这个全局快捷键,所以我开发了 https://github.com/chemzqm/wept
 
正文部分:
微信开发者工具支持刷新和重建的快捷键,所以我们可以发送一段 apple script 脚本来达到刷新/重建项目的效果,从而免去手工切换再使用快捷键的麻烦。例如:
 
tell application "wechatwebdevtools"
  activate
  delay 0.2
  tell application "System Events"
    key code {55, 15}
  end tell
end tell
这段代码可以使用命令 osascript 执行,效果就是聚焦微信开发者工具,然后发送 Command + R 刷新界面。
 
这里的问题是我们还是需要每次刷新都要切换到微信开发者工具界面,这对于开发的流畅度还是有影响的。
 
一个简单的解决办法就是修改开发者工具源码,让它支持全局快捷键,经过一番查找,找到了文件:
/Applications/wechatwebdevtools.app/Contents/Resources/app.nw/app/dist/common/menu/menu.js,
添加代码:
 
function registShortcut(key, onactive) {
 
  var option = {
    key : key,
    active : onactive,
    failed : function(msg) {
      // :(, fail to register the |key| or couldn't parse the |key|.
      console.log(msg);
    }
  };
 
  // Create a shortcut with |option|.
  var shortcut = new nw.Shortcut(option);
 
  // Register global desktop shortcut, which can work without focus.
  nw.App.registerGlobalHotKey(shortcut);
}
以及
 
registShortcut("Command+Shift+R", function () {
  e.reload()
})
registShortcut("Command+Shift+B", function () {
  e.reBuild()
})
autocmd BufWritePost *.wxml call macos#keycodes('command', 'shift', 'r')
autocmd BufWritePost *.wxss call macos#keycodes('command', 'shift', 'r')
大功告成。


易优小程序(企业版)+灵活api+前后代码开源 码云仓库:starfork
本文地址:https://www.eyoucms.com/wxmini/doc/course/22745.html 复制链接 如需定制请联系易优客服咨询:800182392 点击咨询
QQ在线咨询