TortoiseGitでアイコンが表示されなかったので直した件

Python
この記事は約4分で読めます。

PythonでPDFからデータを抽出してやろうと思いたちソースを書き始めたとき…

むらまさ
むらまさ

そういえば、複数のPCでソースを共有すれば場所に縛られずに済むぞ!

と、思い立ったら吉日!とばかりに一気に

  • Git
  • TortoiseGit+日本語言語パック

を導入して環境を整えてみた話

お前のGit、バージョン古いわ問題

もともと、VSCodeを導入してその時にプラグインでGitをインストールしたのでその際に言われるがままに導入していたGitだが、TortoiseGitをインストールした際に

この環境に入っているGitは古いんで、今入れたソフトは対応していないよ

的なメッセージが表示された(注:むらまさの脳内変換。そもそもメッセージちゃんと読んでいませんでした)ので、Gitを最新版に更新。

エクスプローラでアイコンオーバーレイが表示されない問題

かるーくGitHubでファイルを置いてファイルを同期させる手間を軽くしてやろうという作戦だったので、Gitコマンドなどは

むらまさ
むらまさ

まずは、使ってみてからっしょ!

必要あればそのうち覚えていけばいいし!

となんとも適当なノリでインストールしたTortoiseGitは、Windowsエクスプローラでリモートファイルの状態をアイコンに表示してくれるという非常に素晴らしいソフトです。

が、VSCodeで同期したファイルも、GitHub上で試しに作って同期取得したファイルにも

むらまさ
むらまさ

アイコンが表示されねー!

と、Gitド素人のわたしは途方に暮れるのでした

原因:Windowsではエクスプローラで表示できるアイコンの数に上限がある

調べてみると、同じようなことでハマった人は無数にいるらしく、原因はなんとWindowsエクスプローラで表示できるオーバーレイアイコン(上に重ねて表示するアイコンのことらしい)は15個まで!という制限があるとのこと。

今どき、数十GBのメモリのっけている環境で表示できるアイコンが15個って、どんだけ少ないんだよと思いつつ、古い環境を大切にするWindowsの良さと理解して対策を打つことにした。

対策:使わないアイコンの優先度を後ろに下げた

設定画面をみるとたしかにそんな感じのことがちっちゃく出ている!

さらに、ご丁寧にレジストリエディタを起動するボタンまでついていた。
早速ポチッと押すと、見慣れたレジストリエディタが見慣れぬエントリを選択した状態で開いた。

左側のツリーを確認すると、「Tortoisexxx」というアイコンと並んで、「OneDrivexxx」なんていうのもズラッと並んでいる。(以後、名称の後ろのxxやxxxは連番です)

どうやら、このフォルダの数が15個まで読み取っているようだ。
優先順は不明だが、おそらくソートした上から読むのではないかなと当たりをつけた。

レジストリの編集は、最悪Windowsが起動しなくなる事もある比較的リスキーな行為ですので、上のような適当な感覚で編集することはおすすめしません。
アイコンが表示されなくても最悪TortoiseGitは元気に動いているのなら特にやらなくても問題はない対応ではありますので、実行は自己責任かつ慎重に行ってください。

ついでに「Skydrivexx」なんていう、いつの話だよ?というレジストリエントリもあったので、エイヤと消してみた(繰り返し:レジストリの編集は自己責任で)。

話を戻して、名前をよく見るとなんとも姑息なことに先頭にスペースを挟むという作戦で先頭(表示優先順)をアプリ間で取り合っているらしい。

先の「OneDrive」なんかは先頭にスペースが3つも挟まっていたw

まぁ要するにこのエントリの名前をいくつか変えて「Tortoisexxx」が上に来るようにすりゃいいわけだなという安直な考えで、編集を開始した。

自分の環境の場合、OneDriveは愛用しており優先順を変更したくなく、他に「AccExtIcoxx」が上位に居たので、こいつの名前を変更することにした。
ちょっとググってみるとこいつはAdobe Creative Croudが使うもののようだ。
エクスプローラではほぼ使わんからいいでしょ。

名称を変更してやると、順番もソートされ後ろに移ってくれた。
Windowsのタスクマネージャから「エクスプローラ」を選択し、右クリックメニューから「再起動」してやるとめでたくアイコンが表示されてくれた!

そして

こんな事をやっているともう今日はタイムアップ

ソースを1行も書かずに本日は終了した

だが、余裕のある状況でこういう環境構築するのはなかなか楽しいものだ。

せっかく編集したレジストリも、Adobe Creative Croudが更新されたタイミングでレジストリも登録されてまた同じことが起きるのだろうなという事で、備忘録を兼ねてブログ記事にしてみました。

それでは、良きプログラムライフを!

コメント

タイトルとURLをコピーしました