借助 AppleScript 一键打开工作空间

我有个小毛病:同时只能在一个工程里工作。
假如让我开四五个 Webstorm,在工程里 A 改个Bug,然后又到工程 B 里加个需求,再去工程 C 发个版,切来切去一会儿就懵了。
于是有了这个项目:my-applescript。
使用方式
- 第一步:鼠标滑动到左侧底部唤起桌面(我设置的触发角);
- 第二步:双击 “open-saas-admin”(是个脚本,会初始化公司 saas-admin 项目的工作空间);
- 第三步:泡个茶或者发个呆,脚本负责打开 Webstorm、iTerm、Chrome、执行开发命令...
- 第四步:干活儿。
如何实现
思路很简单:用 AppleScript 控制 MacOS 中的应用程序
下边是一段示例代码:
set dirPath to "/Users/rmlzy/Documents/homedo/saas-admin"
on quitApplication(name)
tell application name
quit
end tell
end quitApplication
on runCmdInNewTab(cmdStrs)
tell application "iTerm"
activate
delay 1
tell current window
create tab with default profile
tell current session
repeat with cmdStr in cmdStrs
write text cmdStr
end repeat
end tell
end tell
end tell
end runCmdInNewTab
on openChrome(URL)
tell application "Google Chrome"
activate
open location URL
end tell
end openChrome
# Fire
quitApplication("iTerm")
delay 1
quitApplication("Webstorm")
delay 1
runCmdInNewTab({"pwd", "cd " & dirPath, "git pull", "npm run dev"})
runCmdInNewTab({"webstorm " & dirPath})
openChrome("http://localhost:10445")
AppleScript 的语法很简单,套娃式的逻辑结构。
脚本实现以后,可以在 MacOS 中的 “Script Editor” 中测试一下。
测试完毕后,点击目录中的 “文件”,选择 “导出”,导出成应用程序到桌面,勾选“仅运行” 即可。
完工。
借助 AppleScript 一键打开工作空间的更多相关文章
- 一键打开 jupyter
一般打开jupyter notebook 是以下步骤: 打开cmd-----输入:jupyter notebook-----按Enter键 为了省事,写了一个.py文件实现上述步骤,代码如下: imp ...
- Word 借助VBA一键实现插入交叉引用
最近写论文的时候,经常需要向上或向下插入题注的交叉引用,word 自带的界面往往需要操作多次,才能实现插入.而平时使用较多的只是交叉引用附近的题注,比如如图1.1所示,在图1.1中等,距离较远的引用则 ...
- eclipse打开工作空间(workspace)没有任务反应
删除workspace下的.metadata文件夹,重新打开Eclipse就OK了.
- eclipse 配置打开工作空间
转载自: https://www.cnblogs.com/qq1871707128/p/6093860.html 首先得有eclipse 一.在eclipse的菜单栏中点击 Run -->Ext ...
- 【google chrome 一键打开 谷歌跳转的页面+JS Replace】谷歌无法打开网页的时候,提取网页中url的部分
经常在谷歌搜索,遇到网页无法打开,然后就停留在比如:http://www.google.com.hk/search?newwindow=1&safe=strict&site=& ...
- 使用bat一键打开java、jar、py文件
直接运行jar是没有命令行窗口的,如果想有命令行窗口,一般来说是要 win+r 运行cmd,定位到所在目录,然后用命令行执行 java -jar xxx.jar 而对于python,打开py文件也是麻 ...
- 用AutoHotkey一键打开、激活、或隐藏Chrome(或其他软件)
热键的效果: 1.Chrome没打开时,打开Chrome 2.Chrome已打开,未激活时,则激活Chrome 3.Chrome已激活,则隐藏Chrome 本来这种功能对AutoHotkey来说非常简 ...
- 每次找Internet选项感到抓狂?一键打开!
WIN+R运行,输入inetcpl.cpl,就可以打开了!
- eclipse中如何打开工作空间里面已经有的项目
File->Import->打开大类General->找到小类Existing Projects info Workspace->选择Select root dirctory, ...
随机推荐
- win7开机登录界面壁纸修改
1.选择一张自己喜欢的图(一定要是jpg格式,亲测png格式不行),分辨率最好和自己电脑的分辨率差不多. 2.将图片改名为"backgroundDefault.jpg": 3.按下 ...
- 解决[BScroll warn]: Can not resolve the wrapper DOM. Vue better-scroll
在开发项目过程中,使用better-scroll插件中遇到了滚动一次重复提示相同错误 [BScroll warn]: Can not resolve the wrapper DOM. Vue bett ...
- 为什么会有kafka消息系统?小问题藏着大细节!
前言:老刘今天写这篇文章首先想对一些复制粘贴的博客表达不满:其次是想用通俗易懂的话解释消息系统:最后欢迎各位英雄好汉.女中豪杰前来battle. 1. 为什么有消息系统? 1.1 背景 今天复习kaf ...
- [leetcode]110BalancedBinaryTree平衡二叉树
public boolean isBalanced(TreeNode root) { int res = helper(root); if (res<0) return false; retur ...
- Spring Boot中初始化资源的几种方式
CommandLineRunner 定义初始化类 MyCommandLineRunner 实现 CommandLineRunner接口,并实现它的 run()方法,在该方法中编写初始化逻辑 注册成Be ...
- hashmap的简易实现,基本实现PUT GET
p.p1 { margin: 0; font: 12px Menlo; color: rgba(79, 118, 203, 1) } /*简易版的HASHMAP包括基本的GET PUT思想 * 从数 ...
- Linux 时间同步 02 ntpd、ntpdate的区别
Linux 时间同步 02 ntpd.ntpdate的区别 目录 Linux 时间同步 02 ntpd.ntpdate的区别 [一]这样做不安全. [二]这样做不精确. [三]这样做不够优雅. ntp ...
- AOP的姿势之 简化混用 MemoryCache 和 DistributedCache 的方式
0. 前言 之前写了几篇文章介绍了一些AOP的知识, 但是还没有亮出来AOP的姿势, 也许姿势漂亮一点, 大家会对AOP有点兴趣 内容大致会分为如下几篇:(毕竟人懒,一下子写完太累了,没有动力) AO ...
- Navicat Premium 12连接MySQL数据库出现Authentication plugin 'caching_sha2_password' cannot be loaded的解决方案
1. 管理员权限运行命令提示符,登陆MySQL mysql -u root -p password 2. 修改账户密码加密规则并更新用户密码 ALTER USER 'root'@'localhost' ...
- git切换分支后远程提交报错
切换分支后提交,报错如下 解决办法