diff --git a/README.md b/README.md index 6868fd0..4f9f377 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,46 @@ -Visual Studio Ding extension [Fork] for 2017. Doesn't include 2012/2015 in the installer, that would need to be patched in. +Visual Studio Ding extension +==================================================== + +This small extension will play notification sounds when following events occur: +- Build Complete +- Entering debugger mode (breakpoint hit, etc) +- Unit tests finished to run + +Ability to toggle when the notifications sound can be found in the Visual Studio Options under 'Ding' + +Useful when working with big solutions or when build/test run/hitting a breakpoint takes a lot of time and developer can be distructed on other things while he waits. + +This is an open source project, join! + +Twitter: @GanzhaVitalii + +Version 1.9: +* Fixed defect #8: VS 2015 stops working when looking at Test Manager Window + + +Version 1.8: +* Users now will be able to select their own sounds (Issue #5) +* There will be a different sound when any of the tests have failed (Issue #7) +* There is a separate option to play sound only when tests failed (thanks to https://github.com/sboulema for pull request). +* Notification in tray will have different icon when tests failed + +![Custom sounds](https://cloud.githubusercontent.com/assets/3173477/12151990/c87702c0-b466-11e5-82eb-7602c430ae7c.png) + + +Version 1.6: +* Fixed compatibility issues with Visual studio 2012 + +Version 1.5: +* Added Task bar notifications. (https://github.com/thecoderok/vsdingextension/issues/1) + It can be disabled in Tools->Options->Ding->Show tray notifications + +![TaskBar notification](https://cloud.githubusercontent.com/assets/3173477/8140297/3633fb52-110f-11e5-8e53-4fcad670bd82.PNG) + + +Version 1.4: +* Added options dialog (Tools->Options->Ding). Now it is possible to enable/disable what sounds to play. Thanks to https://github.com/dannoh +* Added option to play sounds only if Visual Studio in background. Thanks to https://github.com/dannoh +* Support for Visual studio 2015 + +![options](https://cloud.githubusercontent.com/assets/3173477/8140335/89a7e618-110f-11e5-94e2-d626fefb5680.png) diff --git a/VsDingExtension.sln b/VsDingExtension.sln index 34e98b7..e6aab38 100644 --- a/VsDingExtension.sln +++ b/VsDingExtension.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27004.2009 +# Visual Studio 2013 +VisualStudioVersion = 12.0.30723.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{5BD9D4DB-8683-4698-8D24-01EE7306F73A}" ProjectSection(SolutionItems) = preProject @@ -10,9 +10,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution UnitTests.testsettings = UnitTests.testsettings EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleTestProject", "SampleTestProject\SampleTestProject.csproj", "{3A315AD2-E21E-4FC6-A601-795989A45514}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VsDingExtensionProject", "VsDingExtensionProject\VsDingExtensionProject.csproj", "{3BEC1E8B-59C5-439E-AE97-8FF4B3E6B0C1}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VsDingExtensionFor2017", "VsDingExtensionFor2017\VsDingExtensionFor2017.csproj", "{45953335-41AC-47BB-ACEF-3555FD7F5139}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VsDingExtensionFor2012", "VsDingExtensionFor2012\VsDingExtensionFor2012.csproj", "{F37A5870-9786-4196-A3BE-51FEC6155623}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleTestProject", "SampleTestProject\SampleTestProject.csproj", "{3A315AD2-E21E-4FC6-A601-795989A45514}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -20,19 +22,20 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {3BEC1E8B-59C5-439E-AE97-8FF4B3E6B0C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3BEC1E8B-59C5-439E-AE97-8FF4B3E6B0C1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3BEC1E8B-59C5-439E-AE97-8FF4B3E6B0C1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3BEC1E8B-59C5-439E-AE97-8FF4B3E6B0C1}.Release|Any CPU.Build.0 = Release|Any CPU + {F37A5870-9786-4196-A3BE-51FEC6155623}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F37A5870-9786-4196-A3BE-51FEC6155623}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F37A5870-9786-4196-A3BE-51FEC6155623}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F37A5870-9786-4196-A3BE-51FEC6155623}.Release|Any CPU.Build.0 = Release|Any CPU {3A315AD2-E21E-4FC6-A601-795989A45514}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3A315AD2-E21E-4FC6-A601-795989A45514}.Debug|Any CPU.Build.0 = Debug|Any CPU {3A315AD2-E21E-4FC6-A601-795989A45514}.Release|Any CPU.ActiveCfg = Release|Any CPU {3A315AD2-E21E-4FC6-A601-795989A45514}.Release|Any CPU.Build.0 = Release|Any CPU - {45953335-41AC-47BB-ACEF-3555FD7F5139}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {45953335-41AC-47BB-ACEF-3555FD7F5139}.Debug|Any CPU.Build.0 = Debug|Any CPU - {45953335-41AC-47BB-ACEF-3555FD7F5139}.Release|Any CPU.ActiveCfg = Release|Any CPU - {45953335-41AC-47BB-ACEF-3555FD7F5139}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {8F1E1F54-C5F0-477C-90FF-BA5D0C56292D} - EndGlobalSection EndGlobal diff --git a/VsDingExtensionFor2017/Properties/AssemblyInfo.cs b/VsDingExtensionFor2017/Properties/AssemblyInfo.cs deleted file mode 100644 index 8aea8f6..0000000 --- a/VsDingExtensionFor2017/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System; -using System.Reflection; -using System.Resources; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("VsDingExtensionFor2017")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Bing")] -[assembly: AssemblyProduct("VsDingExtensionFor2017")] -[assembly: AssemblyCopyright("")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] -[assembly: ComVisible(false)] -[assembly: CLSCompliant(false)] -[assembly: NeutralResourcesLanguage("en-US")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Revision and Build Numbers -// by using the '*' as shown below: - -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] - - - diff --git a/VsDingExtensionFor2017/ReleaseNotes.txt b/VsDingExtensionFor2017/ReleaseNotes.txt deleted file mode 100644 index 861d152..0000000 --- a/VsDingExtensionFor2017/ReleaseNotes.txt +++ /dev/null @@ -1,2 +0,0 @@ -Version 1.x: -* Support for Visual studio 2017. \ No newline at end of file diff --git a/VsDingExtensionFor2017/VsDingExtensionFor2017.csproj b/VsDingExtensionFor2017/VsDingExtensionFor2017.csproj deleted file mode 100644 index 2965fd5..0000000 --- a/VsDingExtensionFor2017/VsDingExtensionFor2017.csproj +++ /dev/null @@ -1,219 +0,0 @@ - - - - 15.0 - 14.0 - $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - - - - - 4.0 - false - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - true - - - - ..\VsDingExtensionProject\Resources\speaker.ico - - - - Debug - AnyCPU - 2.0 - {45953335-41AC-47BB-ACEF-3555FD7F5139} - {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - Properties - VitaliiGanzha.VsDingExtension - VsDingExtension - True - ..\VsDingExtensionProject\Key.snk - v4.6 - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - true - - - - False - - - True - - - True - - - True - - - - - - - - True - - - - - $(DevEnvDir)\CommonExtensions\Microsoft\TestWindow\Microsoft.VisualStudio.TestWindow.Core.dll - - - $(DevEnvDir)\CommonExtensions\Microsoft\TestWindow\Microsoft.VisualStudio.TestWindow.dll - - - - - - - - - - - - - $(DevEnvDir)\PublicAssemblies\Microsoft.VisualStudio.ComponentModelHost.dll - - - $(DevEnvDir)\CommonExtensions\Microsoft\TestWindow\Microsoft.VisualStudio.TestWindow.Interfaces.dll - - - - - {1CBA492E-7263-47BB-87FE-639000619B15} - 8 - 0 - 0 - primary - False - False - - - {00020430-0000-0000-C000-000000000046} - 2 - 0 - 0 - primary - False - False - - - - - - - OptionsDialog.cs - Component - - - Players.cs - - - - - SingleSoundSelectControl.cs - UserControl - - - SingleSoundSelectControl.Designer.cs - - - SoundSelectControl.cs - UserControl - - - SoundSelectControl.Designer.cs - - - SoundsSelectOptionsPage.cs - Component - - - - WinApiHelper.cs - - - - - - Designer - - - - - - SingleSoundSelectControl.resx - - - SoundSelectControl.resx - - - SoundsSelectOptionsPage.resx - - - - - - - - - Always - true - - - - - Always - true - - - - - False - .NET Framework 3.5 SP1 - false - - - - true - - - - - \ No newline at end of file diff --git a/VsDingExtensionFor2017/source.extension.vsixmanifest b/VsDingExtensionFor2017/source.extension.vsixmanifest deleted file mode 100644 index 469cdea..0000000 --- a/VsDingExtensionFor2017/source.extension.vsixmanifest +++ /dev/null @@ -1,36 +0,0 @@ - - - - - Visual Studio Ding extension for VS 2017 - This small extension will play notification sounds when following events occur: -- Build Complete -- Entering debugger mode (breakpoint hit, etc) -- Unit tests finished to run - -Useful when working with big solutions or when build/test run/hitting a breakpoint takes a lot of time and developer can be distructed on other things while he waits. - -Just install it and it is ready to use! - -This is an open source project, join! - -Twitter: @GanzhaVitalii</Description> - https://github.com/thecoderok/vsdingextension - ReleaseNotes.txt - speaker2017.ico - Productivity - - - - - - - - - - - - - - - diff --git a/VsDingExtensionFor2017/speaker2017.ico b/VsDingExtensionFor2017/speaker2017.ico deleted file mode 100644 index f7a3433..0000000 Binary files a/VsDingExtensionFor2017/speaker2017.ico and /dev/null differ diff --git a/VsDingExtensionProject/Resources.Designer.cs b/VsDingExtensionProject/Resources.Designer.cs index 057d8e8..45d43ae 100644 --- a/VsDingExtensionProject/Resources.Designer.cs +++ b/VsDingExtensionProject/Resources.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.42000 +// Runtime Version:4.0.30319.34209 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -19,7 +19,7 @@ namespace VitaliiGanzha.VsDingExtension { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { diff --git a/VsDingExtensionProject/VsDingExtensionProject.args.json b/VsDingExtensionProject/VsDingExtensionProject.args.json deleted file mode 100644 index d9e0a26..0000000 --- a/VsDingExtensionProject/VsDingExtensionProject.args.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "DataCollection": [ - { - "Id": "713ea57a-e182-4345-96c8-e67ff3c88bb8", - "Command": "/rootsuffix Exp" - } - ] -} \ No newline at end of file diff --git a/VsDingExtensionProject/VsDingExtensionProject.csproj b/VsDingExtensionProject/VsDingExtensionProject.csproj index a0b92c3..475afb6 100644 --- a/VsDingExtensionProject/VsDingExtensionProject.csproj +++ b/VsDingExtensionProject/VsDingExtensionProject.csproj @@ -1,18 +1,13 @@  - 15.0 + 12.0 12.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) Program $(DevEnvDir)\devenv.exe /rootsuffix Exp - - - - - 12.0 speaker.ico diff --git a/VsDingExtensionProject/VsDingExtensionProjectPackage.cs b/VsDingExtensionProject/VsDingExtensionProjectPackage.cs index 8d83c93..bdca97d 100644 --- a/VsDingExtensionProject/VsDingExtensionProjectPackage.cs +++ b/VsDingExtensionProject/VsDingExtensionProjectPackage.cs @@ -153,7 +153,7 @@ namespace VitaliiGanzha.VsDingExtension { return true; } - return Options.IsBeepOnlyWhenVisualStudioIsInBackground && !NativeMethods.ApplicationIsActivated(); + return Options.IsBeepOnlyWhenVisualStudioIsInBackground && !WinApiHelper.ApplicationIsActivated(); } private void OperationStateOnStateChanged(object sender, OperationStateChangedEventArgs operationStateChangedEventArgs) diff --git a/VsDingExtensionProject/WinApiHelper.cs b/VsDingExtensionProject/WinApiHelper.cs index a95440c..7663240 100644 --- a/VsDingExtensionProject/WinApiHelper.cs +++ b/VsDingExtensionProject/WinApiHelper.cs @@ -4,7 +4,7 @@ namespace VitaliiGanzha.VsDingExtension using System.Diagnostics; using System.Runtime.InteropServices; - public static class NativeMethods + public static class WinApiHelper { [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)] private static extern IntPtr GetForegroundWindow(); diff --git a/VsDingExtensionProject/source.extension.vsixmanifest b/VsDingExtensionProject/source.extension.vsixmanifest index e96e8a3..6e18dfa 100644 --- a/VsDingExtensionProject/source.extension.vsixmanifest +++ b/VsDingExtensionProject/source.extension.vsixmanifest @@ -1,7 +1,7 @@  - + Visual Studio Ding extension This small extension will play notification sounds when following events occur: - Build Complete @@ -21,11 +21,8 @@ Twitter: @GanzhaVitalii productivity - - - - - + + diff --git a/install/VsDingExtension.vsix b/install/VsDingExtension.vsix deleted file mode 100644 index 1ad6b99..0000000 Binary files a/install/VsDingExtension.vsix and /dev/null differ