/ / Cách tạo ứng dụng ghi chú nhanh của riêng bạn với AutoHotkey

Cách tạo ứng dụng ghi chú nhanh của riêng bạn với AutoHotkey

Bạn đang tìm kiếm một giải pháp ghi chú nhẹ nhàng, cực nhanh, dễ tiếp cận? Tìm kiếm trực tuyến và bạn sẽ tìm thấy vô số gợi ý cho các ứng dụng như vậy. Chưa hết, ngay cả những cái “nhẹ nhất” cũng thường cồng kềnh và có thể đi kèm với các tính năng mà cá nhân bạn có thể coi là vô dụng.


Vì vậy, hãy xem cách bạn có thể tạo ứng dụng ghi chú tùy chỉnh cực nhẹ, cực nhanh, cực nhanh bằng cách sử dụng AutoHotkey. Một giải pháp ghi chú đơn giản, không rườm rà có thể bật lên màn hình của bạn ngay lập tức chỉ với một lần nhấn phím.


Thiết lập kế hoạch ghi chú với AutoHotkey

Hãy bắt đầu bằng cách nêu rõ mục tiêu cuối cùng của chúng ta và lập một kế hoạch đơn giản để đạt được mục tiêu đó.

Đối với dự án này, chúng tôi không cần bất kỳ định dạng văn bản ưa thích nào, hỗ trợ cho các mẫu hoặc các tính năng “nâng cao” khác. Mục tiêu của chúng tôi?

  • Chúng tôi muốn tạo một ứng dụng cực kỳ đơn giản sẽ xuất hiện trên màn hình của chúng tôi khi chúng tôi nhấn tổ hợp phím nóng.
  • Cửa sổ này sẽ cho phép chúng ta ghi lại một ghi chú và lưu nó vào tệp plaintext / MarkDown.

Và đó là tất cả — không có thêm cửa sổ, hộp thoại, menu hoặc nút.

Rất may, một dự án như vậy rất dễ xây dựng với AutoHotkey, như chúng ta sẽ thấy ở phần tiếp theo. Hãy thoải mái theo dõi ngay cả khi bạn chưa sử dụng AutoHotkey trước đây. Tuy nhiên, tốt nhất là bạn nên xem hướng dẫn AutoHotkey nhanh dành cho người mới bắt đầu trước của chúng tôi.

Cách cài đặt AutoHotkey

Vì AutoHotkey là một giải pháp của bên thứ ba, để sử dụng nó, bạn cần phải cài đặt nó.

Vì vậy, hãy truy cập trang web chính thức của AutoHotkey và nhấp vào màu xanh lá cây thân thiện Tải xuống cái nút. Bỏ qua cả hai phiên bản V1 (không dùng nữa) và V2 (beta) và chọn Tải xuống phiên bản hiện tại. Sau đó, cài đặt nó trên máy tính của bạn.

Bạn sẽ không thể nhận thấy bất kỳ thay đổi nào sau đó vì AutoHotkey chỉ hoạt động như một trình phân tích cú pháp cho các tập lệnh AutoHotkey. Nói cách khác, AutoHotkey không tự “làm bất cứ điều gì”. Thay vào đó, nó hoạt động như một nền tảng mà tập lệnh chúng ta sẽ tạo ra tiếp theo sẽ chạy.

Cách tạo tập lệnh mới trong AutoHotkey

Mở trình quản lý tệp yêu thích của bạn, như Windows File Explorervà trỏ nó đến thư mục mà bạn muốn tạo tập lệnh mới của mình. Bạn có thể chọn bất kỳ thư mục nào từ máy tính để bàn đến thư mục Tài liệu cá nhân của mình.

Cách dễ nhất để tạo tập lệnh AutoHotkey mới là tận dụng tùy chọn mới có sẵn thông qua menu ngữ cảnh nhấp chuột phải sau khi cài đặt AutoHotkey. Bấm chuột phải vào vị trí trống của cửa sổ trình quản lý tệp và từ menu xuất hiện, hãy chọn Mới > Tập lệnh AutoHotkey.

Vì tập lệnh AutoHotkey thực sự là các tệp văn bản thuần túy, bạn có thể tạo một tệp văn bản mới và sau đó đổi tên nó, thay đổi phần mở rộng của nó từ TXT đến AHK. Kết quả cuối cùng sẽ giống nhau: bạn sẽ có một tập lệnh AutoHotkey trống mới.

