ツールウィンドウの表示まではマスターしました。
今までわかったことをまとめると、
- 表示されなくなったときはCreateToolWindow2に渡すGuidを変更するとうまくいく。
逆に一度表示されなくなったGuidは何をしても無駄。
(前回のの時間軸に取り残された圭一たち古いGuidに割り当てられたツールウィンドウがどうなってるのか気になりますが) - OnConnectでVisible=trueするとOnLoadが走るが表示はされない。
- OnStartupCompleteでVisible=trueすると実際に表示される。
前回OnBeginShutdownでVisible=falseにしていれば表示位置が復元される。 - もちろんExecでVisible=trueしても実際に表示される。
- .NETなツールウィンドウは基本的にドッキングできないが、いったん非.NETなツールウィンドウにドッキングさせると以降はタイトルバーをダブルクリックすることでその場所にドッキングするようになる。
ただし機械的にほかのツールウィンドウとドッキングさせると配置が崩れるので、一旦ほかの.NETなツールウィンドウとドッキングさせてから手動でドッキングさせる。 - OnBeginShutdownでVisible=falseすると前回の表示位置が保存される。
ただし、表示/非表示は自前で管理しなければならない→OnStartupComplete。 - ツールバーの色はオーナードローしない限りVisualStudioと同じ色にはならない。
- CreateToolWindow2を呼び出す一連の流れはメソッドに分離できる。