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..f795072 --- /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("VsDingExtensionFor2012")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Bing")] +[assembly: AssemblyProduct("VsDingExtensionFor2012")] +[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..27cf99b --- /dev/null +++ b/VsDingExtensionFor2017/ReleaseNotes.txt @@ -0,0 +1,4 @@ +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 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();