Sublime Text3 + Shift_JIS > ConvertToUTF8 > Has changed on disk. Do you want to reload it?


動作環境
Windows 7 Pro (32bit)
Sublime Text 3 Build 3143 (以下SL3)

症状

SL3で編集中に数分おきに以下のメッセージが表示される。

Sublime Text
[ソースファイル名]

Has changed on disk.
Do you want to reload it?

Shift_JISファイル(.c, .h)を修正しているときに起きるようだ。
Shift_JISにはConvertToUTF8を使用しているが、その処理を"Has changed on disk."と認識してしまう。

Sublime Text2では起きなかった症状だ。

対策

  1. UTF8で編集して、チェックイン前にShift_JISに変換する
  2. Sublime Text2 + ConvertToUTF8を使う
  3. 他のエディタ(Visual Studio Codeなど)を使う

方法1はエンコーディング変換忘れが起きそう。
方法2は古いSL2をいつまで使って問題ないかという懸念はある。
方法3は、VS Codeの「関数リスト取得できない不具合」がなければ使うのだが。

過去の膨大なソースがあるため、Shift_JISのコードをUTF8にするのは現実的ではないだろう。