次の方法で共有


ToolWindows インターフェイス

ネイティブ型のシェルのツール ウィンドウに簡単にアクセスできるようにすることで、オブジェクト モデル内でのツール ウィンドウの発見可能性および利便性を高めます。

名前空間:  EnvDTE80
アセンブリ:  EnvDTE80 (EnvDTE80.dll 内)

構文

'宣言
<GuidAttribute("19AC6F68-3019-4D65-8D98-404DFB96B8E2")> _
Public Interface ToolWindows
[GuidAttribute("19AC6F68-3019-4D65-8D98-404DFB96B8E2")]
public interface ToolWindows
[GuidAttribute(L"19AC6F68-3019-4D65-8D98-404DFB96B8E2")]
public interface class ToolWindows
[<GuidAttribute("19AC6F68-3019-4D65-8D98-404DFB96B8E2")>]
type ToolWindows =  interface end
public interface ToolWindows

ToolWindows 型で公開されるメンバーは以下のとおりです。

プロパティ

  名前 説明
パブリック プロパティ CommandWindow CommandWindow オブジェクトを取得します。
パブリック プロパティ DTE トップ レベルの機能拡張オブジェクトを取得します。
パブリック プロパティ ErrorList IDE に表示されるエラーの一覧を取得します。
パブリック プロパティ OutputWindow OutputWindow オブジェクトを取得します。
パブリック プロパティ SolutionExplorer ソリューション エクスプローラー を表す UIHierarchy オブジェクトを取得します。
パブリック プロパティ TaskList TaskList オブジェクトを取得します。
パブリック プロパティ ToolBox ToolBox オブジェクトを取得します。

このページのトップへ

メソッド

  名前 説明
パブリック メソッド GetToolWindow ユーザーがウィンドウをタイトルで取得できるようにします。

このページのトップへ

解説

Visual Studio のツール ウィンドウには、メンバー プロパティを使用してアクセスできます。他のツール ウィンドウは、GetToolWindow 関数を使用して指定できます。

この例では、"My output" というタイトルの出力ウィンドウを追加し、アクティブにして、親 ToolWindows オブジェクトの Collection オブジェクトを通じて到達したツール ウィンドウをすべて表示します。このアドインの例を実行する方法の詳細については、「方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する」を参照してください。

Imports EnvDTE
Imports EnvDTE80
Public Sub OnConnection(ByVal application As Object, _
 ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
 ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    OutputToolWindow(_applicationObject)
End Sub
Public Sub OutputToolWindow(ByVal dte As DTE2)
    Dim myOut As OutputWindow
    myOut = _applicationObject.ToolWindows.OutputWindow
    Dim myPane As OutputWindowPane
    Dim txt As String
    txt = ""
    MsgBox("Creating an output window.")
    myPane = myOut.OutputWindowPanes.Add("My output")
    myPane.Activate()
    MsgBox("Adding some text to the output window...")
    myPane.OutputString("This is the collection of tool windows, _
 reached through the Output Window object:" & vbCr)
    For Each tempWindow As EnvDTE80.Window2 In myOut.Parent.Collection
        txt = txt & (tempWindow.Caption & vbCr)
    Next tempWindow
    MsgBox("Displaying all the tool window captions _
 in the Output window...")
    myPane.OutputString(txt)
End Sub
using EnvDTE;
using EnvDTE80;
using System.Windows.Forms;
public void OnConnection(object application, 
ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    OutputToolWindow(_applicationObject);
}
public void OutputToolWindow(DTE2 dte)
{
    OutputWindow myOut;
    myOut = _applicationObject.ToolWindows.OutputWindow;
    OutputWindowPane myPane;
    String txt = null;
    MessageBox.Show("Creating an output window.");
    myPane = myOut.OutputWindowPanes.Add("My output");
    myPane.Activate();
    MessageBox.Show("Adding some text to the output window...");
    myPane.OutputString("This is the collection of tool
 windows,reached through the Output Window object:" + "\n");
    foreach (EnvDTE80.Window2 tempWindow in myOut.Parent.Collection)
    {
        txt = txt + (tempWindow.Caption + "\n");
    }
    MessageBox.Show("Displaying all the tool window captions 
in the output window...");
    myPane.OutputString(txt);
}

参照

関連項目

EnvDTE80 名前空間