我有个小毛病:同时只能在一个工程里工作。

假如让我开四五个 Webstorm,在工程里 A 改个Bug,然后又到工程 B 里加个需求,再去工程 C 发个版,切来切去一会儿就懵了。

于是有了这个项目:my-applescript

使用方式

  1. 第一步:鼠标滑动到左侧底部唤起桌面(我设置的触发角);
  2. 第二步:双击 “open-saas-admin”(是个脚本,会初始化公司 saas-admin 项目的工作空间);
  3. 第三步:泡个茶或者发个呆,脚本负责打开 Webstorm、iTerm、Chrome、执行开发命令...
  4. 第四步:干活儿。

如何实现

思路很简单:用 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 一键打开工作空间的更多相关文章

  1. 一键打开 jupyter

    一般打开jupyter notebook 是以下步骤: 打开cmd-----输入:jupyter notebook-----按Enter键 为了省事,写了一个.py文件实现上述步骤,代码如下: imp ...

  2. Word 借助VBA一键实现插入交叉引用

    最近写论文的时候,经常需要向上或向下插入题注的交叉引用,word 自带的界面往往需要操作多次,才能实现插入.而平时使用较多的只是交叉引用附近的题注,比如如图1.1所示,在图1.1中等,距离较远的引用则 ...

  3. eclipse打开工作空间(workspace)没有任务反应

    删除workspace下的.metadata文件夹,重新打开Eclipse就OK了.

  4. eclipse 配置打开工作空间

    转载自: https://www.cnblogs.com/qq1871707128/p/6093860.html 首先得有eclipse 一.在eclipse的菜单栏中点击 Run -->Ext ...

  5. 【google chrome 一键打开 谷歌跳转的页面+JS Replace】谷歌无法打开网页的时候,提取网页中url的部分

    经常在谷歌搜索,遇到网页无法打开,然后就停留在比如:http://www.google.com.hk/search?newwindow=1&safe=strict&site=& ...

  6. 使用bat一键打开java、jar、py文件

    直接运行jar是没有命令行窗口的,如果想有命令行窗口,一般来说是要 win+r 运行cmd,定位到所在目录,然后用命令行执行 java -jar xxx.jar 而对于python,打开py文件也是麻 ...

  7. 用AutoHotkey一键打开、激活、或隐藏Chrome(或其他软件)

    热键的效果: 1.Chrome没打开时,打开Chrome 2.Chrome已打开,未激活时,则激活Chrome 3.Chrome已激活,则隐藏Chrome 本来这种功能对AutoHotkey来说非常简 ...

  8. 每次找Internet选项感到抓狂?一键打开!

    WIN+R运行,输入inetcpl.cpl,就可以打开了!

  9. eclipse中如何打开工作空间里面已经有的项目

    File->Import->打开大类General->找到小类Existing Projects info Workspace->选择Select root dirctory, ...

随机推荐

  1. C#中打印拼接的字符串

    实例化打印文档 //声明打印对象 PrintDocument pd = new PrintDocument(); int ilvPreviewIndex = 0; 在打印事件中设置基本属性 priva ...

  2. Nginx 配置日志路径(nginx.conf没有写log路径,所以debug的时候找不到日志)

    缘由:nginx.conf没有写log路径,所以debug的时候找不到日志,遂在conf文件里写入了log路径 Setp1.nginx默认日志路径: /var/log/nginx Setp2.conf ...

  3. Hystrix监控问题

    Hystrix监控问题: pom.xml: <dependency>   <groupId>org.springframework.cloud</groupId>  ...

  4. 收下这款 Vue 项目模版,它将让你的开发效率在 2021 年提高 50%

    这是什么 vue-automation 是一款开箱即用的 Vue 项目模版,它基于 Vue CLI 4 众所周知,虽然 Vue CLI 提供了脚手架的功能,但由于官方的脚手架过于简单,运用在实际项目开 ...

  5. String Boot有哪些优点

    a.减少开发,测试时间和努力. b.使用 JavaConfig 有助于避免使用 XML.c.避免大量的 Maven 导入和各种版本冲突. d.通过提供默认值快速开始开发.没有单独的 Web 服务器需要 ...

  6. JDBC UPDATE误区

    1 package com.lykion; 2 3 import java.sql.Connection; 4 import java.sql.PreparedStatement; 5 import ...

  7. msf ms17-010利用笔记

    nmap -sV -Pn xxxxx  扫描端口and系统信息 use auxiliary/scanner/smb/smb_ms17_010   扫描模块 set Rhosts 扫描目标 use ex ...

  8. 解决Github下载仓库慢的正确姿势

    上个月刚安装了 Manjaro ,然后最近在Manjaro下载Github的项目竟然只有几十b/s,这能忍?对于下载Github上的代码是硬需求,没办法直接探索一下突破的方法了. 方法一:安装chro ...

  9. hadoop fs -stat 查看文件状态

    转载来自:https://blog.csdn.net/knowledgeaaa/article/details/24394287 当向HDFS上写文件时,可以通过设置dfs.block.size配置项 ...

  10. scala模式匹配 case a @ b语法

    class caseTest { def main(args: Array[String]): Unit = { val c = Person(Student(1),"a") c ...