diff --git a/README.md b/README.md index 4f9f377..6868fd0 100644 --- a/README.md +++ b/README.md @@ -1,46 +1,2 @@ -Visual Studio Ding extension +Visual Studio Ding extension [Fork] for 2017. Doesn't include 2012/2015 in the installer, that would need to be patched in. -==================================================== - -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 e6aab38..34e98b7 100644 --- a/VsDingExtension.sln +++ b/VsDingExtension.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.30723.0 +# Visual Studio 15 +VisualStudioVersion = 15.0.27004.2009 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{5BD9D4DB-8683-4698-8D24-01EE7306F73A}" ProjectSection(SolutionItems) = preProject @@ -10,32 +10,29 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution UnitTests.testsettings = UnitTests.testsettings EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VsDingExtensionProject", "VsDingExtensionProject\VsDingExtensionProject.csproj", "{3BEC1E8B-59C5-439E-AE97-8FF4B3E6B0C1}" -EndProject -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 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VsDingExtensionFor2017", "VsDingExtensionFor2017\VsDingExtensionFor2017.csproj", "{45953335-41AC-47BB-ACEF-3555FD7F5139}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU 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 new file mode 100644 index 0000000..8aea8f6 --- /dev/null +++ b/VsDingExtensionFor2017/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +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 new file mode 100644 index 0000000..861d152 --- /dev/null +++ b/VsDingExtensionFor2017/ReleaseNotes.txt @@ -0,0 +1,2 @@ +Version 1.x: +* Support for Visual studio 2017. \ No newline at end of file diff --git a/VsDingExtensionFor2017/VsDingExtensionFor2017.csproj b/VsDingExtensionFor2017/VsDingExtensionFor2017.csproj new file mode 100644 index 0000000..2965fd5 --- /dev/null +++ b/VsDingExtensionFor2017/VsDingExtensionFor2017.csproj @@ -0,0 +1,219 @@ + + + + 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 new file mode 100644 index 0000000..469cdea --- /dev/null +++ b/VsDingExtensionFor2017/source.extension.vsixmanifest @@ -0,0 +1,36 @@ + + + + + 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 new file mode 100644 index 0000000..f7a3433 Binary files /dev/null and b/VsDingExtensionFor2017/speaker2017.ico differ diff --git a/VsDingExtensionProject/Resources.Designer.cs b/VsDingExtensionProject/Resources.Designer.cs index 45d43ae..057d8e8 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.34209 +// Runtime Version:4.0.30319.42000 // // 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", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.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 new file mode 100644 index 0000000..d9e0a26 --- /dev/null +++ b/VsDingExtensionProject/VsDingExtensionProject.args.json @@ -0,0 +1,8 @@ +{ + "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 475afb6..a0b92c3 100644 --- a/VsDingExtensionProject/VsDingExtensionProject.csproj +++ b/VsDingExtensionProject/VsDingExtensionProject.csproj @@ -1,13 +1,18 @@  - 12.0 + 15.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 bdca97d..8d83c93 100644 --- a/VsDingExtensionProject/VsDingExtensionProjectPackage.cs +++ b/VsDingExtensionProject/VsDingExtensionProjectPackage.cs @@ -153,7 +153,7 @@ namespace VitaliiGanzha.VsDingExtension { return true; } - return Options.IsBeepOnlyWhenVisualStudioIsInBackground && !WinApiHelper.ApplicationIsActivated(); + return Options.IsBeepOnlyWhenVisualStudioIsInBackground && !NativeMethods.ApplicationIsActivated(); } private void OperationStateOnStateChanged(object sender, OperationStateChangedEventArgs operationStateChangedEventArgs) diff --git a/VsDingExtensionProject/WinApiHelper.cs b/VsDingExtensionProject/WinApiHelper.cs index 7663240..a95440c 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 WinApiHelper + public static class NativeMethods { [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 6e18dfa..e96e8a3 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,8 +21,11 @@ Twitter: @GanzhaVitalii productivity - - + + + + + diff --git a/install/VsDingExtension.vsix b/install/VsDingExtension.vsix new file mode 100644 index 0000000..1ad6b99 Binary files /dev/null and b/install/VsDingExtension.vsix differ