その他

TypeScriptファイル(.ts)が多く存在する場合にExplorerがフリーズするのを防ぐ

TypeScriptを導入しているプロジェクトで大量の.tsファイルが存在するフォルダを開いたときにWindowsエクスプローラーがフリーズするのを防ぐ方法。


Photo by Viktor Talashuk on Unsplash
Photo by Viktor Talashuk on Unsplash

はじめに

少し前から仕事でTypeScriptを使うプロジェクトに携わっているのですが、そのシステムが結構規模が大きくかつ、あまり作りのよくないシステムのため重複コードが多くソースファイルも大量にある状態です。

まぁシステムの作り自体は今回問題ではないのですが、ある時Windowsのエクスプローラーでtsファイルが大量に存在するフォルダを開くとエクスプローラーの応答がなくなりフリーズすることに気づきました。
しかもこれが毎回フリーズするんですね。結構待ったのち復帰することもあればそのままエクスプローラーが落ちるなんてこともあり。。

全く意味が分からなかったのですが、、
調べてみるとどうもTypeScriptのtsファイルがビデオファイルとして認識されてしまっており、エクスプローラーがtsファイルたちをサムネイル表示しようとして固まっていることが原因みたいということがわかりました。

TSファイル 【 MTSファイル 】 M2TSファイル / M2Tファイル

"ts 拡張子"で検索するとTypeScriptよりもビデオファイルとしての検索が多くヒットします。

原因がわかったのち、さらに調べて対応方法もわかったので備忘として残したいと思います。

対処方法

色々と調べて↓の方法があることが判明。

  • レジストリをいじる
  • フォルダプロパティをいじる

今回はとりあえずの対応でよかったのでフォルダプロパティをいじる方法で対処します。

ちなみに空のtsファイルを作ってコピペしたものを配置したフォルダを開くと↓のようになります。

tsファイルたち

このぐらいの数でもフォルダを開くときにサムネイル形式の表示になって固まります。。

フォルダプロパティを変更する

対応方法です。プロジェクトフォルダを右クリックして"プロパティ"→"カスタマイズ"タブを表示します。

  1. フォルダーの種類を"全般"にセット
  2. "このテンプレートをすべてのサブフォルダーに適用する"をチェック

フォルダプロパティ

これでtsファイルが存在してもサムネイル形式表示とならずに通常のファイル詳細表示の状態になり、フォルダを開いたときにフリーズしなくなります。

ちなみにたいていの場合、フォルダーの種類は最初から"全般"になっているかと思います。
重要なのは下のチェックを入れて配下のtsファイルたちが存在するフォルダ含めて適用することです。

おわりに

今回はフォルダプロパティを変更する方法で対処しましたが、プロジェクトフォルダ単位ではなくPC全体として対処するにはレジストリをいじる必要があります。

とりあえず手軽に対処できる方法で備忘として書きました。