Kích hoạt trình soạn thảo văn bản hoặc mã yêu thích của bạn và mở tập lệnh ở đó để chỉnh sửa. Đối với bài viết này, chúng tôi sẽ sử dụng Notepad ++, nhưng bạn có thể sử dụng bất kỳ công cụ nào tương tự, như VS Code hoặc Atom.

Tất nhiên, nếu bạn thích giữ mọi thứ đơn giản, bạn luôn có thể sử dụng Notepad cũ tốt đi kèm với Windows.

Tạo GUI trong AutoHotkey

Để đơn giản hóa việc tùy chỉnh tập lệnh của chúng ta trong tương lai, hãy lưu trữ hai phần thông tin thiết yếu trong hai biến.

  • Đường đầu tiên, mà chúng tôi đặt tên là NotesPath, được ánh xạ tới đường dẫn đầy đủ mà chúng tôi muốn tập lệnh của mình lưu các ghi chú của chúng tôi. Hãy nhớ thay đổi đường dẫn đến đường dẫn bạn muốn sử dụng. Nếu không, ghi chú của bạn sẽ được lưu vào một vị trí không mong muốn hoặc tập lệnh sẽ bị lỗi.
  • Thứ hai, chúng tôi đặt tên là FileNameExtra, chứa một chuỗi mà chúng tôi sẽ sử dụng cho tên tệp của ghi chú của chúng tôi. Mỗi tệp của ghi chú sẽ được đặt tên theo phiên bản “được làm sạch” của tiêu đề của nó, theo sau là chuỗi này.

Nó sẽ giống như thế này:

NotesPath = A:0_Cloud_StorageDropboxNotesObsidianDuckland!Inbox
FileNameExtra = _MUOnote.md

Thông thường, AutoHotkey được sử dụng để ảnh hưởng đến các cửa sổ khác, như chúng ta đã thấy trong bài viết của chúng tôi về cách căn giữa bất kỳ cửa sổ nào trên màn hình của bạn bằng AutoHotkey hoặc để tạo phím nóng, bạn có thể xem hướng dẫn của chúng tôi về cách tạo phím nóng cho ứng dụng cụ thể với AutoHotkey.

Tuy nhiên, trong trường hợp này, chúng ta sẽ phụ thuộc rất nhiều vào khả năng tạo GUI của AutoHotkey, điều mà nhiều người quên mất. AutoHotkey “khai thác vào” bộ công cụ cửa sổ “của riêng Windows. Điều này cho phép tạo GUI với tất cả các yếu tố thông thường mà bạn mong đợi tìm thấy trong cửa sổ OS “tiêu chuẩn”, từ các trường văn bản và menu thả xuống đến các nút và thanh cuộn.

Rất may, vì chúng tôi đang tạo ra một ứng dụng ghi chú đơn giản và “nhẹ nhàng”, nên dự án sẽ không phức tạp và do đó, tương đối dễ tạo. GUI của chúng tôi sẽ chỉ bao gồm ba yếu tố:

  1. Một hộp văn bản cho tiêu đề của ghi chú
  2. Một cái khác cho nội dung của ghi chú
  3. Một nút để lưu ghi chú.

Chúng tôi thậm chí sẽ không thêm nút “Hủy” vì chúng tôi sẽ ánh xạ chức năng đó với phím Escape trên bàn phím và hành động đóng cửa sổ.

Thêm dòng bên dưới vào tập lệnh của bạn – về cơ bản nó “nói” với AutoHotkey rằng phông chữ trong bất kỳ phần tử nào theo sau phải là “kích thước 14” và “màu 666666”.

Gui, QN:Font, s14 c666666

Tiếp theo, dòng sau:

Gui, QN:Add, Edit, x5 y5 w550 h60 vTitle, Title - Filename
  1. … thêm một hộp văn bản có thể chỉnh sửa (“Chỉnh sửa”) …
  2. … ở tọa độ 5 pixel theo chiều ngang và 5 pixel theo chiều dọc từ mép cửa sổ (“x5 y5”) …
  3. … với chiều rộng 550 pixel và chiều cao 60 pixel (“w550 h60”).
  4. Mọi thứ được nhập vào đó sẽ được ánh xạ tới biến Tiêu đề (“vTitle”) …
  5. … và nó sẽ chứa văn bản “Tiêu đề – Tên tệp”.

