サイト内検索
Translation here

2017/01/06(金)Notepad++で自動保存機能を使っている人向け:トラブルシューティング:自動保存していたドキュメントがいきなり消えた時に見るページ

notepad.PNG

うおぉ、マジで焦ったぞ……!
間違っても、notepad+++をインストールした直後の画面ではない、と言っときます。

お疲れ様です、野村(@official_nomura)です。
今日はついにやらかしてしまったか、と思うほどに衝撃を受けたお話です。

本日の対象者

  • 高機能エディタを愛用している方
  • notepad++ユーザー
  • ブログの記事をローカルで書いている方

本日の議題

notepad++のアップデートは待ってください

この記事はアップデート時にやらかしたお話です。

問題の画面*1

期待値
notepad想定.PNG


実情
notepad.PNG


扉絵ですけど、原因は分かりますかね?
色々想像できますが、別のPCで開いているから、というしょーもない理由ではありません。

*1 : 【聡い方へ】こんなヤバい情報を生データで提供しているのも、私が所有しない端末でキャプチャしたものだからです。こういう特定が簡単なユーザー名をつけるのはやめた方がいいと思います。

解答

updateする際に環境設定を書き換えたからです。
APPDATAを使用していた場合、APPDATAを使わないように設定を書き換えてインストールしました。
そうすると参照するパスが変わりますので、new nnで書いていた記事が消えたように見えます。

つまり、use APPDATAを
  • ONにした(C:\Users\(ユーザー名)\AppData\Roaming\notepad++\ )か、
  • OFFにした(C:\Program Files\notepad++\ )*2か、
を間違えて切り替えてしまった場合です。

インストール時はuse APPDATAをONにしていたが、間違えてOFFでアップデートしてしまった(可逆)
という場合に起こります。
大体これが原因と言って差し支えないでしょう。

*2 : ここではProgram Filesをデフォルト設定でインストールしたものとします。Program Files(x86)や違うフォルダを指定した場合は適宜読み替えてください。

復旧方法

ON、OFFの状況を想定しますので、上記ディレクトリはどちらでも持っています。
backupフォルダ以下に入っているファイルを今開いているNotepad++にそのまま突っ込むとファイルが読めます。

念のため書いておきますが、そのファイル自体はテンポラリ領域ではなく、backupというフォルダの下にあるファイルを開いたという処理なので、newファイルではなくなっています。

カラクリ

リバースエンジニアリングをしたわけでもドキュメントを読んだわけでもない、私が理解した範囲ですが……
Notepad++の設定(T)→環境設定→自動保存のセッションスナップショットと定期的なバックアップ設定がONになっている場合、設定されているフォルダにファイルをテンポラリで作るようになっています。
7秒周期で変更を監視していて、変更が確認できれば保存する、という事をやっているようです。
補足
前回まで開いていたドキュメントが起動時に開かれるのが嫌な人、結構多いみたいなんで書いておきますが、ここで上記機能をオフにすることで、純粋なタブ型高機能テキストエディタとして使えます。
私はむしろ保存しなくてもいい事を利用して大量にメモを書き並べる用途として使っています。

ありえなくもないので書きますが……
この方法の場合、ディスクに都度書き込むため、空き容量が0Byteだった場合はファイルが壊れる可能性があります。
ファイルに変更を加えない場合はファイルの保存自体が行われないので大丈夫かとは思いますが、マシンの健康状態と言う意味では既に大丈夫ではないので早い段階で解決するようにしましょう。
また、notepad++自体のアップデートも失敗している可能性が考えられます。よく注意してください。

対策

new nnでファイルを放置するのはやめて、しっかりと保存する癖をつけた方がいくつか安心です。
そういう意味では、backup領域を離れたnew nn@YYYYmmdd*3ファイルは既に保存されたドキュメント、という扱いになります。
本当はちゃんとしたファイル名をつけてあげて、正しく管理してあげるのが良いです。

*3 : 【YYYYmmdd】私はヤマダと呼んでいるんですが、素直にワイワイワイワイエムエムディーディーっていう人の方が多いんでしょうか?YYmmddもYmdもやまだ。今夜がやまだ(20170105)

代替案

むしろテンポラリファイルでもアップロードすればいいんじゃないでしょうか?
WordPressにはクイックドラフトという機能がありますが、そういう事を言いたいんじゃない!という私のために、adiaryがマルチブログ可だという事を逆に利用してこんなブログを作る事にしました。
stub:profile

以下の記事もよく読まれます

OK キャンセル 確認 その他