Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.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
C# 在VisualStudio中,如何在生成期间打开特定窗口?_C#_Visual Studio_Visual Studio 2008 - Fatal编程技术网

C# 在VisualStudio中,如何在生成期间打开特定窗口?

C# 在VisualStudio中,如何在生成期间打开特定窗口?,c#,visual-studio,visual-studio-2008,C#,Visual Studio,Visual Studio 2008,我最近成了VisualStudio插件的粉丝,它以一种漂亮的图形方式显示构建的状态。它比当前的进度条或“输出”窗口信息量大得多。然而,我似乎找不到一种简单的方法使它在构建过程中弹出,然后在完成后隐藏自己,这类似于VisualStudio中的当前选项“在构建开始时显示输出窗口” 我看过一些关于创建可以查找生成事件的VisualStudio宏的参考资料,但我目前使用VS宏的经验是,它们很慢,而且只在VB中使用。如果这是唯一的办法,我不介意走那条路,但我想我应该先问问蜂群的想法 谢谢 Jason键盘宏

我最近成了VisualStudio插件的粉丝,它以一种漂亮的图形方式显示构建的状态。它比当前的进度条或“输出”窗口信息量大得多。然而,我似乎找不到一种简单的方法使它在构建过程中弹出,然后在完成后隐藏自己,这类似于VisualStudio中的当前选项“在构建开始时显示输出窗口”

我看过一些关于创建可以查找生成事件的VisualStudio宏的参考资料,但我目前使用VS宏的经验是,它们很慢,而且只在VB中使用。如果这是唯一的办法,我不介意走那条路,但我想我应该先问问蜂群的想法

谢谢


Jason

键盘宏怎么样?我认为它仍然会在后台生成一个vb宏,但我已经使用了很多并不慢的宏


您可以开始录制、打开所需的窗口、按住Ctrl-shift-b键、停止录制等。

连接到环境事件并不难:

1) 打开宏IDE(工具菜单-->宏)
2) 在“MyMacros”项目中打开“EnvironmentEvents”模块
3) 在自动生成的代码之后添加以下代码:

Private Sub BuildEvents_OnBuildBegin(ByVal Scope As EnvDTE.vsBuildScope, ByVal Action As EnvDTE.vsBuildAction) Handles BuildEvents.OnBuildBegin
  DTE.Windows.Item("{43CD29AA-0CA4-4F1C-8265-219788EF4908}").Activate() 'Build Status
End Sub
您可以通过单击窗口之外的任何位置来关闭该窗口。
你也会看到它非常快


顺便说一句,谢谢你的插件,我不知道它,它确实非常有用;-)

使用Julien对宏IDE编辑器的帮助,以下是在我的环境中工作的代码:

Private Sub BuildEvents_OnBuildBegin(ByVal Scope As EnvDTE.vsBuildScope, ByVal Action As EnvDTE.vsBuildAction) Handles BuildEvents.OnBuildBegin
  DTE.ExecuteCommand("VSBuildStatusAddin.Connect.VSBuildStatusAddin")
End Sub

Private Sub BuildEvents_OnBuildDone(ByVal Scope As EnvDTE.vsBuildScope, ByVal Action As EnvDTE.vsBuildAction) Handles BuildEvents.OnBuildDone
    DTE.Windows.Item("{43CD29AA-0CA4-4F1C-8265-219788EF4908}").Close()
End Sub

我确实尝试过类似的方法,但宏无法打开我想要的窗口。它确实为我启动了构建。你用键盘快捷键打开窗口了吗?我得试试这个。它目前没有键盘快捷键,但我会添加一个,然后看看是否可以在快捷键中编写脚本。酷!我想知道是不是这么简单。我确实在自动生成的代码下的EnvironmentEvents模块中添加了这个,但它似乎不起作用。如果这有什么不同的话,我会运行VS2008。为了将来的参考,我在下面添加了在我的环境中工作的代码。尽管如此,我还是给了你信任:-)我也在使用VS2008(SP1),并且我已经用这段代码设置了我的工作和家庭VS,没有问题(它肯定是相同的Guid)。尝试创建一个新的宏项目(工具-->宏-->新宏项目),并将代码添加到该项目中……如何找到该窗口或任何相关窗口的Guid?我想在其他窗口中尝试此操作。尝试使用Marcro Recorder创建一个新宏。VS将自动使用Guid标识与之交互的窗口