VS用のプラグインを作成したことはありませんが、MicrosoftのサイトにはSDKと多くの情報もありました。 .Netの新しいタスクバーを操作するために、 Windows API Code Packというライブラリとサンプルの既製セットも用意されています。
技術的な詳細
「Visual Studioアドイン」テンプレートプロジェクトを作成した後は、メソッドにコードを入力するだけです。
public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
public void OnDisconnection(ext_DisconnectMode disconnectMode, ref Array custom)
public void OnStartupComplete(ref Array custom)
public void OnBeginShutdown(ref Array custom)
最初の3つを使用しました。
- OnConnection-タスクバーのサポートを確認します
- OnStartupComplete-サプリメントを開始するには、
- OnDisconnection-正しいシャットダウンのため。
タスクバーのサポートの確認は次のようになります。
if (!TaskbarManager.IsPlatformSupported)
{
MessageBox.Show("Win7taskbar plugin requires to be run on Windows 7", "Plugin needs Windows 7", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
インターフェイス_applicationObject.Events.BuildEvents、_applicationObject.Events.DebuggerEvents、_applicationObject.Events.SolutionEventsは、アセンブリの開始/終了、デバッグモードへの移行、ソリューションの開始/終了を通知する一連のイベントを提供します。
_applicationObject.ToolWindows.TaskListを使用して 、スタジオのエラーと警告のリストを取得できます。
タスクバーの操作方法については、 こちらのすばらしいガイドから学びました。 残りは技術の問題でした。
どうした
現在、アセンブリ中に進行状況インジケーターが表示されます(残念ながら、スタジオは完了率を報告しません)。
アセンブリの完了時に警告またはエラーがある場合、タスクバーにアイコンの1つが表示されます。
さらに、3〜4つのスタジオのインスタンスを頻繁に開くため、アクション「ソリューションのビルド」、「デバッグ」、および「実行」にThumbnailToolbarを追加することも決定しました。
おわりに
結果の結果をmsiにパッケージ化し、 Visual Studioギャラリーにアップロードしました;また、念のために、narod.ruに投稿されたzipアーカイブのファイルもダウンロードしました。
それは私のために働く、私もあなたを願っています! ;)