Text Expander III Scripting Fill Ins

TextExpander este o aplicație puternică pentru productivitatea Mac. Extinde automat comenzile rapide de la tastatură - sau abrevieri-în blocuri mai lungi de text-fragmente de cod

Dacă trimiteți în mod repetat aceleași e-mailuri de bază sau scrieți aceleași informații, cum ar fi o adresă sau un număr de telefon, TextExpander face viața mai ușoară.

În ultimele două tutoriale, în această serie, m-am uitat la început TextExpander și cum să utilizați funcții mai avansate, cum ar fi completarea și macrocomenzile de timp și date.

În acest tutorial, mă voi uita la utilizarea limbilor de scripting cum ar fi JavaScript și AppleScript în completați ins.

screencast

TextExpander și limbi de scriere

TextExpander acceptă trei limbi de scriere: Shell Script, JavaScript și AppleScript. În scopul acestui tutorial, mă voi concentra pe ultimele două, deoarece acestea sunt cele mai flexibile. Cu limbile de scripting puteți adăuga logică la dvs. TextExpander completați ins.

De exemplu, într-unul dintre fragmentele de exemplu din acest tutorial, folosesc funcția de completare returnează un rezultat diferit, în funcție de ce zi este când o utilizați. Un alt fragment de exemplu returnează un răspuns aleatoriu dintr-o serie de răspunsuri multiple posibile. Acestea sunt ambele imposibil de făcut TextExpander fără un limbaj de scripting.

Dintre cele trei oferite, JavaScript este cel mai util cu care lucrează și el TextExpander Touch, aplicația însoțitoare iOS pe care o voi examina în următorul tutorial din această serie.

Cerințe preliminare

Pentru a utiliza acest tutorial, veți avea nevoie de cea mai recentă versiune de TextExpander instalat. Costă 44.95 dolari - deși există o încercare gratuită de 30 de zile - și poate fi descărcată de pe site-ul dezvoltatorului.

Veți avea nevoie să fiți familiarizați TextExpander și umple. Dacă nu sunteți deja, cel mai bun mod de a obține până la viteza este de a verifica cele două tutoriale anterioare din această serie:

  • TextExpander: Introducere
  • TextExpander II: Umpleți Ins și macrocomenzi

Mai mult, în acest tutorial, folosesc niște JavaScript și AppleScript foarte simple. Nu este nevoie să fiți familiarizați cu niciunul dintre limbi, deși vă ajută. 

Pentru a afla mai multe despre JavaScript puteți să accesați acest tutorial Code.Tuts + și pentru a afla mai multe despre AppleScript, puteți consulta acest tutorial chiar aici pe Computers.Tuts+.

Utilizarea logicii simple cu JavaScript

Primul fragment pe care îl creez revine fie Mă voi întoarce mâine sau Mă voi întoarce după weekend în funcție de ziua de weekend sau de o zi de weekend - inclusiv vineri.

Pentru acest fragment, folosesc funcția de date încorporată a JavaScripts. Pentru mai multe informații despre specificații, puteți găsi documentația aici.

Creați un fragment nou și setați-l Conţinut la JavaScript. Atribuiți-i o abreviere simplă și relevantă.

Apoi, trebuie să creați o variabilă care să dețină informațiile despre data de astăzi. Pentru a face acest lucru, introduceți var astăzi = dată nouă (); ca prima linie a fragmentului.

Pe rândul următor, introduceți today.setDate (TextExpander.baseDate.getDate ());. Aceasta stabilește astăzi variabilă până la data curentă.

Rezultatul unui fragment care utilizează implicit o limbă de scriptare este ultima declarație executată în fragment. 

Pentru a termina, trebuie să verificați dacă este vineri, sâmbătă sau duminică. Următoarele în cazul în buclă acest lucru și, în funcție de rezultat, returnează una dintre cele două propoziții posibile. Adăugați codul de mai jos în fragmentul dvs. pentru a finaliza.

if (today.getDay () == 5 || today.getDay () == 6 || today.getDay () == 0) 'Voi reveni la tine dupa week-end. „;  altceva "Mă voi întoarce mâine. „; 

Când introduceți abrevierea, în funcție de zi, fie veți spune oamenilor că veți răspunde mâine, fie după sfârșitul săptămânii.

Bacsis: Rețineți că fragmentele pot fi încorporate în alte fragmente. Fragmentul de răspuns dependent de această zi poate fi utilizat în cadrul oricăror fragmente de e-mail pe care le aveți.

Crearea unei umpleri randomizate cu JavaScript

O problemă cu fragmente este că ele pot fi foarte rigide. Dacă fiecare dintre e-mailurile dvs. are aceeași structură, cu puțină sau fără variante, veți apărea înfundat și prea formal. Cu limbile de scripting puteți să depășiți acest lucru prin adăugarea unor fragmente la fragmentele dvs..

TextExpander echipa sugerează un fragment care selectează întâmplător un salut de închidere dintr-un număr de exemplare acceptabile, cum ar fi A ta cu adevărat, Cu sinceritate și Pacea afară. Aceasta este o mare utilizare pentru această metodă. Pentru acest tutorial, totuși, o folosesc pentru ceva diferit.

