VSProject.DTE プロパティ
トップレベルの機能拡張オブジェクトを取得します。
名前空間: VSLangProj
アセンブリ: VSLangProj (vslangproj.dll 内)
構文
'宣言
'使用
プロパティ値
DTE オブジェクトを返します。
解説
Visual Studio では、DTE オブジェクトがオートメーション モデルのルート オブジェクトです。他のオブジェクト モデルでは、多くの場合、"アプリケーション" と呼ばれます。
使用例
Sub DTEExample(ByVal dte As DTE2)
Dim msg As String = _
"The current Output Window object belongs to the "
Dim output As OutputWindow = dte.ToolWindows.OutputWindow
If IsMacrosIDE(output.DTE) Then
MsgBox(msg & "macros IDE.")
Else
MsgBox(msg & "main IDE.")
End If
output = CType(dte.MacrosIDE, DTE2).ToolWindows.OutputWindow
If IsMacrosIDE(output.DTE) Then
MsgBox(msg & "macros IDE.")
Else
MsgBox(msg & "main IDE.")
End If
End Sub
Function IsMacrosIDE(ByVal ide As DTE) As Boolean
Dim val As Boolean = True
Try
' The MacrosIDE property will throw an exception if ide
' isn't the main DTE object
If IsNothing(ide.MacrosIDE) = False Then
val = False
End If
Catch ex As Exception
End Try
Return val
End Function
public void DTEExample(DTE2 dte)
{
string msg = "The current Output Window object belongs to the ";
OutputWindow output = dte.ToolWindows.OutputWindow;
if (IsMacrosIDE(output.DTE))
MessageBox.Show(msg + "macros IDE.");
else
MessageBox.Show(msg + "main IDE.");
output = ((DTE2)dte.MacrosIDE).ToolWindows.OutputWindow;
if (IsMacrosIDE(output.DTE))
MessageBox.Show(msg + "macros IDE.");
else
MessageBox.Show(msg + "main IDE.");
}
bool IsMacrosIDE(DTE ide)
{
bool val = true;
try
{
// The MacrosIDE property will throw an exception if ide
// isn't the main DTE object
if (ide.MacrosIDE != null)
val = false;
}
catch (Exception ex)
{
}
return val;
}
参照
処理手順
方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する