QA@IT
«回答へ戻る

回答を投稿

VS2008で大分前にやったので記憶が定かじゃないですが、
ProvideToolWindow属性でStyle に ドックスタイルとか、Orientationとか、Windowといったオプションを指定することで実現できたと思います(VS2010でもつかえたはず)。

「どこに」にあたるのはWindowで、ToolWindowGuids80.Outputwindowや、GUIDを直接指定します。(この場合は出力ウィンドウが対象80の部分はバージョン由来なので、対象のVSによって違うものが選べたりします。)

たとえば

[MsVsShell.ProvideToolWindow(typeof(HogeHogeToolWindow), Style = VsDockStyle.Tabbed, Orientation = ToolWindowOrientation.Bottom, Transient = false, Window = ToolWindowGuid80.Outputwindow)]

のように指定します。
ツールウィンドウを追加すれば (ツールウィンドウじゃなく)アドインのクラスの属性に MsVsShell.ProvideToolWindowが追加されたような気がするんですが(違ったらごめんなさい)、それにオプションを書き足します。

ちなみにTransientはVS起動時に毎回いてほしいウィンドウなのか、起動時は開いてなくてもいいウィンドウなのか(trueのとき)というようなオプションだったと思います。

VS2008で大分前にやったので記憶が定かじゃないですが、
`ProvideToolWindow`属性で`Style` に ドックスタイルとか、`Orientation`とか、`Window`といったオプションを指定することで実現できたと思います(VS2010でもつかえたはず)。

「どこに」にあたるのはWindowで、`ToolWindowGuids80.Outputwindow`や、GUIDを直接指定します。(この場合は出力ウィンドウが対象80の部分はバージョン由来なので、対象のVSによって違うものが選べたりします。)

たとえば
```
[MsVsShell.ProvideToolWindow(typeof(HogeHogeToolWindow), Style = VsDockStyle.Tabbed, Orientation = ToolWindowOrientation.Bottom, Transient = false, Window = ToolWindowGuid80.Outputwindow)]
```
のように指定します。
ツールウィンドウを追加すれば (ツールウィンドウじゃなく)アドインのクラスの属性に `MsVsShell.ProvideToolWindow`が追加されたような気がするんですが(違ったらごめんなさい)、それにオプションを書き足します。

ちなみにTransientはVS起動時に毎回いてほしいウィンドウなのか、起動時は開いてなくてもいいウィンドウなのか(trueのとき)というようなオプションだったと思います。