借助 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, ...
随机推荐
- Python 写了一个批量生成文件夹和批量重命名的工具
Python 写了一个批量生成文件夹和批量重命名的工具 目录 Python 写了一个批量生成文件夹和批量重命名的工具 演示 功能 1. 可以读取excel内容,使用excel单元格内容进行新建文件夹, ...
- Redis入门指导
前言 本文提供全网最完整的Redis入门指导教程,下面我们从下载Redis安装包开始,一步一步的学习使用. 下载Redis 官网提供的Redis安装包是服务于Linux的,而我们需要在Window下使 ...
- 微服务 - 服务消费(七)Feign
介绍 Spring Cloud Feign是一套基于Netflix Feign实现的声明式服务调用客户端.它使得编写Web服务客户端变得更加简单.我们只需要通过创建接口并用注解来配置它既可完成对Web ...
- Redis基础篇(五)AOF与RDB比较和选择策略
RDB和AOF对比 关于RDB和AOF的优缺点,官网上面也给了比较详细的说明redis.io/topics/pers- RDB 优点: RDB快照是一个压缩过的非常紧凑的文件,保存着某个时间点的数据集 ...
- [leetcode]49. Group Anagrams重排列字符串分组
是之前的重排列字符串的延伸,判断是重排列后存到HashMap中进行分组 这种HashMap进行分组的方式很常用 public List<List<String>> groupA ...
- Flask 操作Mysql数据库 - flask-sqlalchemy扩展
数据库的设置 Web应用中普遍使用的是关系模型的数据库,关系型数据库把所有的数据都存储在表中,表用来给应用的实体建模,表的列数是固定的,行数是可变的.它使用结构化的查询语言.关系型数据库的列定义了表中 ...
- css3 知识点积累
-moz- 兼容火狐浏览器-webkit- 兼容chrome 和safari1.角度 transform:rotate(30dge) 水平线与div 第四象限30度 transform: ...
- Azure Databricks 第二篇:pyspark.sql 简介
pyspark中的DataFrame等价于Spark SQL中的一个关系表.在pyspark中,DataFrame由Column和Row构成. pyspark.sql.SparkSession:是Da ...
- 一、linux安装mysql
一.下载mysql免编译包: wget http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.g ...
- dbms_job和dbms_job基础学习
一.dbms_job学习 a.创建job: dbms_job.submit(jobno,what,next_date,interval);b.删除job: dbms_job.remove(jobno) ...