Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio Visual Studio立即窗口命令,用于清除所有_Visual Studio_Visual Studio 2008_Immediate Window - Fatal编程技术网

Visual studio Visual Studio立即窗口命令,用于清除所有

Visual studio Visual Studio立即窗口命令,用于清除所有,visual-studio,visual-studio-2008,immediate-window,Visual Studio,Visual Studio 2008,Immediate Window,在VisualStudio中是否有清除即时窗口的命令 我讨厌在那里用鼠标右键点击菜单——宁愿键入“cls”之类的东西。找到了 “>Edit.ClearAll” 或 “>cls”要清除即时窗口,您可以使用>cls,它是>编辑的预定义工具。ClearAll 列出所有预定义的别名,您也可以定义自己的别名。(对于VS 2010和更早版本,在另一篇文章中进行了描述。)浏览一下,有一大堆,其中一些甚至可能源于MS-DOS DEBUG.EXE(特别是>d,>g,>p,>q,以及>t) 另外值得注意的是,只需

在VisualStudio中是否有清除即时窗口的命令

我讨厌在那里用鼠标右键点击菜单——宁愿键入“cls”之类的东西。

找到了

“>Edit.ClearAll”


“>cls”

要清除即时窗口,您可以使用
>cls
,它是
>编辑的预定义工具。ClearAll

列出所有预定义的别名,您也可以定义自己的别名。(对于VS 2010和更早版本,在另一篇文章中进行了描述。)浏览一下,有一大堆,其中一些甚至可能源于MS-DOS DEBUG.EXE(特别是
>d
>g
>p
>q
,以及>
t


另外值得注意的是,只需按两个键:上下文菜单>清除所有调用相同的命令,并且可以使用键盘进行导航。在即时窗口中,您可以按
上下文菜单
L

如果您的键盘上没有a(您知道,
right-alt
right-ctrl
),您可以使用
shift
+
F10

>cls 

似乎是为我做的。

以下是如何在运行时执行此操作:

  • 在应用程序中引用EnvDTE DLL

  • 根据需要创建并使用此函数

  • 公共子ClearImmediateWindow()
    尝试
    Dim VSWindowKind立即以字符串形式显示\u
    =“{ECB7191A-597B-41F5-9843-03A4CF275DDE}”
    尝试
    Dim obj As Object=System.Runtime.InteropServices.Marshal.\u
    GetActiveObject(“VisualStudio.DTE.10.0”)
    如果obj不是什么,那么
    将DTE2的尺寸标注为EnvDTE80.DTE2=CType(obj,EnvDTE80.DTE2)
    对于每个wndw作为DTE2.Windows中的EnvDTE.Window
    如果wndw.ObjectKind=vsWindowKindImmediateWindow,则
    wndw.Activate()
    DTE2.ExecuteCommand(“Edit.clearlall”)
    退出
    如果结束
    下一个
    如果结束
    将comEx捕获为COMException
    '不在VS IDE中运行?
    特例
    投手
    结束尝试
    特例
    “你想怎么办就怎么办。
    结束尝试
    端接头
    端接头
    
  • 将鼠标光标放在即时窗口中
  • 右键单击鼠标并选择“全部清除”

  • 对于visual studio 2012,我使用:

    公共子ClearImmediateWindow()
    将dte调暗为EnvDTE80.DTE2=Marshal.GetActiveObject(“VisualStudio.dte.11.0”)
    dte.Windows.Item(“即时窗口”).Activate()“激活即时窗口”
    dte.ExecuteCommand(“Edit.SelectAll”)
    dte.ExecuteCommand(“Edit.ClearAll”)
    封送官发布对象(dte)
    端接头
    

    从代码中自动清除即时窗口(需要向项目中添加DTE引用)。如果它不起作用,请根据您的visual studio版本,尝试
    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! */ }
    

    endif那些想知道如何在Visual Studio Mac上清除即时窗口的人,只需在窗口内右键单击并选择选项清除

    我通常在办公室时使用上下文键-但过去几个月我一直在客户办公室使用笔记本电脑,而我没有上下文键。最后,我终于为寻找解决方案而烦恼不已。
    非常重要。我想不出一个自然的方法来让答案更明确。此外,更多有用的提示请参见MSDN。我不知道有一个右键单击菜单!不为我工作。错误是:“从封送处理中获取对象时,mscorlib.dll中发生了类型为“System.Runtime.InteropServices.COMException”的第一次意外异常。我的visual studio版本是2012,因此我将
    VisualStudio.DTE.10.0
    更改为
    VisualStudio.DTE.11.0
    ,并且成功了。在这里我还发现了一个相同答案的简短语法:gotcha;如果您有多个VS open实例,墨菲定律规定它将清除另一个实例,并让您尝试找出为什么F^&$%**!它不起作用。至少这是我在过去20分钟里一直在做的。现在它可以工作了,但我认为只有在VS是活动窗口的情况下。如果在执行此代码时另一个窗口(例如,我正在调试的项目)处于活动状态,则会得到“来自HRESULT的异常:0x80010001(RPC_E_调用被拒绝)”。您是对的。如果您正在运行两个实例,那么您必须找到一种合理的方法来区分其中一个。我想您必须迭代所有主窗口,并检查具有最高ZOrder的主窗口。一段时间前我放弃了使用它,因为我想出了一个更好的方法。我写这篇文章是因为VisualStudio窃取了调试消息。对于所有其他工具,我都通过DbgView(SysInternals)运行它们。我编写了一个后端流程,在VisualStudio窃取它们之前捕获它们,并将它们转发给DbgView,所以我回到了我首先想要的东西。