Existe um comando para limpar a janela imediata no Visual Studio?
Eu odeio ter que pegar o mouse para clicar com o botão direito do mouse no menu - prefiro apenas digitar "cls" ou algo assim.
Existe um comando para limpar a janela imediata no Visual Studio?
Eu odeio ter que pegar o mouse para clicar com o botão direito do mouse no menu - prefiro apenas digitar "cls" ou algo assim.
Respostas:
Para limpar a janela imediata, você pode usar >cls
, que é um alias de comando predefinido para >Edit.ClearAll
.
O artigo do MSDN lista todos os aliases predefinidos e você também pode definir o seu próprio. (Para VS 2010 e anteriores, aliases personalizados são descritos em um artigo separado, no entanto.) Digitalizar através, há toda uma série deles, alguns dos quais podem até ter suas raízes na MS-DOS DEBUG.EXE (especificamente >d
, >g
, >p
, >q
, e> t
vêm à mente).
Também vale a pena notar, visto que são apenas duas teclas para pressionar: Menu de contexto> Limpar tudo invoca o mesmo comando e pode ser navegado usando o teclado. Na janela imediata, você pode pressionar context-menu
, L
.
Se você não tiver uma context-menu
tecla no teclado (você sabe, aquela entre right-alt
e right-ctrl
), você pode usar shift
+ em F10
vez disso.
>
é importante. Não consegui pensar em uma maneira natural de torná-lo mais explícito na resposta. Além disso, consulte a janela Immediate no MSDN para obter mais dicas úteis.
>cls
parece fazer isso por mim.
encontrei...
"> Editar.ClearAll"
ou
"> cls"
Aqui está como fazer isso em tempo de execução:
Consulte as dlls EnvDTE em seu aplicativo.
Crie e use esta função conforme necessário.
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
para VisualStudio.DTE.11.0
e funcionou. Também aqui encontrei uma sintaxe mais curta para a mesma resposta: http://stackoverflow.com/a/16873888/2721611
Para o Visual Studio 2012, eu uso:
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
para limpar automaticamente a janela imediata dos códigos (requer adicionar referências DTE ao projeto). Se não funcionar VisualStudio.DTE.8.0
, tente VisualStudio.DTE.9.0
, de ...
acordo com sua versão do estúdio visual.
Eu usei a última resposta quase literalmente e funcionou, embora eu quisesse o foco de volta onde estava. Aqui está a versão C # ligeiramente melhorada. Eu habilito com um switch de configuração.
#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! */ }