Raycast-給用Mac又懶的人

Jae Huang
Mar 26, 2023

--

https://9to5mac.com/2021/06/09/raycast-for-mac-keyboard-shortcuts-scripts-command/

大部分使用Mac的人應該都熟悉Spotlight的功能,這是一個方便的工具,可以幫助使用者快速地開啟應用程式、搜尋文件,以及執行基本的功能,像計算等,而且不需要使用滑鼠,提高了使用效率。

看到大家大推Raycast以後,我也下載來用用看,但用了兩三個月一直覺得沒有比Spotlight厲害多少啊……

直到我看了這個影片

這時候才發現我到底浪費了他多久,所以決定來好好探索他有什麼可以幫我做的。

計算機

對,第一個還是計算機。這跟Spotlight基本上一樣,沒什麼好說的。

再來就是我開始陷進去的地方了

Snippet

Snippet是可以把設定好的關鍵字代換成常用的長文字的功能,這個功能不用叫出Raycast,只要正常的輸入就會自動代換。常見的情境大概就是把地址設定成類似 ^address或^add 這樣的關鍵字。

我打地址的機會很少,但我找到了另一個我更常用的情境,就是打指令。

平常我都會固定開著一個frequentCommand的文件,裡面存一堆我常用到的指令,要查log的時候就要從十幾個視窗裡找到那個文件的視窗然後複製我要的指令再貼到terminal。現在我就設定指令的前半段固定的地方換成 #lessproA,就可以在不用離開terminal的情況下很快輸入指令。

less /mnt/folderName/log/projectName/20230223/log-20230223.log
# spare typing "less /mnt/folderName/log/projectName" with keyword "#lessproA"

Quicklinks

Snippet和Quicklinks都是Raycast大家非常常用的功能。除了輸入以外,Quicklinks也大大縮減了我開啟常用的網頁的時間。網路上太多應用範例了,就不多說。

用VSCode開啟特定Project (給開發者)

重點來了,Snippet和Quicklinks已經用得很開心了。但除了輸入和開網頁以外,我一直覺得要常常在VSCode裏切換或開啟不同的project很困擾。

我平常的開啟步驟是開新VSCode視窗,找到我要的project資料夾,打開。雖然也只是幾秒鐘,但運氣不好的時候一天要做個四五次。最後我找到了兩個方式來幫我解決這個問題。

第一個方式比較正規一點。Raycast內有很多擴充功能,其中一個叫Visual Studio Code — Project Manager,它是將VSC的Project Manager擴充延伸到Raycast。所以只要在VSC裏把project資料夾設定成專案,就可以用Raycast開啟指定專案。

第二個方式就比較客製。因為VSC可以設定使用code 這個關鍵字從terminal開啟,Raycast也支援執行存好的shell script,同時可以針對特定shell script設定關鍵字,因此,只需準備好這個script,然後讓Raycast讀取,就可以透過關鍵字快速打開你要的專案了!

#!/bin/bash

# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title demoScript
# @raycast.mode compact

# Optional parameters:
# @raycast.icon 🤖

# echo "Hello World!"
code /Users/userPanther/Desktop/DemoFolder/DemoProject
替script設定關鍵字

設定完以後的開啟過程就是這樣

有用的地方講完了,再來講無用的地方。

播放/暫停音樂和音量大小聲

真的很廢,但我就不用碰滑鼠了

執行完成程式來個喝采

廢中之廢。Raycast的每個功能都有他的deeplink,只要使用deeplink就能讓我們不用叫出他就能執行特定功能。

這時候,只要把這個deeplink塞到程式碼裡面,像這樣

import subprocess
import time
# not important here
print("Hello from Python")
time.sleep(1)
print("It's a long day")
time.sleep(1)
print("Let's celebrate we finished it!!")

# celebrate for me
bashCommand = "open -g raycast://extensions/raycast/raycast/confetti"
process = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIPE)

實際執行這個程式就會長這樣,非常的無用,但就是爽。

總結來說,他就是從各方面減少開啟多個程式和切換視窗的時間,讓我們可以專注在目標本身,而不是切換的過程。

避免這種事的發生。

--

--

Jae Huang
Jae Huang

Written by Jae Huang

Data Engineer with expertise in Python. Data enthusiast.

No responses yet