diff --git a/.gitignore b/.gitignore
index 70dc36a..dbb578c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,6 +15,7 @@ build/
bld/
[Bb]in/
[Oo]bj/
+.vs/
# Roslyn cache directories
*.ide/
diff --git a/VSOStatusInspector.Package/Entities/VSTSStatusResponse.cs b/VSOStatusInspector.Package/Entities/VSTSStatusResponse.cs
new file mode 100644
index 0000000..37711c8
--- /dev/null
+++ b/VSOStatusInspector.Package/Entities/VSTSStatusResponse.cs
@@ -0,0 +1,9 @@
+namespace VSTSStatusMonitor.Entities
+{
+ public class VSTSStatusResponse
+ {
+ public string Status { get; set; }
+ public string Message { get; set; }
+ public string Title { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/VSOStatusInspector.Package/EventArgs/OptionsChangedEventArgs.cs b/VSOStatusInspector.Package/EventArgs/OptionsChangedEventArgs.cs
index 5d24f82..dcb598a 100644
--- a/VSOStatusInspector.Package/EventArgs/OptionsChangedEventArgs.cs
+++ b/VSOStatusInspector.Package/EventArgs/OptionsChangedEventArgs.cs
@@ -1,4 +1,4 @@
-namespace VSOStatusInspector {
+namespace VSTSStatusMonitor {
public class OptionsChangedEventArgs : System.EventArgs {
public double Interval { get; set; }
}
diff --git a/VSOStatusInspector.Package/Guids.cs b/VSOStatusInspector.Package/Guids.cs
index 62420e5..4e16578 100644
--- a/VSOStatusInspector.Package/Guids.cs
+++ b/VSOStatusInspector.Package/Guids.cs
@@ -3,7 +3,7 @@
using System;
-namespace VSOStatusInspector
+namespace VSTSStatusMonitor
{
static class GuidList
{
diff --git a/VSOStatusInspector.Package/NativeMethods.cs b/VSOStatusInspector.Package/NativeMethods.cs
index 709f390..cc61072 100644
--- a/VSOStatusInspector.Package/NativeMethods.cs
+++ b/VSOStatusInspector.Package/NativeMethods.cs
@@ -1,7 +1,7 @@
using System;
using System.Runtime.InteropServices;
-namespace VSOStatusInspector
+namespace VSTSStatusMonitor
{
internal static class NativeMethods
{
diff --git a/VSOStatusInspector.Package/Properties/AssemblyInfo.cs b/VSOStatusInspector.Package/Properties/AssemblyInfo.cs
index 00bbfb4..6bc45ee 100644
--- a/VSOStatusInspector.Package/Properties/AssemblyInfo.cs
+++ b/VSOStatusInspector.Package/Properties/AssemblyInfo.cs
@@ -7,11 +7,11 @@
// 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("VSTS Status Inspector")]
+[assembly: AssemblyTitle("VSTS Status Monitor")]
[assembly: AssemblyDescription("v1.0.0 Release")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Utkarsh Shigihalli & Tarun Arora")]
-[assembly: AssemblyProduct("VSTS Status Inspector")]
+[assembly: AssemblyProduct("VSTS Status Monitor")]
[assembly: AssemblyCopyright("© $YYYY Utkarsh Shigihalli & Tarun Arora")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
diff --git a/VSOStatusInspector.Package/Resources.Designer.cs b/VSOStatusInspector.Package/Resources.Designer.cs
index bb52381..ca8bc85 100644
--- a/VSOStatusInspector.Package/Resources.Designer.cs
+++ b/VSOStatusInspector.Package/Resources.Designer.cs
@@ -1,14 +1,14 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:4.0.30319.0
+// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
//
//------------------------------------------------------------------------------
-namespace VSOStatusInspector {
+namespace VSTSStatusMonitor {
using System;
@@ -19,7 +19,7 @@ namespace VSOStatusInspector {
// 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 {
@@ -39,7 +39,7 @@ internal Resources() {
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("VSOStatusInspector.Resources", typeof(Resources).Assembly);
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("VSTSStatusMonitor.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
diff --git a/VSOStatusInspector.Package/Resources/VSTSStatusInspector.ico b/VSOStatusInspector.Package/Resources/VSTSStatusInspector.ico
new file mode 100644
index 0000000..d323b07
Binary files /dev/null and b/VSOStatusInspector.Package/Resources/VSTSStatusInspector.ico differ
diff --git a/VSOStatusInspector.Package/Resources/VSTSStatusInspectorPackage.ico b/VSOStatusInspector.Package/Resources/VSTSStatusInspectorPackage.ico
new file mode 100644
index 0000000..d323b07
Binary files /dev/null and b/VSOStatusInspector.Package/Resources/VSTSStatusInspectorPackage.ico differ
diff --git a/VSOStatusInspector.Package/VSOStatusInspector.Package.csproj b/VSOStatusInspector.Package/VSOStatusInspector.Package.csproj
deleted file mode 100644
index faa19d5..0000000
--- a/VSOStatusInspector.Package/VSOStatusInspector.Package.csproj
+++ /dev/null
@@ -1,210 +0,0 @@
-
-
-
- 12.0
- $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
- SAK
- SAK
- SAK
- SAK
-
-
-
- Debug
- AnyCPU
- 2.0
- {08A0E9C8-5281-4631-8F31-893151640EF2}
- {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Library
- Properties
- VSOStatusInspector
- VSOStatusInspector
- True
- Key.snk
- v4.5
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
- true
-
-
-
- ..\packages\HtmlAgilityPack.1.4.9\lib\Net45\HtmlAgilityPack.dll
- True
-
-
-
-
-
-
-
-
- true
-
-
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ..\_ExternalReferences\System.Xml.XPath\System.Xml.XPath.dll
-
-
-
-
- {80CC9F66-E7D8-4DDD-85B6-D9E6CD0E93E2}
- 8
- 0
- 0
- primary
- False
- False
-
-
- {26AD1324-4B7C-44BC-84F8-B86AED45729F}
- 10
- 0
- 0
- primary
- False
- False
-
-
- {1A31287A-4D7D-413E-8E32-3B374931BD89}
- 8
- 0
- 0
- primary
- False
- False
-
-
- {2CE2370E-D744-4936-A090-3FFFE667B0E1}
- 9
- 0
- 0
- primary
- False
- False
-
-
- {1CBA492E-7263-47BB-87FE-639000619B15}
- 8
- 0
- 0
- primary
- False
- False
-
-
- {00020430-0000-0000-C000-000000000046}
- 2
- 0
- 0
- primary
- False
- False
-
-
-
-
-
-
-
- Component
-
-
- True
- True
- Resources.resx
-
-
-
-
-
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
- Designer
-
-
- true
- VSPackage
-
-
-
-
-
- Designer
-
-
-
-
-
-
-
- true
-
-
- Always
- true
-
-
- Always
- true
-
-
- Always
- true
-
-
- Always
- true
-
-
- Always
- true
-
-
- Always
- true
-
-
-
- true
-
-
-
-
-
\ No newline at end of file
diff --git a/VSOStatusInspector.Package/VSPackage.resx b/VSOStatusInspector.Package/VSPackage.resx
index ecb00c6..4a6a279 100644
--- a/VSOStatusInspector.Package/VSPackage.resx
+++ b/VSOStatusInspector.Package/VSPackage.resx
@@ -118,13 +118,19 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- VSTS Status Inspector
+ VSTS Status Monitor
- Inspect status of Visual Studio Online inside Visual Studio
+ Monitor status of Visual Studio Team Services inside Visual Studio
Resources\Package.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ Resources\VSTSStatusInspectorPackage.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Resources\VSTSStatusInspector.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
\ No newline at end of file
diff --git a/VSOStatusInspector.Package/VSTSStatusMonitor.Package.csproj b/VSOStatusInspector.Package/VSTSStatusMonitor.Package.csproj
new file mode 100644
index 0000000..0d7f1ef
--- /dev/null
+++ b/VSOStatusInspector.Package/VSTSStatusMonitor.Package.csproj
@@ -0,0 +1,236 @@
+
+
+
+
+ 15.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
+ SAK
+ SAK
+ SAK
+ SAK
+
+
+
+
+ 12.0
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 1.0.0.%2a
+ false
+ false
+ true
+
+
+
+
+
+ Debug
+ AnyCPU
+ 2.0
+ {08A0E9C8-5281-4631-8F31-893151640EF2}
+ {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ Library
+ Properties
+ VSTSStatusMonitor
+ VSTSStatusMonitor
+ True
+ Key.snk
+ v4.5
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+ true
+
+
+
+ False
+ False
+ ..\_ExternalReferences\sdk-vs2015\EnvDTE.dll
+
+
+ False
+ False
+ ..\_ExternalReferences\sdk-vs2015\envdte100.dll
+
+
+ False
+ False
+ ..\_ExternalReferences\sdk-vs2015\envdte80.dll
+
+
+ False
+ False
+ ..\_ExternalReferences\sdk-vs2015\envdte90.dll
+
+
+ ..\packages\HtmlAgilityPack.1.5.1\lib\Net45\HtmlAgilityPack.dll
+
+
+
+ False
+ ..\_ExternalReferences\sdk-vs2015\Microsoft.VisualStudio.OLE.Interop.dll
+
+
+ False
+ ..\_ExternalReferences\sdk-vs2015\Microsoft.VisualStudio.Shell.14.0.dll
+
+
+ False
+ ..\_ExternalReferences\sdk-vs2015\Microsoft.VisualStudio.Shell.Immutable.10.0.dll
+
+
+ False
+ ..\_ExternalReferences\sdk-vs2015\Microsoft.VisualStudio.Shell.Immutable.11.0.dll
+
+
+ False
+ ..\_ExternalReferences\sdk-vs2015\Microsoft.VisualStudio.Shell.Immutable.12.0.dll
+
+
+ False
+ ..\_ExternalReferences\sdk-vs2015\Microsoft.VisualStudio.Shell.Immutable.14.0.dll
+
+
+ False
+ ..\_ExternalReferences\sdk-vs2015\Microsoft.VisualStudio.Shell.Interop.dll
+
+
+ False
+ ..\_ExternalReferences\sdk-vs2015\Microsoft.VisualStudio.Shell.Interop.8.0.dll
+
+
+ False
+ ..\_ExternalReferences\sdk-vs2015\Microsoft.VisualStudio.Shell.Interop.9.0.dll
+
+
+ ..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Component
+
+
+ True
+ True
+ Resources.resx
+
+
+
+
+
+
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+ true
+ VSPackage
+
+
+
+
+
+
+
+
+
+
+
+ true
+ Always
+
+
+ Designer
+
+
+
+
+ Always
+ true
+
+
+ Always
+ true
+
+
+ Always
+ true
+
+
+ Always
+ true
+
+
+ Always
+ true
+
+
+ Always
+ true
+
+
+
+
+ False
+ .NET Framework 3.5 SP1
+ false
+
+
+
+ true
+
+
+
+
+
+ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/VSOStatusInspector.Package/VSOStatusInspectorOptions.cs b/VSOStatusInspector.Package/VSTSStatusMonitorOptions.cs
similarity index 92%
rename from VSOStatusInspector.Package/VSOStatusInspectorOptions.cs
rename to VSOStatusInspector.Package/VSTSStatusMonitorOptions.cs
index 86f916e..06fc727 100644
--- a/VSOStatusInspector.Package/VSOStatusInspectorOptions.cs
+++ b/VSOStatusInspector.Package/VSTSStatusMonitorOptions.cs
@@ -3,11 +3,11 @@
using System.Runtime.InteropServices;
using Microsoft.VisualStudio.Shell;
-namespace VSOStatusInspector
+namespace VSTSStatusMonitor
{
[ClassInterface(ClassInterfaceType.AutoDual)]
[CLSCompliant(false), ComVisible(true)]
- public class VSOStatusInspectorOptions : DialogPage
+ public class VSTSStatusMonitorOptions : DialogPage
{
private int _interval = 60;
diff --git a/VSOStatusInspector.Package/VSOStatusInspectorPackage.cs b/VSOStatusInspector.Package/VSTSStatusMonitorPackage.cs
similarity index 60%
rename from VSOStatusInspector.Package/VSOStatusInspectorPackage.cs
rename to VSOStatusInspector.Package/VSTSStatusMonitorPackage.cs
index ef183a1..10de8e4 100644
--- a/VSOStatusInspector.Package/VSOStatusInspectorPackage.cs
+++ b/VSOStatusInspector.Package/VSTSStatusMonitorPackage.cs
@@ -1,51 +1,44 @@
-using HtmlAgilityPack;
-using Microsoft.VisualStudio.Shell;
-using Microsoft.VisualStudio.Shell.Interop;
-using System;
+using System;
using System.Diagnostics;
+using System.Diagnostics.CodeAnalysis;
using System.Drawing;
using System.Drawing.Drawing2D;
-using System.Globalization;
+using System.Net.Http;
using System.Runtime.InteropServices;
using System.Timers;
+using Microsoft.VisualStudio.Shell;
+using Microsoft.VisualStudio.Shell.Interop;
+using Newtonsoft.Json;
+using VSTSStatusMonitor.Entities;
-namespace VSOStatusInspector
+namespace VSTSStatusMonitor
{
+ [SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1650:ElementDocumentationMustBeSpelledCorrectly", Justification = "pkgdef, VS and vsixmanifest are valid VS terms")]
[PackageRegistration(UseManagedResourcesOnly = true)]
[InstalledProductRegistration("#110", "#112", "1.0", IconResourceID = 400)]
[Guid(GuidList.guidVSOStatusPkgString)]
[ProvideAutoLoad(UIContextGuids80.NoSolution)]
[ProvideAutoLoad(UIContextGuids80.SolutionExists)]
[ProvideBindingPath]
- [ProvideOptionPage(typeof(VSOStatusInspectorOptions), EXTENSION_NAME, "General", 0, 0, true)]
- public sealed class VSOStatusInspectorPackage : Package, IDisposable
+ [ProvideOptionPage(typeof(VSTSStatusMonitorOptions), EXTENSION_NAME, "General", 0, 0, true)]
+ public sealed class VSTSStatusMonitorPackage : Package
{
- private const string EXTENSION_NAME = "VSTS Status Inspector";
+ private const string EXTENSION_NAME = "VSTS Status Monitor";
private IVsStatusbar _bar;
private IntPtr _hdcBitmap = IntPtr.Zero;
- private VSOStatusInspectorOptions _options;
+ private VSTSStatusMonitorOptions _options;
private Guid _paneGuid = new Guid("{170638A1-CFD7-47C8-975A-FBAA9E532AD5}");
private IVsOutputWindow _outputWindow;
private Timer _timer;
- public VSOStatusInspectorPackage()
- {
- }
-
- ///
- /// Initialization of the package; this method is called right after the package is sited, so this is the place
- /// where you can put all the initialization code that rely on services provided by VisualStudio.
- ///
protected override void Initialize()
{
- Debug.WriteLine(string.Format(CultureInfo.CurrentCulture, "Entering Initialize() of: {0}", this.ToString()));
base.Initialize();
-
//Set to unknown icon first
SetIcon(Resources.unknown);
//get interval from options
- _options = (VSOStatusInspectorOptions)GetDialogPage(typeof(VSOStatusInspectorOptions));
+ _options = (VSTSStatusMonitorOptions)GetDialogPage(typeof(VSTSStatusMonitorOptions));
if (_options != null)
{
_options.OnOptionsChanged += OnOptionsChanged;
@@ -59,6 +52,7 @@ protected override void Initialize()
_timer.Interval = TimeSpan.FromSeconds(_options.Interval).TotalMilliseconds;
_timer.Elapsed += OnTimerTick;
_timer.Start();
+
}
private void WriteToOutputWindow(string message)
@@ -75,7 +69,7 @@ private void WriteToOutputWindow(string message)
// Retrieve the new pane.
OutputWindow.GetPane(ref _paneGuid, out outputPane);
- outputPane.OutputStringThreadSafe(string.Format("[{0}]\t{1}", DateTime.Now.ToString("hh:mm:ss tt"), message));
+ outputPane.OutputStringThreadSafe($"[{DateTime.Now:hh:mm:ss tt}]\t{message}");
outputPane.OutputStringThreadSafe(Environment.NewLine);
}
@@ -93,64 +87,41 @@ private void SetIcon(Bitmap icon)
private void OnTimerTick(object sender, ElapsedEventArgs e)
{
- Debug.WriteLine(string.Format("{0}: Checking VSTS status", DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss")));
-
- //set icon to unknown till processing
- SetIcon(Resources.waiting);
-
- HtmlWeb htmlWeb = new HtmlWeb();
- HtmlDocument doc = htmlWeb.Load("https://www.visualstudio.com/en-us/support/support-overview-vs.aspx");
-
+ Debug.WriteLine($"{DateTime.Now:dd-MM-yyyy HH:mm:ss}: Checking VSTS status");
try
{
- var div = doc.DocumentNode.SelectSingleNode("//div[@class='TfsServiceStatus']");
- if (div == null)
- {
- SetIcon(Resources.unknown);
- WriteToOutputWindow("Could not parse the status. Please visit https://www.visualstudio.com/en-us/support/support-overview-vs.aspx");
- return;
- }
- var img = div.SelectSingleNode("//img[@id]");
- var h1 = div.SelectSingleNode("//div[@class='RichText']/div[@class='header']/h1");
- var p = div.SelectSingleNode("//div[@class='RichText']/div[@class='header']/p");
- //var img = doc.DocumentNode.SelectSingleNode("//div[@class='TfsServiceStatus']//img[@id]");
- if (img != null)
+ //set icon to unknown till processing
+ SetIcon(Resources.waiting);
+
+ using (var client = new HttpClient())
{
- var imageId = img.Id.ToUpper();
- if (imageId == "GREEN")
- {
- SetIcon(Resources.green);
- }
- else if (imageId == "YELLOW")
- {
- SetIcon(Resources.yellow);
- }
- else if (imageId == "RED")
- {
- SetIcon(Resources.red);
- }
- else
+ var response = client.GetAsync("https://www.visualstudio.com/wp-json/vscom/v1/service-status").GetAwaiter()
+ .GetResult();
+
+ if (!response.IsSuccessStatusCode)
{
SetIcon(Resources.unknown);
+ WriteToOutputWindow("Could not parse the status. Please visit https://www.visualstudio.com/team-services/support");
+ return;
}
- if (h1 != null && p != null)
+ var content = response.Content.ReadAsStringAsync().GetAwaiter().GetResult();
+
+ var vstsResponse = JsonConvert.DeserializeObject(content);
+
+
+ if (string.Equals("maintenance", vstsResponse.Status, StringComparison.InvariantCultureIgnoreCase))
{
- var msg = string.IsNullOrEmpty(h1.InnerText)
- ? string.Format("Visual Studio Team Services Status - {0}", p.InnerText)
- : string.Format("{0} - {1}", h1.InnerText, p.InnerText);
- WriteToOutputWindow(msg);
+ SetIcon(Resources.red);
+ WriteToOutputWindow($"{vstsResponse.Title} - {vstsResponse.Message}. Please visit https://blogs.msdn.com/b/vsoservice/ for details and history");
+
}
- else
+ else if (string.Equals("available", vstsResponse.Status, StringComparison.InvariantCultureIgnoreCase))
{
- SetIcon(Resources.unknown);
- WriteToOutputWindow("Could not parse the status. Please visit https://www.visualstudio.com/en-us/support/support-overview-vs.aspx");
+ SetIcon(Resources.green);
+ WriteToOutputWindow($"{vstsResponse.Title} - {vstsResponse.Message}.");
+
}
}
- else
- {
- Debug.WriteLine("Found status as Unknown");
- SetIcon(Resources.unknown);
- }
}
catch (Exception exception)
{
@@ -164,37 +135,30 @@ private void OnOptionsChanged(object sender, OptionsChangedEventArgs e)
_timer.Interval = TimeSpan.FromSeconds(e.Interval).TotalMilliseconds;
WriteToOutputWindow(String.Format("Interval changed to {0} seconds", e.Interval));
}
-
- ///
- /// Gets the status bar.
- ///
- /// The status bar.
- private IVsStatusbar StatusBar
+ public IVsOutputWindow OutputWindow
{
get
{
- if (_bar == null)
+ if (_outputWindow == null)
{
- _bar = GetService(typeof(SVsStatusbar)) as IVsStatusbar;
+ _outputWindow = (IVsOutputWindow)GetService(typeof(SVsOutputWindow));
+ return _outputWindow;
}
-
- return _bar;
+ return _outputWindow;
}
}
-
- public IVsOutputWindow OutputWindow
+ private IVsStatusbar StatusBar
{
get
{
- if (_outputWindow == null)
+ if (_bar == null)
{
- _outputWindow = (IVsOutputWindow)GetService(typeof(SVsOutputWindow));
- return _outputWindow;
+ _bar = GetService(typeof(SVsStatusbar)) as IVsStatusbar;
}
- return _outputWindow;
+
+ return _bar;
}
}
-
public static Bitmap ResizeImage(Bitmap imgToResize, int newHeight)
{
//http://stackoverflow.com/questions/25872283/loosing-transparency-in-system-drawing-image-when-using-imageresizer-for-resizin
@@ -226,6 +190,5 @@ public void Dispose()
_timer.Dispose();
}
}
-
}
}
\ No newline at end of file
diff --git a/VSOStatusInspector.Package/app.config b/VSOStatusInspector.Package/app.config
new file mode 100644
index 0000000..26c6615
--- /dev/null
+++ b/VSOStatusInspector.Package/app.config
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/VSOStatusInspector.Package/packages.config b/VSOStatusInspector.Package/packages.config
index 87c301a..b32f10e 100644
--- a/VSOStatusInspector.Package/packages.config
+++ b/VSOStatusInspector.Package/packages.config
@@ -1,4 +1,6 @@
-
+
+
+
\ No newline at end of file
diff --git a/VSOStatusInspector.Package/source.extension.vsixmanifest b/VSOStatusInspector.Package/source.extension.vsixmanifest
index 3e53a4e..dc9ae75 100644
--- a/VSOStatusInspector.Package/source.extension.vsixmanifest
+++ b/VSOStatusInspector.Package/source.extension.vsixmanifest
@@ -1,31 +1,22 @@
-
-
-
- VSTS Status Inspector
- Utkarsh Shigihalli and Tarun Arora
- 1.0
- Inspect status of Visual Studio Team Services inside Visual Studio
- 1033
- Resources\Package.ico
- Resources\preview.png
-
-
- Ultimate
- Premium
- Pro
- IntegratedShell
-
-
- Ultimate
- Premium
- Pro
- IntegratedShell
-
-
-
-
-
- |%CurrentProject%;PkgdefProjectOutputGroup|
- |%CurrentProject%|
-
-
\ No newline at end of file
+
+
+
+
+ VSTS Status Monitor
+ Monitor status of Visual Studio Team Services inside Visual Studio
+ Resources\Package.ico
+ Resources\preview.png
+ VSTS, Visual Studio Team Service, Monitor, Status, Inspector
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/VSOStatusInspector.sln b/VSTSStatusMonitor.sln
similarity index 70%
rename from VSOStatusInspector.sln
rename to VSTSStatusMonitor.sln
index 1224789..9a25473 100644
--- a/VSOStatusInspector.sln
+++ b/VSTSStatusMonitor.sln
@@ -1,16 +1,18 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.40302.0
+# Visual Studio 15
+VisualStudioVersion = 15.0.26730.8
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VSOStatusInspector.Package", "VSOStatusInspector.Package\VSOStatusInspector.Package.csproj", "{08A0E9C8-5281-4631-8F31-893151640EF2}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Other", "Other", "{B5452847-0C10-44E2-AB86-869EA30D9440}"
ProjectSection(SolutionItems) = preProject
+ .gitattributes = .gitattributes
+ .gitignore = .gitignore
appveyor.yml = appveyor.yml
README.md = README.md
EndProjectSection
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VSTSStatusMonitor.Package", "VSOStatusInspector.Package\VSTSStatusMonitor.Package.csproj", "{08A0E9C8-5281-4631-8F31-893151640EF2}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -25,4 +27,7 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {5D4BD204-9159-404C-B6F0-A820EB7A7ABD}
+ EndGlobalSection
EndGlobal
diff --git a/_ExternalReferences/sdk-vs2015/EnvDTE.dll b/_ExternalReferences/sdk-vs2015/EnvDTE.dll
new file mode 100644
index 0000000..6cfdd78
Binary files /dev/null and b/_ExternalReferences/sdk-vs2015/EnvDTE.dll differ
diff --git a/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.ImageCatalog.dll b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.ImageCatalog.dll
new file mode 100644
index 0000000..42c032a
Binary files /dev/null and b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.ImageCatalog.dll differ
diff --git a/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.OLE.Interop.dll b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.OLE.Interop.dll
new file mode 100644
index 0000000..d9bbd3b
Binary files /dev/null and b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.OLE.Interop.dll differ
diff --git a/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.14.0.dll b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.14.0.dll
new file mode 100644
index 0000000..6f374bb
Binary files /dev/null and b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.14.0.dll differ
diff --git a/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Immutable.10.0.dll b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Immutable.10.0.dll
new file mode 100644
index 0000000..55701fd
Binary files /dev/null and b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Immutable.10.0.dll differ
diff --git a/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Immutable.11.0.dll b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Immutable.11.0.dll
new file mode 100644
index 0000000..d6b7bb3
Binary files /dev/null and b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Immutable.11.0.dll differ
diff --git a/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Immutable.12.0.dll b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Immutable.12.0.dll
new file mode 100644
index 0000000..40777cc
Binary files /dev/null and b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Immutable.12.0.dll differ
diff --git a/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Immutable.14.0.dll b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Immutable.14.0.dll
new file mode 100644
index 0000000..a670f9d
Binary files /dev/null and b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Immutable.14.0.dll differ
diff --git a/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Interop.10.0.dll b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Interop.10.0.dll
new file mode 100644
index 0000000..a138f1a
Binary files /dev/null and b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Interop.10.0.dll differ
diff --git a/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Interop.11.0.dll b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Interop.11.0.dll
new file mode 100644
index 0000000..7103752
Binary files /dev/null and b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Interop.11.0.dll differ
diff --git a/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Interop.12.0.dll b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Interop.12.0.dll
new file mode 100644
index 0000000..d218915
Binary files /dev/null and b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Interop.12.0.dll differ
diff --git a/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Interop.8.0.dll b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Interop.8.0.dll
new file mode 100644
index 0000000..c3b3f59
Binary files /dev/null and b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Interop.8.0.dll differ
diff --git a/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Interop.9.0.dll b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Interop.9.0.dll
new file mode 100644
index 0000000..26adca0
Binary files /dev/null and b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Interop.9.0.dll differ
diff --git a/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Interop.dll b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Interop.dll
new file mode 100644
index 0000000..571ab91
Binary files /dev/null and b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.Interop.dll differ
diff --git a/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.dll b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.dll
new file mode 100644
index 0000000..f4b08a2
Binary files /dev/null and b/_ExternalReferences/sdk-vs2015/Microsoft.VisualStudio.Shell.dll differ
diff --git a/_ExternalReferences/sdk-vs2015/envdte100.dll b/_ExternalReferences/sdk-vs2015/envdte100.dll
new file mode 100644
index 0000000..f1da089
Binary files /dev/null and b/_ExternalReferences/sdk-vs2015/envdte100.dll differ
diff --git a/_ExternalReferences/sdk-vs2015/envdte80.dll b/_ExternalReferences/sdk-vs2015/envdte80.dll
new file mode 100644
index 0000000..d4f6324
Binary files /dev/null and b/_ExternalReferences/sdk-vs2015/envdte80.dll differ
diff --git a/_ExternalReferences/sdk-vs2015/envdte90.dll b/_ExternalReferences/sdk-vs2015/envdte90.dll
new file mode 100644
index 0000000..2bd2d64
Binary files /dev/null and b/_ExternalReferences/sdk-vs2015/envdte90.dll differ
diff --git a/appveyor.yml b/appveyor.yml
index 1c46d56..2d14e61 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,4 +1,4 @@
-image: Visual Studio 2015
+image: Visual Studio 2017
install:
- ps: (new-object Net.WebClient).DownloadString("https://raw.github.com/madskristensen/ExtensionScripts/master/AppVeyor/vsix.ps1") | iex