Tiếp theo, hãy thay đổi kích thước phông chữ thành 12 và màu của nó thành 4444444 cho bất kỳ phần tử nào đứng sau dòng đó.

Sau đó, thêm một hộp văn bản có thể chỉnh sửa lớn hơn cho nội dung thực của ghi chú, ánh xạ nó với biến Ghi chú và điền trước vào bất kỳ thứ gì đã có trong khay nhớ tạm.

Cuối cùng, thêm một nút bên dưới hai hộp văn bản và ở cuối cửa sổ ứng dụng, được ánh xạ tới chức năng OK mặc định của tập lệnh.

Gui, QN:Font, s12 c444444
Gui, QN:Add, Edit, x5 y70 w550 h600 vNote, %Clipboard%
Gui, QN:Add, Button, x5 y680 w550 h50, OK

Chúng tôi đã tạo GUI, nhưng chúng tôi cũng cần một cửa sổ để hiển thị nó.

Vì vậy, dòng sau “yêu cầu” AutoHotkey tạo một cửa sổ ở tọa độ 0, 0 (ngang, dọc), với chiều rộng 560 pixel và chiều cao 735 pixel, có tên là “MUONotes”.

Gui, QN:Show, x0 y0 w560 h735, MUONotes

Toàn bộ tập lệnh cho đến nay sẽ trông giống như sau:

NotesPath = A:0_Cloud_StorageDropboxNotesObsidianDuckland!Inbox
FileNameExtra = _MUOnote.md Gui, QN:Font, s14 c666666
Gui, QN:Add, Edit, x5 y5 w550 h60 vTitle, Title - Filename
Gui, QN:Font, s12 c444444
Gui, QN:Add, Edit, x5 y70 w550 h600 vNote, %Clipboard%
Gui, QN:Add, Button, x5 y680 w550 h50, OK
Gui, QN:Show, x0 y0 w560 h735, MUONotes

Làm cho các nút làm điều gì đó trong AutoHotkey

GUI của chúng tôi đã sẵn sàng — bạn có thể kiểm tra bằng cách nhấp đúp vào tập lệnh của mình.

Như bạn sẽ thấy, khu vực của ghi chú chính sẽ được điền sẵn nội dung của khay nhớ tạm. Tuy nhiên, bản thân ứng dụng sẽ vô dụng vì chúng tôi chưa thêm hỗ trợ để lưu bất kỳ thứ gì.

Khắc phục điều đó bằng cách thêm phần sau vào tập lệnh của bạn:

QNButtonOK:
FileEncoding, UTF-8-RAW
Gui, QN:Submit
TempClipboard = %ClipBoard%
ClipBoard = %Title%
gosub CleanText
FileName = %ClipBoard%
ClipBoard = %TempClipboard%
FinalFilename = %NotesPath%%FileName%%FileNameExtra%
FileDelete, %FinalFileName%
FileAppend, %Note%, %FinalFileName%
return

Hãy tháo rời nó:

  1. “QNButtonOK:” nói rằng những gì đến sau là những gì AutoHotkey “nên làm” khi nhấp vào nút OK mặc định của GUI.
  2. Dòng “FileEncoding” đặt mã hóa của tệp văn bản đã tạo.
  3. “Gui, GN: Submit” lấy trạng thái của mọi phần tử GUI, có nghĩa là nó cũng “lấy” bất cứ thứ gì được nhập vào hai trường văn bản.
  4. Sau đó, chúng tôi tạm thời sao chép nội dung thực tế của khay nhớ tạm vào biến TempClipboard.
  5. Chúng tôi làm như vậy vì chúng tôi muốn sao chép tiêu đề của ghi chú vào khay nhớ tạm, được sử dụng làm trung gian để gửi nó đến một chức năng mà chúng tôi sẽ thêm vào tiếp theo. Chức năng này sẽ “làm sạch” văn bản, loại bỏ các ký tự không phải chữ và số và cho phép chúng tôi sử dụng văn bản của tiêu đề làm tên tệp.
  6. Hàm sanitization sẽ trả lại tiêu đề “sạch” vào khay nhớ tạm, từ đó chúng tôi ánh xạ nó với biến FileName.
  7. Sau đó, chúng tôi trả lại nội dung ban đầu của nó vào khay nhớ tạm từ biến TempClipboard.
  8. Để có được đường dẫn đầy đủ và tên tệp của tệp đích, chúng tôi “kẹp” biến FileName mới được lắp ráp giữa các biến NotesPath và FileNameExtra. Đó là lý do tại sao chúng tôi định nghĩa chúng ở phần đầu của kịch bản.
  9. Chúng tôi xóa trước bất kỳ tệp nào trước đó có cùng đường dẫn và tên tệp.
  10. Chúng tôi nối nội dung của biến Note vào tệp FinalFileName.

