2014年5月6日 星期二

[AHK] Notepad++自動存檔 AHK Npp Autosave

有在用Notepad++的人應該知道Autosave這個Plugin,它可以設定Notepad++定時、或是失去焦點時儲存所有文件。但它在存檔時會切換Tab,平常如果設置失去焦點時儲存就沒什麼問題,但定時存的就很麻煩了。

Notepad++的自動換行一向不是很好,最近開著自動換行在騰稿,每次一切Tab視窗就會自動捲動。後來想到NPP內建有儲存所有檔案的功能,於是就寫了這支Script。讓它常駐在系統列,Notepad++在失去焦點時就會自動存檔。

下面就直接給Source

#SingleInstance Force
#MaxThreadsPerHotkey 1
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
 
loop 
{
    IfWinNotActive, ahk_class Notepad++
    {
        WinWaitActive, ahk_class Notepad++
    }
    
    loop
    {
        WinWaitNotActive, ahk_class Notepad++
        IfWinActive, ahk_class #32770
        {
            WinWaitNotActive, ahk_class #32770
        }
        else
        {
            break
        }
    }
    SendMessage, 0x111, 41007, 0,, ahk_class Notepad++
;   TrayTip,, Saved, 1
}

唯一的缺點,當NPP收到「儲存所有檔案」的命令時,如果有新開的未存檔案,就會跳出詢問檔案儲存位置的視窗。對習慣開新檔案立即存檔的人沒什麼影響,否則建議配合Takenotes Plugin一起使用。

沒有留言:

張貼留言