Rezultatele executării întrebării aleatorii se completează de mai multe ori.

Am încercat să mă pricep mai bine să țin un jurnal, totuși, destul de des nu sa întâmplat nimic în timpul zilei care merită scris. Când se întâmplă asta, nu scriu, rupând astfel obiceiul. 

Pentru a depăși acest lucru, am creat următorul fragment care mă solicită cu un lucru aleatoriu să scriu despre orice moment în care am nevoie de ceva.

Din nou, începeți prin crearea unui nou fragment și stabilirea acestuia Conţinut la JavaScript. Atribuiți-i o abreviere, cum ar fi xjournal.

Acest fragment necesită două părți, o matrice care stochează toate valorile posibile și logica pentru a selecta una la întâmplare. Mai întâi, voi crea matricea. Aceasta este doar cea mai simplă metodă de declarare a unui matrice cu JavaScript.

Copiați și inserați codul de mai jos în fragmentul dvs. Simțiți-vă liber să modificați conținutul matricei la orice colecție de fragmente la care doriți să selectați aleatoriu.

var qList = ["_Scrieți despre una dintre cele mai mari inspirații.", "_Scrieți despre unul dintre cei mai mari influențatori", "_Scrieți despre unul dintre cele mai bune locuri pe care le-ați avut vreodată.", "_Scrieți despre un nebun adventure._ "," _Scrieți despre o fotografie pe care ați făcut-o. "," _Scrieți despre una dintre cele mai bune zile din viața voastră. "," _Scrieți despre una dintre cele mai grave zile ale vieții voastre. "," te-ai schimba despre tine? "," Scrie despre una dintre cele mai mari succese ale tale "," _Scrie despre unul dintre cele mai mari regrete. "," _Cum vrei sa fii un an de astazi? "," vrei să faci un an de zile de astăzi? "," _Scrieți despre unul dintre persoanele preferate._ "," _Scrieți despre una dintre cărțile dvs. preferate "," _Scrieți despre unul dintre filmele preferate. "," _Write despre unul dintre artiștii tăi preferați de muzică. "

Cu matricea creată, este timpul să selectați aleatoriu din ea. Acest lucru necesită trei linii de cod: unul pentru a număra câte fragmente există, unul pentru a selecta un număr aleator între care este mai mic sau egal cu cel, și unul pentru a selecta fragmentul care se încadrează la poziția numărului aleatoriu în matrice.

Adăugați următoarele trei linii în fragmentul dvs. pentru a face acest lucru.

var qLength = qListă lungime var qRandom = Math.floor ((Math.random () * qLength)); QList [qRandom]

Acum, când introduceți abrevierea, o întrebare aleatorie va fi returnată.

Bacsis: Sublinierii fac întrebările italice atunci când scrieți într-o aplicație jurnalistică - cum ar fi Ziua 1-care susține Markdown.

Același fragment cu AppleScript

Deși prefer să utilizez JavaScript, deoarece lucrează cu TextExpander Touch, AppleScript are, de asemenea, fanii săi. Mai jos este codul pentru întrebarea jurnal aleatoriu scris în AppleScript. Puteți vedea că utilizează exact aceeași logică, singura diferență fiind limba utilizată.

setați qListați la "_Scrieți despre una dintre cele mai mari inspirații.", "_Scrieți despre unul dintre cei mai mari influențatori.", "_Scrieți despre unul dintre cele mai bune locuri pe care le-ați avut vreodată.", "_Scrieți despre un nebun adventure._ "," _Scrieți despre o fotografie pe care ați făcut-o. "," _Scrieți despre una dintre cele mai bune zile din viața voastră. "," _Scrieți despre una dintre cele mai grave zile ale vieții voastre. "," te-ai schimba despre tine? "," Scrie despre una dintre cele mai mari succese ale tale "," _Scrie despre unul dintre cele mai mari regrete. "," _Cum vrei sa fii un an de astazi? "," vrei să faci un an de zile de astăzi? "," _Scrieți despre unul dintre persoanele preferate._ "," _Scrieți despre una dintre cărțile dvs. preferate "," _Scrieți despre unul dintre filmele preferate. "," _Write despre unul dintre artiștii tăi preferați de muzică. " set listăLungime pentru a număra qList set randomNumber la (număr aleator de la 1 la listăLength) set selectQ la element randomNumber de qList return selectQ

Concluzie

În acest tutorial m-am uitat la utilizarea limbilor de scripting pentru a adăuga logică simplă la fragmente. În timp ce v-am arătat cum să obțineți un fragment, returnați diferite valori, fie la întâmplare, fie în funcție de zi, acestea sunt doar elementele de bază ale ceea ce puteți face cu limbile de scripting și TextExpander. Dacă îl puteți scrie în JavaScript, îl puteți rula în TextExpander.

Mi-ar plăcea să văd cum folosesc alte limbi de scripting TextExpander așa că, dacă o faceți, anunțați-ne în comentariile de mai jos.