Working version with sounds
This commit is contained in:
parent
d6cbed0ec6
commit
c02e906621
|
@ -1,7 +1,7 @@
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
// Runtime Version:2.0.50727.42
|
// Runtime Version:4.0.30319.18449
|
||||||
//
|
//
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
// the code is regenerated.
|
// the code is regenerated.
|
||||||
|
@ -19,7 +19,7 @@ namespace VitaliiGanzha.VsDingExtensionProject {
|
||||||
// class via a tool like ResGen or Visual Studio.
|
// class via a tool like ResGen or Visual Studio.
|
||||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||||
// with the /str option, or rebuild your VS project.
|
// with the /str option, or rebuild your VS project.
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
internal class Resources {
|
internal class Resources {
|
||||||
|
@ -60,5 +60,13 @@ namespace VitaliiGanzha.VsDingExtensionProject {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.IO.UnmanagedMemoryStream ding {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetStream("ding", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,4 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--
|
|
||||||
VS SDK Notes: This resx file contains the resources that will be consumed directly by your package.
|
|
||||||
For example, if you chose to create a tool window, there is a resource with ID 'CanNotCreateWindow'. This
|
|
||||||
is used in VsPkg.cs to determine the string to show the user if there is an error when attempting to create
|
|
||||||
the tool window.
|
|
||||||
|
|
||||||
Resources that are accessed directly from your package *by Visual Studio* are stored in the VSPackage.resx
|
|
||||||
file.
|
|
||||||
-->
|
|
||||||
<root>
|
<root>
|
||||||
<!--
|
<!--
|
||||||
Microsoft ResX Schema
|
Microsoft ResX Schema
|
||||||
|
@ -126,4 +117,8 @@
|
||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="ding" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>Resources\ding.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
Binary file not shown.
|
@ -40,6 +40,7 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Microsoft.CSharp" />
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
<Reference Include="Microsoft.VisualStudio.ComponentModelHost, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
|
||||||
<Reference Include="Microsoft.VisualStudio.OLE.Interop" />
|
<Reference Include="Microsoft.VisualStudio.OLE.Interop" />
|
||||||
<Reference Include="Microsoft.VisualStudio.Shell.Interop" />
|
<Reference Include="Microsoft.VisualStudio.Shell.Interop" />
|
||||||
<Reference Include="Microsoft.VisualStudio.Shell.Interop.8.0" />
|
<Reference Include="Microsoft.VisualStudio.Shell.Interop.8.0" />
|
||||||
|
@ -52,7 +53,7 @@
|
||||||
<EmbedInteropTypes>true</EmbedInteropTypes>
|
<EmbedInteropTypes>true</EmbedInteropTypes>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Microsoft.VisualStudio.TestWindow.Interfaces">
|
<Reference Include="Microsoft.VisualStudio.TestWindow.Interfaces">
|
||||||
<HintPath>..\..\..\..\..\..\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\Microsoft.VisualStudio.TestWindow.Interfaces.dll</HintPath>
|
<HintPath>$(DevEnvDir)\CommonExtensions\Microsoft\TestWindow\Microsoft.VisualStudio.TestWindow.Interfaces.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Microsoft.VisualStudio.TextManager.Interop" />
|
<Reference Include="Microsoft.VisualStudio.TextManager.Interop" />
|
||||||
<Reference Include="Microsoft.VisualStudio.Shell.12.0" />
|
<Reference Include="Microsoft.VisualStudio.Shell.12.0" />
|
||||||
|
@ -60,6 +61,22 @@
|
||||||
<Reference Include="Microsoft.VisualStudio.Shell.Immutable.11.0" />
|
<Reference Include="Microsoft.VisualStudio.Shell.Immutable.11.0" />
|
||||||
<Reference Include="Microsoft.VisualStudio.Shell.Immutable.12.0" />
|
<Reference Include="Microsoft.VisualStudio.Shell.Immutable.12.0" />
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.ComponentModel.Composition" />
|
||||||
|
<Reference Include="System.Composition.AttributedModel">
|
||||||
|
<HintPath>..\packages\Microsoft.Composition.1.0.20\lib\portable-net45+win8\System.Composition.AttributedModel.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Composition.Convention">
|
||||||
|
<HintPath>..\packages\Microsoft.Composition.1.0.20\lib\portable-net45+win8\System.Composition.Convention.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Composition.Hosting">
|
||||||
|
<HintPath>..\packages\Microsoft.Composition.1.0.20\lib\portable-net45+win8\System.Composition.Hosting.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Composition.Runtime">
|
||||||
|
<HintPath>..\packages\Microsoft.Composition.1.0.20\lib\portable-net45+win8\System.Composition.Runtime.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Composition.TypedParts">
|
||||||
|
<HintPath>..\packages\Microsoft.Composition.1.0.20\lib\portable-net45+win8\System.Composition.TypedParts.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="System.Data" />
|
<Reference Include="System.Data" />
|
||||||
<Reference Include="System.Design" />
|
<Reference Include="System.Design" />
|
||||||
|
@ -146,6 +163,7 @@
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<None Include="packages.config" />
|
||||||
<None Include="source.extension.vsixmanifest">
|
<None Include="source.extension.vsixmanifest">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</None>
|
</None>
|
||||||
|
@ -154,6 +172,7 @@
|
||||||
<None Include="Key.snk" />
|
<None Include="Key.snk" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<None Include="Resources\ding.wav" />
|
||||||
<Content Include="Resources\Package.ico" />
|
<Content Include="Resources\Package.ico" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
|
|
@ -1,15 +1,17 @@
|
||||||
using System;
|
using System;
|
||||||
|
using System.ComponentModel.Composition;
|
||||||
|
using System.ComponentModel.Composition.Hosting;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
|
using System.IO;
|
||||||
|
using System.Media;
|
||||||
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
using System.ComponentModel.Design;
|
|
||||||
using EnvDTE;
|
using EnvDTE;
|
||||||
using EnvDTE80;
|
using EnvDTE80;
|
||||||
using Microsoft.Win32;
|
using Microsoft.VisualStudio.ComponentModelHost;
|
||||||
using Microsoft.VisualStudio;
|
|
||||||
using Microsoft.VisualStudio.Shell.Interop;
|
|
||||||
using Microsoft.VisualStudio.OLE.Interop;
|
|
||||||
using Microsoft.VisualStudio.Shell;
|
using Microsoft.VisualStudio.Shell;
|
||||||
|
using Microsoft.VisualStudio.TestWindow.Extensibility;
|
||||||
|
|
||||||
namespace VitaliiGanzha.VsDingExtensionProject
|
namespace VitaliiGanzha.VsDingExtensionProject
|
||||||
{
|
{
|
||||||
|
@ -30,6 +32,7 @@ namespace VitaliiGanzha.VsDingExtensionProject
|
||||||
// in the Help/About dialog of Visual Studio.
|
// in the Help/About dialog of Visual Studio.
|
||||||
[InstalledProductRegistration("#110", "#112", "1.0", IconResourceID = 400)]
|
[InstalledProductRegistration("#110", "#112", "1.0", IconResourceID = 400)]
|
||||||
[Guid(GuidList.guidVsDingExtensionProjectPkgString)]
|
[Guid(GuidList.guidVsDingExtensionProjectPkgString)]
|
||||||
|
[ProvideAutoLoad("{f1536ef8-92ec-443c-9ed7-fdadf150da82}")]
|
||||||
public sealed class VsDingExtensionProjectPackage : Package
|
public sealed class VsDingExtensionProjectPackage : Package
|
||||||
{
|
{
|
||||||
private DTE2 applicationObject;
|
private DTE2 applicationObject;
|
||||||
|
@ -59,25 +62,50 @@ namespace VitaliiGanzha.VsDingExtensionProject
|
||||||
/// </summary>
|
/// </summary>
|
||||||
protected override void Initialize()
|
protected override void Initialize()
|
||||||
{
|
{
|
||||||
Debug.WriteLine (string.Format(CultureInfo.CurrentCulture, "Entering Initialize() of: {0}", this.ToString()));
|
Debug.WriteLine(string.Format(CultureInfo.CurrentCulture, "Entering Initialize() of: {0}",
|
||||||
|
this.ToString()));
|
||||||
base.Initialize();
|
base.Initialize();
|
||||||
|
|
||||||
applicationObject = (DTE2)GetService(typeof(DTE));
|
applicationObject = (DTE2) GetService(typeof (DTE));
|
||||||
|
|
||||||
applicationObject.Events.BuildEvents.OnBuildDone += BuildEventsOnOnBuildDone;
|
applicationObject.Events.BuildEvents.OnBuildDone += BuildEventsOnOnBuildDone;
|
||||||
applicationObject.Events.DebuggerEvents.OnEnterBreakMode += DebuggerEventsOnOnEnterBreakMode;
|
applicationObject.Events.DebuggerEvents.OnEnterBreakMode += DebuggerEventsOnOnEnterBreakMode;
|
||||||
|
|
||||||
IComponentModel componentModel = Microsoft.VisualStudio.Shell.Package.GetGlobalService(typeof(SComponentModel)) as IComponentModel;
|
var componentModel =
|
||||||
|
Microsoft.VisualStudio.Shell.Package.GetGlobalService(typeof (SComponentModel)) as IComponentModel;
|
||||||
|
|
||||||
|
if (componentModel == null)
|
||||||
|
{
|
||||||
|
throw new Exception("componentModel is null");
|
||||||
|
}
|
||||||
|
|
||||||
|
var operationState = componentModel.GetService<IOperationState>();
|
||||||
|
operationState.StateChanged += OperationStateOnStateChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OperationStateOnStateChanged(object sender, OperationStateChangedEventArgs operationStateChangedEventArgs)
|
||||||
|
{
|
||||||
|
if (operationStateChangedEventArgs.State.HasFlag(TestOperationStates.TestExecutionFinished))
|
||||||
|
{
|
||||||
|
PlaySound();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void DebuggerEventsOnOnEnterBreakMode(dbgEventReason reason, ref dbgExecutionAction executionAction)
|
private void DebuggerEventsOnOnEnterBreakMode(dbgEventReason reason, ref dbgExecutionAction executionAction)
|
||||||
{
|
{
|
||||||
System.Media.SystemSounds.Asterisk.Play();
|
PlaySound();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void BuildEventsOnOnBuildDone(vsBuildScope scope, vsBuildAction action)
|
private void BuildEventsOnOnBuildDone(vsBuildScope scope, vsBuildAction action)
|
||||||
{
|
{
|
||||||
System.Media.SystemSounds.Asterisk.Play();
|
PlaySound();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PlaySound()
|
||||||
|
{
|
||||||
|
SoundPlayer player = new SoundPlayer(Resources.ding);
|
||||||
|
player.PlaySync();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
</packages>
|
|
@ -0,0 +1,4 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<repositories>
|
||||||
|
<repository path="..\VsDingExtensionProject\packages.config" />
|
||||||
|
</repositories>
|
Loading…
Reference in New Issue