最新寫了一個python腳本,另外在終端上運行一個shell腳本循環記錄一些性能、耗時參數。取出記錄的數據,使用python pyplot強大的繪圖功能來可視化,易用程度僅次於matlab。
本次文件覆蓋杯具前1秒的狀態
sublime text 3 打開了plot.py
激活窗口不在sublime
sublime升級一個版本,恰好Local history不工作
先上解決辦法:
- 絕對不要切sublime窗口,vim打開sublime設置
vim /Users/youname/Library/Application Support/Sublime Text 3/Packages/User/Preferences.sublime-settings
- 在json配置大括號下一行增加
"always_prompt_for_file_reload": true,
保存退出 - 准備好快捷鍵截屏 Cmd+Shift+3
- 激活plot.py代碼窗口, 同時按截屏快捷鍵,截屏只是為了萬一不彈出窗口,代碼被沖的瞬間,還能截出來一部分代碼。
- 我這里一切按照預想,看到sublime彈出file has changed on disk, do you want to reload it 當然選NO了!! 可以氣定神閑地復制一下原來的代碼,或者保存一下,再把當前屏幕內的代碼重新刷回原來的plot.py文件中。
事情的緣由是這樣的:
為了簡便把adb pull和python腳本在mac的terminal中一次運行了。
- 終端shell中執行
while true; do echo
ls |grep MyApp; sleep 2; done
adb pull /data/a.file && ./plot.py a.file
一次增加對比數據的操作中,把&&刪了.
adb pull /data/b.file ./plot.py b.file
敲完后發現沒畫出圖,稍作反應頓時驚呆,意識到python代碼沒了😂😂
默念一遍 出現文件異常時,千萬什么都不要做,還有機會找回
目前用的編輯器是sublime text 3, 回想到到此時激活窗口還在terminal黑窗里,覺得sublime緩存的文件可能還有戲。首先看了/Users/yourname/Library/Application Support/Sublime Text 3/Cache,過濾之后發現沒有什么代碼緩存。 非常后悔升級后沒有立即把local history修好。
然后就嘗試了篇頭的辦法增加"always_prompt_for_file_reload": true,
,激活sublime窗口瞬間敲下截屏快捷鍵。最終虛驚一場,利用這個彈出窗成功恢復了所有代碼!! 截屏中也留存了一部分代碼。 歡呼吧~