Dọn dẹp văn bản trong AutoHotkey

Chức năng “sanitization” mà chúng tôi đã đề cập ở trên là như sau:

CleanText: CleanMePlease = %ClipBoard%
CleanMePlease := Regexreplace(CleanMePlease, "a-zA-Z0-9", " ")
loop
{
StringReplace, CleanMePlease, CleanMePlease, %A_SPACE%%A_SPACE%, %A_SPACE%, all
if ErrorLevel <> 0
break
}
ClipBoard = %CleanMePlease%
Return

Để đọc từng dòng một:

  1. “CleanText:” là tên của hàm “chứa” các hành động theo sau.
  2. Đầu tiên, chúng tôi ánh xạ nội dung của khay nhớ tạm sang biến CleanMePlease.
  3. Chúng tôi sử dụng quy tắc RegEx để xóa tất cả các ký tự không phải chữ và số khỏi biến CleanMePlease.
  4. Vì phần trên có thể giới thiệu các khoảng trắng, chúng tôi sử dụng một vòng lặp để lược qua biến CleanMePlease một lần nữa, thay thế chúng bằng các khoảng trắng đơn. Đó là bit với hai “% A_SPACE%”, theo sau là một và từ “tất cả”.
  5. Dòng ErrorLevel “yêu cầu” AutoHotkey “ngắt vòng lặp” khi nó không thể tìm thấy thêm khoảng trắng trong văn bản.
  6. Cuối cùng, chúng tôi trả lại phiên bản “đã được khử trùng” của biến CleanMePlease vào khay nhớ tạm.

Thực hiện các chỉnh sửa cuối cùng cho ứng dụng ghi chú của bạn

Tập lệnh ghi chú của bạn đã sẵn sàng để sử dụng, nhưng nếu bạn dùng thử, bạn có thể thấy cửa sổ của nó bật lên và biến mất ngay lập tức. Đó là bởi vì bạn cũng cần phải “trả về” từng hàm mà bạn đã xác định trong đó.

Vì vậy, hãy đặt từ “return” (không có dấu ngoặc kép) dưới:

  1. Phần tạo GUI của tập lệnh, bên dưới GUI, dòng “QN: Hiển thị …”.
  2. Hàm “QNButtonOK”, dưới dòng “FileAppend …” cuối cùng.
  3. Hàm CleanText, dưới dòng “ClipBoard = …” cuối cùng.

Tuy nhiên, nếu bạn thử chạy tập lệnh của mình ngay bây giờ, bạn sẽ thấy nó vẫn nằm trong khay Windows sau khi sử dụng. Để đóng ứng dụng và tập lệnh thoát hoàn toàn, hãy thêm phần sau vào cuối:

QNGuiEscape:
QNGuiClose:
ExitApp
return

Cuối cùng, để ứng dụng chạy ngay lập tức bất cứ khi nào bạn cần, hãy tạo một lối tắt cho tập lệnh trên màn hình của bạn. Sau đó, nhấp chuột phải vào nó, chọn Đặc tínhnhấp vào Phím tắt và nhấn tổ hợp nút mong muốn của bạn.

Chúc mừng bạn đã tạo ứng dụng đầu tiên của mình trong AutoHotkey

Ban đầu nó có vẻ là một dự án phức tạp, nhưng như chúng ta đã thấy, việc tạo một ứng dụng ghi chú “lite” khá đơn giản.

Tất cả là nhờ vào cú pháp thân thiện với con người của AutoHotkey và khả năng tận dụng các yếu tố liên quan đến GUI mặc định của Windows.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *