Подтвердить что ты не робот

Как я могу заставить Visual Studio издавать звуковой сигнал, если сборка завершается успешно?

Часто мне нужно перекомпилировать, и это занимает минуту или две, поэтому я предпочитаю переключиться на веб-браузер, чтобы убить это время. Иногда я забываю оглянуться назад, и сборка прошла за несколько минут до того, как я заметил.

Можно ли каким-то образом заставить Visual Studio (только версия пользовательского интерфейса, а не командной строки) подавать звуковой сигнал, если сборка (для проекта или решения) успешно завершается без предупреждения?

Также полезно будет звуковой сигнал, когда первая точка останова будет удалена во время отладки, так как иногда мне приходится ждать минуту или две, чтобы это произошло.

Мне нужно написать макрос для него, возможно? Есть ли скрытые настройки где-нибудь?

4b9b3361

Ответ 1

Я вижу в своей системе Sounds категорию под названием "Microsoft Visual Studio Macros", которая содержит три звука: "Снято с производства", "Сбой сборки" и "Сборка". Я предполагаю, что они попали туда с образцами макросов, которые устанавливаются по умолчанию. Можете попробовать нажать Alt-F8 в VS и прокручивать макросы.

Мое любимое решение - это одно: VSBuildStatus. Если у вас есть Windows 7, он покажет ход сборки на панели задач (например, Explorer с копированием файлов). Покраснеет при сбое сборки. Должен иметь.

http://visualstudiogallery.msdn.microsoft.com/en-us/2A2293B4-1808-44AA-B030-661F6803D8A1

Ответ 2

Вот макрос, найденный по адресу: http://elegantdevelopment.blogspot.com/2009/09/visual-studio-2008-macro-fun.html

Private Sub BuildEvents_OnBuildDone(ByVal Scope As EnvDTE.vsBuildScope, ByVal Action As EnvDTE.vsBuildAction) Handles BuildEvents.OnBuildDone
   If (Not failed) Then
      ' System.Windows.Forms.MessageBox.Show("Build is complete!")
      Beep()
      Threading.Thread.Sleep(250)
      Beep()
   End If
End Sub

Удачи!

Ответ 3

  • Откройте Macro Explorer (Alt + F8).
  • Создайте новый проект макроса, если у вас его еще нет.
  • Откройте макросы Microsoft Visual Studio (Alt + F11)
  • Если у вас еще нет макроса под названием EnvironmentEvents, создайте его.
  • Убедитесь, что макрос содержит следующий код (обратите внимание на сниппет внизу!)

Код:

Option Strict Off
Option Explicit Off
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE90a
Imports EnvDTE100
Imports System.Diagnostics

Public Module EnvironmentEvents

    #Region "Automatically generated code, do not modify"

    'Automatically generated code, do not modify
    'Event Sources Begin
    <System.ContextStaticAttribute()> Public WithEvents DTEEvents As EnvDTE.DTEEvents
    <System.ContextStaticAttribute()> Public WithEvents DocumentEvents As EnvDTE.DocumentEvents
    <System.ContextStaticAttribute()> Public WithEvents WindowEvents As EnvDTE.WindowEvents
    <System.ContextStaticAttribute()> Public WithEvents TaskListEvents As EnvDTE.TaskListEvents
    <System.ContextStaticAttribute()> Public WithEvents FindEvents As EnvDTE.FindEvents
    <System.ContextStaticAttribute()> Public WithEvents OutputWindowEvents As EnvDTE.OutputWindowEvents
    <System.ContextStaticAttribute()> Public WithEvents SelectionEvents As EnvDTE.SelectionEvents
    <System.ContextStaticAttribute()> Public WithEvents BuildEvents As EnvDTE.BuildEvents
    <System.ContextStaticAttribute()> Public WithEvents SolutionEvents As EnvDTE.SolutionEvents
    <System.ContextStaticAttribute()> Public WithEvents SolutionItemsEvents As EnvDTE.ProjectItemsEvents
    <System.ContextStaticAttribute()> Public WithEvents MiscFilesEvents As EnvDTE.ProjectItemsEvents
    <System.ContextStaticAttribute()> Public WithEvents DebuggerEvents As EnvDTE.DebuggerEvents
    <System.ContextStaticAttribute()> Public WithEvents ProjectsEvents As EnvDTE.ProjectsEvents
    <System.ContextStaticAttribute()> Public WithEvents TextDocumentKeyPressEvents As EnvDTE80.TextDocumentKeyPressEvents
    <System.ContextStaticAttribute()> Public WithEvents CodeModelEvents As EnvDTE80.CodeModelEvents
    <System.ContextStaticAttribute()> Public WithEvents DebuggerProcessEvents As EnvDTE80.DebuggerProcessEvents
    <System.ContextStaticAttribute()> Public WithEvents DebuggerExpressionEvaluationEvents As EnvDTE80.DebuggerExpressionEvaluationEvents
    'Event Sources End
    'End of automatically generated code

    #End Region


    Private Sub BuildEvents_OnBuildDone(ByVal Scope As EnvDTE.vsBuildScope, ByVal Action As EnvDTE.vsBuildAction) Handles BuildEvents.OnBuildDone
        'Beep to notify that we finished building
        Console.Beep()
        Threading.Thread.Sleep(250)
        'Beep again just for fun
        Console.Beep()
        ' Alternatively, or in Addition to the motherboard beeps, you can 
        ' play a sound from your hard drive via your audio card like so:
        My.Computer.Audio.Play("C:\WINDOWS\Media\Windows XP Startup.wav", _
            AudioPlayMode.Background)
    End Sub


End Module

FYI: Я обнаружил, что Windows 7 Console.Beep() является not звуковой сигнал материнской платы. Кроме того, мне очень нравится "C:\Windows\Media\Windows Shutdown.wav" для аудиоклипа, когда в Windows 7.

Ответ 4

Я думаю, что самый простой способ - сделать следующее

  • Создайте простое приложение командной строки, которое вызывает функцию Win32 Beep
  • Настройка события пост-сборки для выполнения при успешном выполнении сборки
  • Вызовите это приложение

Ответ 5

Раньше я использовал тостер для визуальной студии, который отображал события в системном трее, я использовал его для сборки, потому что мне тоже скучно ждать сборки:) Не использовал его через некоторое время.

Ответ 6

Существует расширение под названием Ding, которое, похоже, делает то, что вы ищете:

"Это небольшое расширение будет воспроизводить звуки уведомлений при следующих событиях: - Build Complete - Ввод режима отладчика (удары точки останова и т.д.) - Окончательные тесты устройств будут полезны при работе с большими решениями или при запуске/запуске сборки/теста точка останова занимает много времени..."

https://visualstudiogallery.msdn.microsoft.com/941d0ed0-1218-452e-8585-d3ac693cda17

Ответ 7

В Microsoft для этого уже есть встроенная функция. Перейдите в Панель управления > Управление аудиоустройствами > вкладка Звуки. Затем прокрутите вниз, чтобы настроить "Сбой, неудача" или "Сбой".

Visual Studio IDE: я хочу, чтобы он создавал звук после компиляции, чтобы я мог вернуться к работе