답변:
직접 실행 창을 지우려면 >cls
에 미리 정의 된 명령 별칭 인 을 사용할 수 있습니다 >Edit.ClearAll
.
MSDN 문서 에는 미리 정의 된 모든 별칭이 나열되어 있으며 직접 정의 할 수도 있습니다. (VS 2010 및 이전 버전의 경우, 사용자 정의 별칭 불구하고 별도의 문서에 설명되어 있습니다.)를 통해 스캔, 심지어 MS-DOS DEBUG.EXE에서 자신의 뿌리를 (해야 할 수도 있습니다 일부는 이들의 전체 슬루가있다 특히 >d
, >g
, >p
, >q
, 그리고> t
떠오르십시오).
또한 두 개의 키만 누르면됩니다. 컨텍스트 메뉴> 모두 지우기는 동일한 명령을 호출하며 키보드를 사용하여 탐색 할 수 있습니다. 직접 실행 창에서는 누를 수 있습니다 context-menu
, L
.
키보드에 context-menu
키 가없는 경우 ( right-alt
과 사이에 있는 키right-ctrl
) 대신 shift
+ F10
를 사용할 수 있습니다 .
>
중요하다. 대답에서 더 명확하게 만드는 자연스러운 방법을 생각할 수 없었습니다. 또한 더 유용한 팁은 MSDN의 직접 실행 창 을 참조하십시오 .
다음은 런타임에 수행하는 방법입니다.
애플리케이션에서 EnvDTE dll을 참조하십시오.
필요에 따라이 함수를 만들고 사용합니다.
Public Sub ClearImmediateWindow()
Try
Dim vsWindowKindImmediateWindow As String _
= "{ECB7191A-597B-41F5-9843-03A4CF275DDE}"
Try
Dim obj As Object = System.Runtime.InteropServices.Marshal._
GetActiveObject("VisualStudio.DTE.10.0")
If obj IsNot Nothing Then
Dim DTE2 As EnvDTE80.DTE2 = CType(obj, EnvDTE80.DTE2)
For Each wndw As EnvDTE.Window In DTE2.Windows
If wndw.ObjectKind = vsWindowKindImmediateWindow Then
wndw.Activate()
DTE2.ExecuteCommand("Edit.ClearAll")
Exit For
End If
Next
End If
Catch comEx As COMException
' Not running from within the VS IDE?
Catch ex As Exception
Throw ex
End Try
Catch ex As Exception
' Handle this as you desire.
End Try
End Sub
End Sub
VisualStudio.DTE.10.0
하여 VisualStudio.DTE.11.0
작동했습니다. 또한 여기에서 동일한 답변의 더 짧은 구문을 찾았습니다. http://stackoverflow.com/a/16873888/2721611
Visual Studio 2012의 경우 다음을 사용합니다.
Public Sub ClearImmediateWindow()
Dim dte As EnvDTE80.DTE2 = Marshal.GetActiveObject("VisualStudio.DTE.11.0")
dte.Windows.Item("Immediate Window").Activate() 'Activate Immediate Window
dte.ExecuteCommand("Edit.SelectAll")
dte.ExecuteCommand("Edit.ClearAll")
Marshal.ReleaseComObject(dte)
End Sub
코드에서 즉시 창을 자동으로 지우려면 (프로젝트에 DTE 참조를 추가해야 함) 이 시도 작품을하지 않으면 VisualStudio.DTE.8.0
, VisualStudio.DTE.9.0
, ...
시각적 스튜디오 버전에 따라.
나는 마지막 대답을 그대로 사용했으며 작동하지만 원래 위치에 초점을 맞추고 싶었습니다. 다음은 매우 약간 향상된 C # 버전입니다. 구성 스위치로 활성화합니다.
#if DEBUG
if (GetIni("Debug", "ClearImmediateWindow", true)) {
try {
var dte = (EnvDTE.DTE) Marshal.GetActiveObject("VisualStudio.DTE.15.0");
var me = dte.ActiveWindow;
dte.Windows.Item("Immediate Window").Activate();
dte.ExecuteCommand("Edit.ClearAll");
me.Activate();
}
catch { /* Meh! */ }