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
+
+
+
+
+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
+
+
+
+
+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/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.012.0$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)Program$(DevEnvDir)\devenv.exe/rootsuffix Exp
-
-
-
-
- 12.0speaker.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 extensionThis small extension will play notification sounds when following events occur:
- Build Complete
@@ -21,11 +21,8 @@ Twitter: @GanzhaVitaliiproductivity
-
-
-
-
-
+
+
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