Căutați o soluție ușoară, ultra-rapidă și ușor de accesat pentru a lua note? Căutați online și veți găsi nenumărate sugestii pentru astfel de aplicații. Și totuși, chiar și cele mai „ușoare” sunt adesea neplăcute și pot veni cu funcții pe care le poți considera personal inutile.
Așadar, haideți să vedem cum vă puteți crea propria aplicație de luare de note ultra-ușoară, fulgerător de rapidă, folosind AutoHotkey. O soluție simplă de luare a notițelor, care va putea apărea instantaneu pe ecran cu o singură apăsare de tastă.
Configurarea unui plan pentru luarea de note cu AutoHotkey
Să începem prin a spune clar obiectivul nostru final și să elaborăm un plan simplu pentru a ajunge acolo.
Pentru acest proiect, nu avem nevoie de nicio formatare a textului de lux, suport pentru șabloane sau alte funcții „avansate”. Scopul nostru?
- Dorim să creăm o aplicație ultra simplă care va apărea pe ecran atunci când apăsăm o combinație de taste rapide.
- Această fereastră ne va permite să notăm o notă și să o salvăm într-un fișier text simplu/MarkDown.
Și asta este tot: fără ferestre, dialoguri, meniuri sau butoane suplimentare.
Din fericire, un astfel de proiect este ușor de construit cu AutoHotkey, așa cum vom vedea în continuare. Simțiți-vă liber să urmăriți chiar dacă nu ați mai folosit AutoHotkey înainte. Cu toate acestea, ar fi mai bine să ne verificați mai întâi ghid rapid AutoHotkey pentru începători.
Cum se instalează AutoHotkey
Deoarece AutoHotkey este o soluție terță parte, pentru a o utiliza, trebuie să o instalați.
Deci, faceți o vizită la Site-ul oficial al AutoHotkey, și faceți clic pe verdele prietenos Descarca buton. Sari peste ambele versiuni V1 (învechit) și V2 (beta) și alegeți Descărcați versiunea curentă. Apoi, instalați-l pe computer.
Nu veți putea observa nicio modificare după aceea, deoarece AutoHotkey funcționează doar ca un parser pentru scripturile AutoHotkey. Cu alte cuvinte, AutoHotkey nu „face nimic” de unul singur. În schimb, funcționează ca platformă pe care va rula scriptul pe care îl vom crea în continuare.
Cum să faci un nou script în AutoHotkey
Deschideți managerul de fișiere preferat, de exemplu Windows File Explorer, și indicați-l către directorul în care doriți să creați noul script. Puteți alege orice director de pe desktop în folderul personal Documente.
Cel mai simplu mod de a crea un nou script AutoHotkey este profitând de noua opțiune disponibilă prin meniul contextual cu clic dreapta după instalarea AutoHotkey. Faceți clic dreapta pe un loc gol al ferestrei managerului de fișiere și din meniul care apare, alegeți Nou > AutoHotkey Script.
Deoarece scripturile AutoHotkey sunt de fapt fișiere text simplu, puteți, alternativ, să creați un fișier text nou și apoi să-l redenumiți, schimbându-i extensia din TXT la AHK. Rezultatul final va fi același: veți avea un nou script AutoHotkey gol.
Porniți editorul de text sau cod preferat și deschideți acolo scriptul pentru a-l edita. Pentru acest articol, vom folosi Notepad++, dar puteți folosi orice instrument similar, cum ar fi VS Code sau Atom.
Desigur, dacă preferați să păstrați lucrurile simple, puteți utiliza întotdeauna vechiul Notepad care însoțește Windows.
Crearea unei GUI în AutoHotkey
Pentru a simplifica personalizarea viitoare a scriptului nostru, să stocăm două informații esențiale în două variabile.
- Primul, pe care l-am numit NotesPath, este mapat la calea completă în care dorim ca scriptul nostru să ne salveze notele. Vă rugăm să nu uitați să schimbați calea la cea pe care doriți să o utilizați. În caz contrar, notele dvs. vor fi salvate într-un loc neașteptat sau scriptul va eșua.
- Al doilea, pe care l-am numit FileNameExtra, conține un șir pe care îl vom folosi pentru numele de fișiere ale notelor noastre. Fișierul fiecărei note va fi denumit după o versiune „igienizată” a titlului său, urmată de acest șir.
Ar trebui să arate așa:
NotesPath = A:\00_Cloud_Storage\Dropbox\Notes\Obsidian\Duckland! Inbox
FileNameExtra = _MUOnote.md
De obicei, AutoHotkey este folosit pentru a afecta alte ferestre, așa cum am văzut în articolul nostru despre cum să centrați orice fereastră pe ecran cu AutoHotkey, sau pentru crearea tastelor rapide, pentru care puteți consulta ghidul nostru realizarea de taste rapide specifice aplicației cu AutoHotkey.
Cu toate acestea, în acest scenariu, ne vom baza foarte mult pe capabilitățile de creare a GUI ale AutoHotkey, de care mulți oameni uită. AutoHotkey „atinge” propriul „kit de instrumente pentru ferestre” Windows. Acest lucru permite crearea de interfețe grafice cu toate elementele obișnuite pe care v-ați aștepta să le găsiți într-o fereastră „standard” a sistemului de operare, de la câmpuri de text și meniuri derulante la butoane și bare de derulare.
Din fericire, deoarece realizăm o aplicație simplă și „ușoară” de luare a notelor, proiectul nu va fi complicat și, prin urmare, relativ ușor de realizat. GUI-ul nostru va consta din doar trei elemente:
- O casetă de text pentru titlul notei
- Încă una pentru conținutul notei
- Un buton pentru salvarea notei.
Nici măcar nu vom adăuga un buton „Anulare”, deoarece vom mapa acea funcție la tasta Escape de pe tastatură și acțiunea de a închide fereastra.
Adăugați linia de mai jos la scriptul dvs. - practic „spune” AutoHotkey că fontul din orice element care urmează ar trebui să fie „dimensiunea 14” și „culoarea 666666”.
Gui, QN: Font, s14c666666
În continuare, următoarea linie:
Gui, QN:Adăuga, Editați | ×, x5y5w550h60vTitlu, Titlu-Nume de fișier
- ...adaugă o casetă de text editabilă („Editare”)...
- ...la coordonatele de 5 pixeli orizontale și 5 pixeli verticale de la marginea ferestrei ("x5 y5")...
- ...cu o lățime de 550 pixeli și o înălțime de 60 pixeli ("w550 h60").
- Tot ce este introdus în el ar fi mapat la variabila Titlu ("vTitle")...
- ...și va conține textul „Titlu – Nume fișier”.
Apoi, să schimbăm dimensiunea fontului la 12 și culoarea acestuia la 4444444 pentru orice elemente care vin după acea linie.
Apoi, adăugați o casetă de text editabilă mai mare pentru conținutul real al notei, mapați-o la variabila Notă și pre-populați-o cu orice se află deja în clipboard.
În cele din urmă, adăugați un buton sub cele două casete de text și în partea de jos a ferestrei aplicației, mapat la funcția implicită OK a scriptului.
Gui, QN: Font, s12c444444
Gui, QN:Adăuga, Editați | ×, x5y70w550h600vNotă, %Clipboard%
Gui, QN:Adăuga, Buton, x5y680w550h50, Bine
Am creat o interfață grafică, dar avem nevoie și de o fereastră pentru a o afișa.
Pentru asta, următoarea linie „spune” AutoHotkey să creeze o fereastră la coordonatele 0, 0 (orizontală, verticală), cu 560 pixeli lățime și 735 pixeli înălțime, numită "MUONotes".
Gui, QN:Spectacol, x0y0w560h735, MUONote
Scriptul complet de până acum ar trebui să arate cam așa:
NotesPath = A:\00_Cloud_Storage\Dropbox\Notes\Obsidian\Duckland! Inbox
FileNameExtra = _MUOnote.md Gui, QN: Font, s14 c666666
Gui, QN:Adăuga, Editați | ×, x5y5w550h60vTitlu, Titlu-Nume de fișier
Gui, QN: Font, s12c444444
Gui, QN:Adăuga, Editați | ×, x5y70w550h600vNotă, %Clipboard%
Gui, QN:Adăuga, Buton, x5y680w550h50, Bine
Gui, QN:Spectacol, x0y0w560h735, MUONote
Faceți butoanele să facă ceva în AutoHotkey
GUI-ul nostru este gata - îl puteți verifica făcând dublu clic pe scriptul dvs.
După cum veți vedea, zona notei principale va fi pre-populată cu conținutul clipboard-ului. Cu toate acestea, aplicația în sine va fi inutilă, deoarece nu am adăugat încă suport pentru salvarea nimic.
Remediați acest lucru adăugând următoarele la script-ul dvs.:
QNBbuttonOK:
Codificare fișier, UTF-8-RAW
Gui, QN:Trimite
TempClipboard = %ClipBoard%
ClipBoard = %Title%
gosub CleanText
FileName = %ClipBoard%
ClipBoard = %TempClipboard%
FinalFilename = %NotesPath%\%FileName%%FileNameExtra%
FileDelete, %FinalFileName%
FileAppend, %Note%, %FinalFileName%
întoarcere
Să dezasamblam asta:
- „QNButtonOK:” afirmă că ceea ce urmează este ceea ce AutoHotkey „ar trebui să facă” atunci când se face clic pe butonul OK implicit al GUI.
- Linia „FileEncoding” setează codificarea fișierului text creat.
- „Gui, GN: Submit” preia starea fiecărui element GUI, ceea ce înseamnă că „prinde” tot ce este introdus în cele două câmpuri de text.
- Copiem apoi temporar conținutul actual al clipboard-ului în variabila TempClipboard.
- Facem cele de mai sus pentru că dorim să copiem titlul notei în clipboard, folosit ca intermediar pentru trimiterea acesteia la o funcție pe care o vom adăuga în continuare. Această funcție va „igieniza” textul, eliminând caracterele non-alfanumerice și permițându-ne să folosim textul titlului ca nume de fișier.
- Funcția de igienizare va returna titlul „curat” în clipboard, de unde îl mapam la variabila FileName.
- Apoi returnăm conținutul său original în clipboard din variabila TempClipboard.
- Pentru a obține calea completă și numele fișierului țintă, vom „sandwich” variabila FileName nou-asamblată între variabilele NotesPath și FileNameExtra. De aceea le-am definit la începutul scenariului.
- Ștergem preventiv orice fișier anterior cu aceeași cale și nume de fișier.
- Adăugăm conținutul variabilei Note la fișierul FinalFileName.
Dezinfectarea textului în AutoHotkey
Funcția de „igienizare” pe care am menționat-o mai sus este următoarea:
CleanText: CleanMePlease = %ClipBoard%
CleanMePlease := Regexreplace (CleanMePlease, "a-zA-Z0-9", "")
buclă
{
StringReplace, CleanMePlease, CleanMePlease, %A_SPACE%%A_SPACE%, %A_SPACE%, toate
dacă ErrorLevel <> 0
pauză
}
ClipBoard = %CleanMePlease%
Întoarcere
Pentru a o parcurge rând cu linie:
- „CleanText:” este numele funcției care „conține” acțiunile care urmează.
- Mai întâi mapăm conținutul clipboard-ului la variabila CleanMePlease.
- Folosim o regulă RegEx pentru a elimina toate caracterele non-alfanumerice din variabila CleanMePlease.
- Deoarece cele de mai sus pot introduce spații duble, folosim o buclă pentru a parcurge variabila CleanMePlease încă o dată, înlocuindu-le cu spații simple. Acesta este bitul cu cele două „%A_SPACE%”, urmate de unul singur și cuvântul „toate”.
- Linia ErrorLevel „spune” AutoHotkey să „rupă bucla” atunci când nu poate găsi mai multe spații duble în text.
- În cele din urmă, returnăm versiunea „igienizată” a variabilei CleanMePlease în clipboard.
Efectuarea ultimelor ajustări la aplicația dvs. de luare de note
Scriptul dvs. de luare de note este gata de utilizat, dar dacă îl încercați, este posibil să vedeți fereastra să apară și să dispară instantaneu. Asta pentru că, de asemenea, trebuie să „întoarceți” fiecare funcție pe care ați definit-o în ea.
Așadar, plasați cuvântul „retur” (fără ghilimele) sub:
- Partea scriptului care creează GUI, sub GUI, linia „QN: Show...”.
- Funcția „QNButtonOK”, sub linia finală „FileAppend...”.
- Funcția CleanText, sub ultima linie „ClipBoard =...”.
Cu toate acestea, dacă încercați să rulați scriptul acum, veți vedea că rămâne încă în tava Windows după ce îl utilizați. Pentru ca aplicația să se închidă și scriptul să iasă complet, adăugați următoarele la sfârșit:
QNGuiEscape:
QNGuiClose:
ExitApp
întoarcere
În cele din urmă, pentru ca aplicația să ruleze instantaneu ori de câte ori aveți nevoie, creați o comandă rapidă pentru scriptul dvs. pe desktop. Apoi, faceți clic dreapta pe el, alegeți Proprietăți, faceți clic în Scurtătură câmp și apăsați combinația de butoane dorită.
Felicitări pentru crearea primei aplicații în AutoHotkey
S-ar putea să fi sunat inițial ca un proiect complicat, dar, după cum am văzut, crearea unei aplicații de luare de note „lite” a fost destul de simplă.
Toate datorită sintaxei AutoHotkey prietenoase cu oamenii și capacității de a profita de elementele implicite legate de GUI ale Windows.