Könnyű, ultragyors, könnyen elérhető jegyzetelési megoldást keres? Keressen az interneten, és számtalan javaslatot talál az ilyen alkalmazásokhoz. Mégis, még a „legkönnyebbek” is gyakran esetlenek, és olyan funkciókkal is járhatnak, amelyeket Ön személy szerint haszontalannak tart.
Lássuk tehát, hogyan hozhat létre saját ultrakönnyű, rendkívül gyors, egyedi jegyzetkészítő alkalmazást az AutoHotkey segítségével. Egy egyszerű, zökkenőmentes jegyzetelési megoldás, amely egyetlen gombnyomással azonnal megjelenik a képernyőn.
Jegyzetkészítési terv összeállítása az AutoHotkey segítségével
Kezdjük azzal, hogy világosan megfogalmazzuk végső célunkat, és dolgozzunk ki egy egyszerű tervet az eléréshez.
Ehhez a projekthez nincs szükségünk semmilyen divatos szövegformázásra, sablonok támogatására vagy egyéb "speciális" szolgáltatásokra. A mi célunk?
- Szeretnénk létrehozni egy rendkívül egyszerű alkalmazást, amely megjelenik a képernyőn, amikor megnyomunk egy gyorsbillentyű-kombinációt.
- Ez az ablak lehetővé teszi számunkra, hogy feljegyezzünk egy jegyzetet, és elmentsük egy egyszerű szöveges/MarkDown fájlba.
És ez minden – nincsenek extra ablakok, párbeszédpanelek, menük vagy gombok.
Szerencsére egy ilyen projektet könnyű felépíteni az AutoHotkey segítségével, amint azt a továbbiakban látni fogjuk. Nyugodtan kövessen akkor is, ha még nem használta az AutoHotkey-t. Azonban lehet, hogy a legjobb, ha először megnézné nálunk Gyors AutoHotkey útmutató kezdőknek.
Az AutoHotkey telepítése
Mivel az AutoHotkey egy harmadik féltől származó megoldás, használatához telepítenie kell.
Tehát látogassa meg Az AutoHotkey hivatalos oldala, és kattintson a barátságos zöldre Letöltés gomb. Hagyja ki a V1-es (elavult) és a V2-es (béta) verziót is, és válassza ezt Töltse le az aktuális verziót. Ezután telepítse a számítógépére.
Utána nem fog észrevenni semmilyen változást, mivel az AutoHotkey csak az AutoHotkey szkriptek elemzőjeként működik. Más szóval, az AutoHotkey önmagában nem "csinál semmit". Ehelyett az a platform, amelyen a következő elkészítendő szkript futni fog.
Hogyan készítsünk új szkriptet az AutoHotkey-ben
Nyissa meg kedvenc fájlkezelőjét, például Windows File Explorer, és mutasson arra a könyvtárra, ahol létre szeretné hozni az új szkriptet. Bármely könyvtárat kiválaszthatja az asztaláról a személyes Dokumentumok mappába.
Az új AutoHotkey szkript létrehozásának legegyszerűbb módja az, hogy kihasználja az AutoHotkey telepítése után a jobb gombbal kattintva elérhető helyi menüben elérhető új lehetőséget. Kattintson a jobb gombbal a fájlkezelő ablakának egy üres helyére, és a megjelenő menüből válassza a lehetőséget Új > AutoHotkey Script.
Mivel az AutoHotkey szkriptek valójában egyszerű szöveges fájlok, alternatívaként létrehozhat egy új szövegfájlt, majd átnevezheti azt, megváltoztatva a kiterjesztését TXT nak nek AHK. A végeredmény ugyanaz lesz: új, üres AutoHotkey szkriptje lesz.
Indítsa el kedvenc szöveg- vagy kódszerkesztőjét, és nyissa meg a szkriptet a szerkesztéshez. Ebben a cikkben a Notepad++ alkalmazást fogjuk használni, de használhat bármilyen hasonló eszközt, például a VS Code-ot vagy az Atomot.
Természetesen, ha a dolgokat szereti egyszerűvé tenni, mindig használhatja a jó öreg Jegyzettömböt, amely a Windowshoz tartozik.
GUI készítése az AutoHotkey-ben
A szkriptünk jövőbeni testreszabásának egyszerűsítése érdekében tároljunk két lényeges információt két változóban.
- Az első, amelyet NotesPath-nek neveztünk el, a teljes elérési útra van leképezve, ahol azt szeretnénk, hogy a szkript mentse a jegyzeteinket. Kérjük, ne felejtse el megváltoztatni az elérési utat a használni kívántra. Ellenkező esetben a jegyzetei váratlan helyre kerülnek, vagy a szkript meghiúsul.
- A második, amelyet FileNameExtra-nak neveztünk el, egy karakterláncot tartalmaz, amelyet a jegyzeteink fájlnevére fogunk használni. Minden jegyzet fájlja a címének „megtisztított” változata után lesz elnevezve, amelyet ez a karakterlánc követ.
Így kell kinéznie:
NotesPath = A:\00_Cloud_Storage\Dropbox\Notes\Obsidian\Duckland! Beérkezett üzenetek
FileNameExtra = _MUOnote.md
Általában az AutoHotkey-t más ablakok befolyásolására használják, amint azt a cikkünkben láttuk hogyan helyezhet középre bármely ablakot a képernyőn az AutoHotkey segítségével, vagy gyorsbillentyűk létrehozásához, amelyekhez megtekintheti útmutatónkat alkalmazás-specifikus gyorsbillentyűk létrehozása az AutoHotkey segítségével.
Ebben a forgatókönyvben azonban nagymértékben támaszkodunk az AutoHotkey grafikus felület-létrehozási képességeire, amelyekről sokan megfeledkeznek. Az AutoHotkey „belecsap” a Windows saját „ablak eszköztárába”. Ez lehetővé teszi olyan grafikus felhasználói felületek létrehozását, amelyek minden szokásos elemet tartalmaznak, amelyek egy "szabványos" operációs rendszer ablakában megtalálhatók, a szövegmezőktől és a legördülő menüktől a gombokig és görgetősávokig.
Szerencsére, mivel egy egyszerű és "könnyű" jegyzetkészítő alkalmazást készítünk, a projekt nem lesz bonyolult, és így viszonylag könnyen elkészíthető. GUI-nk mindössze három elemből áll majd:
- Egy szövegdoboz a jegyzet címéhez
- Egy másik a jegyzet tartalmához
- Egy gomb a jegyzet mentéséhez.
Még csak "Mégse" gombot sem adunk hozzá, mivel ezt a funkciót leképezzük a billentyűzet Escape billentyűjére és az ablak bezárására.
Adja hozzá az alábbi sort a szkripthez - ez alapvetően azt mondja az AutoHotkey-nek, hogy a következő elemek betűtípusának "14-es méret" és "szín 666666" kell lennie.
Gui, QN:Betűtípus, s14c666666
Ezután a következő sor:
Gui, QN:Hozzáadás, Szerkesztés, x5y5w550h60vTitle, Cím-Fájl név
- ...egy szerkeszthető szövegmezőt ad hozzá ("Szerkesztés")...
- ...az ablak szélétől 5 pixel vízszintes és 5 pixel függőleges koordinátákon ("x5 y5")...
- ...550 képpont szélességgel és 60 pixel magassággal ("w550 h60").
- Minden, ami be van írva, a Title változóhoz lesz leképezve ("vTitle")...
- ...és a "Cím - Fájlnév" szöveget fogja tartalmazni.
Ezután változtassuk meg a betűméretet 12-re, a színét pedig 4444444-re a sor után következő elemeknél.
Ezután adjon hozzá egy nagyobb szerkeszthető szövegmezőt a jegyzet tényleges tartalmához, rendelje hozzá a Jegyzet változóhoz, és töltse fel előre a vágólapon lévő bármivel.
Végül adjon hozzá egy gombot a két szövegmező alá és az alkalmazás ablakának aljára, amely a szkript alapértelmezett OK funkciójához van hozzárendelve.
Gui, QN:Betűtípus, s12c444444
Gui, QN:Hozzáadás, Szerkesztés, x5y70w550h600vMegjegyzés, %Vágólap%
Gui, QN:Hozzáadás, Gomb, x5y680w550h50, rendben
Létrehoztunk egy grafikus felhasználói felületet, de szükségünk van egy ablakra is a megjelenítéséhez.
Ehhez a következő sor "megmondja" az AutoHotkey-nak, hogy hozzon létre egy ablakot 0, 0 koordinátákkal (vízszintes, függőleges), 560 pixel szélességgel és 735 pixel magassággal, "MUONotes" néven.
Gui, QN:Előadás, x0y0w560h735, MUONjegyzetek
Az eddigi teljes szkriptnek valahogy így kell kinéznie:
NotesPath = A:\00_Cloud_Storage\Dropbox\Notes\Obsidian\Duckland! Beérkezett üzenetek
FileNameExtra = _MUOnote.md Gui, QN: Font, s14 c666666
Gui, QN:Hozzáadás, Szerkesztés, x5y5w550h60vTitle, Cím-Fájl név
Gui, QN:Betűtípus, s12c444444
Gui, QN:Hozzáadás, Szerkesztés, x5y70w550h600vMegjegyzés, %Vágólap%
Gui, QN:Hozzáadás, Gomb, x5y680w550h50, rendben
Gui, QN:Előadás, x0y0w560h735, MUONjegyzetek
A gombok működése az AutoHotkey segítségével
A grafikus felhasználói felületünk készen áll – ellenőrizheti, ha duplán kattint a szkriptre.
Amint látni fogja, a fő jegyzet területe előre ki lesz töltve a vágólap tartalmával. Maga az alkalmazás azonban használhatatlan lesz, mert még nem adtunk hozzá támogatást a mentéshez.
Javítsa ki a hibát a következő hozzáadásával a szkripthez:
QNButtonOK:
Fájlkódolás, UTF-8-RAW
Gui, QN:Beküldés
TempClipboard = %ClipBoard%
Vágólap = %Cím%
gosub CleanText
Fájlnév = % ClipBoard%
Vágólap = %TempClipboard%
FinalFilename = %NotesPath%\%FileName%%FileNameExtra%
FileDelete, %FinalFileName%
FileAppend, %Note%, %FinalFileName%
Visszatérés
Szereljük szét:
- A "QNButtonOK:" azt mondja ki, hogy az AutoHotkey-nek ezt követően "kell csinálnia", amikor a grafikus felhasználói felület alapértelmezett OK gombjára kattintanak.
- A "FileEncoding" sor beállítja a létrehozott szövegfájl kódolását.
- A „Gui, GN: Submit” minden grafikus felhasználói felület elem állapotát megragadja, ami azt jelenti, hogy a két szövegmezőbe írt bármit is „megfogja”.
- Ezután ideiglenesen átmásoljuk a vágólap tényleges tartalmát a TempClipboard változóba.
- A fentieket azért tesszük, mert a jegyzet címét a vágólapra akarjuk másolni, közvetítőként használva egy olyan funkcióhoz, amelyet ezután hozzáadunk. Ez a funkció "megtisztítja" a szöveget, eltávolítja a nem alfanumerikus karaktereket, és lehetővé teszi számunkra, hogy a cím szövegét fájlnévként használjuk.
- A fertőtlenítő funkció visszaadja a "clean" címet a vágólapra, ahonnan leképezzük a FileName változóra.
- Ezután a TempClipboard változóból visszaállítjuk az eredeti tartalmát a vágólapra.
- A célfájl teljes elérési útjának és fájlnevének megszerzéséhez az újonnan összeállított FileName változót a NotesPath és a FileNameExtra változók közé helyezzük. Ezért definiáltuk őket a forgatókönyv elején.
- Előzetesen töröljük az azonos elérési úttal és fájlnévvel rendelkező korábbi fájlokat.
- A Megjegyzés változó tartalmát hozzáfűzzük a FinalFileName fájlhoz.
A szöveg fertőtlenítése az AutoHotkey-ben
A fent említett "fertőtlenítő" funkció a következő:
CleanText: CleanMePlease = %ClipBoard%
CleanMePlease := Regexreplace (CleanMePlease, "a-zA-Z0-9", "")
hurok
{
StringReplace, CleanMePlease, CleanMePlease, %A_SPACE%%A_SPACE%, %A_SPACE%, mind
ha ErrorLevel <> 0
szünet
}
Clipboard = %CleanMePlease%
Visszatérés
Ha soronként szeretné végigmenni rajta:
- "CleanText:" annak a függvénynek a neve, amely "tartalmazza" a következő műveleteket.
- Először leképezzük a vágólap tartalmát a CleanMePlease változóra.
- RegEx szabályt használunk az összes nem alfanumerikus karakter eltávolítására a CleanMePlease változóból.
- Mivel a fentiek dupla szóközöket vezethetnek be, egy ciklus segítségével még egyszer átfésüljük a CleanMePlease változót, és egyszeres szóközökkel helyettesítjük. Ez az a bit, amelyben a két „%A_SPACE%” szerepel, ezt követi egy egyetlen, és az „all” szó.
- Az ErrorLevel sor „mondja” az AutoHotkey-nek, hogy „szakítsa meg a hurkot”, ha nem talál több kettős szóközt a szövegben.
- Végül visszatesszük a CleanMePlease változó „megtisztított” változatát a vágólapra.
Végezze el a jegyzetkészítő alkalmazás utolsó módosításait
Jegyzetkészítő szkriptje használatra kész, de ha kipróbálja, előfordulhat, hogy az ablaka felugrik, és azonnal eltűnik. Ennek az az oka, hogy minden benne meghatározott függvényt "vissza kell adnia".
Tehát tegye a "vissza" szót (idézőjelek nélkül) a következő alá:
- A szkript grafikus felhasználói felületet létrehozó része a grafikus felhasználói felület alatt, "QN: Show..." sor.
- A "QNButtonOK" funkció az utolsó "FileAppend..." sor alatt.
- A CleanText függvény az utolsó „ClipBoard =...” sor alatt.
Ha azonban most megpróbálja futtatni a szkriptet, látni fogja, hogy a használat után is a Windows tálcán marad. Az alkalmazás bezárásához és a szkript teljes kilépéséhez adja hozzá a következőket a legvégén:
QNGuiEscape:
QNGuiClose:
ExitApp
Visszatérés
Végül, hogy az alkalmazás azonnal futhasson, amikor csak szüksége van rá, hozzon létre egy parancsikont a szkripthez az asztalon. Ezután kattintson rá jobb gombbal, válassza ki Tulajdonságok, kattintson a Gyorsbillentyű mezőbe, és nyomja meg a kívánt gombkombinációt.
Gratulálunk, hogy elkészítette első alkalmazását az AutoHotkey-ben
Kezdetben bonyolult projektnek tűnhetett, de mint láttuk, egy "könnyű" jegyzetkészítő alkalmazás létrehozása meglehetősen egyszerű volt.
Mindez az AutoHotkey emberbarát szintaxisának és a Windows alapértelmezett grafikus felhasználói felülettel kapcsolatos elemeinek kihasználására való képességének köszönhető.