+ Building a VS Tool Window package is easy. Deploying it apparently is not, and
+ because we deploy even at dev time with a setup.exe, we need to deploy it. VS
+ Tool Window packages use WPF UserControls though, so for now we use this
+ separate standalone EXE which uses WPF UserControls.
+
+
+
\ No newline at end of file
diff --git a/source2/VSIP/Cosmos.VS.Windows/Cosmos.VS.Windows.csproj b/source2/VSIP/Cosmos.VS.Windows/Cosmos.VS.Windows.csproj
new file mode 100644
index 000000000..d1dd5f937
--- /dev/null
+++ b/source2/VSIP/Cosmos.VS.Windows/Cosmos.VS.Windows.csproj
@@ -0,0 +1,184 @@
+
+
+
+ Debug
+ AnyCPU
+ 2.0
+ {47E8F3DC-FF3F-4CC7-8643-1807260B0B18}
+ {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ Library
+ Properties
+ Cosmos.Cosmos_VS_Windows
+ Cosmos.VS.Windows
+ True
+ Key.snk
+ v4.0
+ SAK
+ SAK
+ SAK
+ SAK
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+ true
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {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
+
+
+
+
+ MyControl.xaml
+
+
+
+
+ True
+ True
+ Resources.resx
+
+
+
+
+
+
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+ true
+ VSPackage
+
+
+
+
+ Designer
+
+
+
+
+
+
+
+ Menus.ctmenu
+
+
+
+
+
+
+
+
+
+
+
+ Designer
+ MSBuild:Compile
+
+
+
+ true
+
+
+
+
+
\ No newline at end of file
diff --git a/source2/VSIP/Cosmos.VS.Windows/Cosmos.VS.Windows.csproj.vspscc b/source2/VSIP/Cosmos.VS.Windows/Cosmos.VS.Windows.csproj.vspscc
new file mode 100644
index 000000000..feffdecaa
--- /dev/null
+++ b/source2/VSIP/Cosmos.VS.Windows/Cosmos.VS.Windows.csproj.vspscc
@@ -0,0 +1,10 @@
+""
+{
+"FILE_VERSION" = "9237"
+"ENLISTMENT_CHOICE" = "NEVER"
+"PROJECT_FILE_RELATIVE_PATH" = ""
+"NUMBER_OF_EXCLUDED_FILES" = "0"
+"ORIGINAL_PROJECT_FILE_PATH" = ""
+"NUMBER_OF_NESTED_PROJECTS" = "0"
+"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
+}
diff --git a/source2/VSIP/Cosmos.VS.Windows/Cosmos.VS.Windows.vsct b/source2/VSIP/Cosmos.VS.Windows/Cosmos.VS.Windows.vsct
new file mode 100644
index 000000000..3ab79d611
--- /dev/null
+++ b/source2/VSIP/Cosmos.VS.Windows/Cosmos.VS.Windows.vsct
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/source2/VSIP/Cosmos.VS.Windows/Cosmos.VS.WindowsPackage.cs b/source2/VSIP/Cosmos.VS.Windows/Cosmos.VS.WindowsPackage.cs
new file mode 100644
index 000000000..3cb61d4d9
--- /dev/null
+++ b/source2/VSIP/Cosmos.VS.Windows/Cosmos.VS.WindowsPackage.cs
@@ -0,0 +1,95 @@
+using System;
+using System.Diagnostics;
+using System.Globalization;
+using System.Runtime.InteropServices;
+using System.ComponentModel.Design;
+using Microsoft.Win32;
+using Microsoft.VisualStudio;
+using Microsoft.VisualStudio.Shell.Interop;
+using Microsoft.VisualStudio.OLE.Interop;
+using Microsoft.VisualStudio.Shell;
+
+namespace Cosmos.Cosmos_VS_Windows
+{
+ ///
+ /// This is the class that implements the package exposed by this assembly.
+ ///
+ /// The minimum requirement for a class to be considered a valid package for Visual Studio
+ /// is to implement the IVsPackage interface and register itself with the shell.
+ /// This package uses the helper classes defined inside the Managed Package Framework (MPF)
+ /// to do it: it derives from the Package class that provides the implementation of the
+ /// IVsPackage interface and uses the registration attributes defined in the framework to
+ /// register itself and its components with the shell.
+ ///
+ // This attribute tells the PkgDef creation utility (CreatePkgDef.exe) that this class is
+ // a package.
+ [PackageRegistration(UseManagedResourcesOnly = true)]
+ // This attribute is used to register the informations needed to show the this package
+ // in the Help/About dialog of Visual Studio.
+ [InstalledProductRegistration("#110", "#112", "1.0", IconResourceID = 400)]
+ // This attribute is needed to let the shell know that this package exposes some menus.
+ [ProvideMenuResource("Menus.ctmenu", 1)]
+ // This attribute registers a tool window exposed by this package.
+ [ProvideToolWindow(typeof(MyToolWindow))]
+ [Guid(GuidList.guidCosmos_VS_WindowsPkgString)]
+ public sealed class Cosmos_VS_WindowsPackage : Package
+ {
+ ///
+ /// Default constructor of the package.
+ /// Inside this method you can place any initialization code that does not require
+ /// any Visual Studio service because at this point the package object is created but
+ /// not sited yet inside Visual Studio environment. The place to do all the other
+ /// initialization is the Initialize method.
+ ///
+ public Cosmos_VS_WindowsPackage()
+ {
+ Trace.WriteLine(string.Format(CultureInfo.CurrentCulture, "Entering constructor for: {0}", this.ToString()));
+ }
+
+ ///
+ /// This function is called when the user clicks the menu item that shows the
+ /// tool window. See the Initialize method to see how the menu item is associated to
+ /// this function using the OleMenuCommandService service and the MenuCommand class.
+ ///
+ private void ShowToolWindow(object sender, EventArgs e)
+ {
+ // Get the instance number 0 of this tool window. This window is single instance so this instance
+ // is actually the only one.
+ // The last flag is set to true so that if the tool window does not exists it will be created.
+ ToolWindowPane window = this.FindToolWindow(typeof(MyToolWindow), 0, true);
+ if ((null == window) || (null == window.Frame))
+ {
+ throw new NotSupportedException(Resources.CanNotCreateWindow);
+ }
+ IVsWindowFrame windowFrame = (IVsWindowFrame)window.Frame;
+ Microsoft.VisualStudio.ErrorHandler.ThrowOnFailure(windowFrame.Show());
+ }
+
+
+ /////////////////////////////////////////////////////////////////////////////
+ // Overriden Package Implementation
+ #region Package Members
+
+ ///
+ /// 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 initilaization code that rely on services provided by VisualStudio.
+ ///
+ protected override void Initialize()
+ {
+ Trace.WriteLine (string.Format(CultureInfo.CurrentCulture, "Entering Initialize() of: {0}", this.ToString()));
+ base.Initialize();
+
+ // Add our command handlers for menu (commands must exist in the .vsct file)
+ OleMenuCommandService mcs = GetService(typeof(IMenuCommandService)) as OleMenuCommandService;
+ if ( null != mcs )
+ {
+ // Create the command for the tool window
+ CommandID toolwndCommandID = new CommandID(GuidList.guidCosmos_VS_WindowsCmdSet, (int)PkgCmdIDList.cmdidCosmosAssembly);
+ MenuCommand menuToolWin = new MenuCommand(ShowToolWindow, toolwndCommandID);
+ mcs.AddCommand( menuToolWin );
+ }
+ }
+ #endregion
+
+ }
+}
diff --git a/source2/VSIP/Cosmos.VS.Windows/GlobalSuppressions.cs b/source2/VSIP/Cosmos.VS.Windows/GlobalSuppressions.cs
new file mode 100644
index 000000000..f0857cbb0
--- /dev/null
+++ b/source2/VSIP/Cosmos.VS.Windows/GlobalSuppressions.cs
@@ -0,0 +1,11 @@
+// This file is used by Code Analysis to maintain SuppressMessage
+// attributes that are applied to this project. Project-level
+// suppressions either have no target or are given a specific target
+// and scoped to a namespace, type, member, etc.
+//
+// To add a suppression to this file, right-click the message in the
+// Error List, point to "Suppress Message(s)", and click "In Project
+// Suppression File". You do not need to add suppressions to this
+// file manually.
+
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1017:MarkAssembliesWithComVisible")]
diff --git a/source2/VSIP/Cosmos.VS.Windows/Guids.cs b/source2/VSIP/Cosmos.VS.Windows/Guids.cs
new file mode 100644
index 000000000..c05c95677
--- /dev/null
+++ b/source2/VSIP/Cosmos.VS.Windows/Guids.cs
@@ -0,0 +1,15 @@
+// Guids.cs
+// MUST match guids.h
+using System;
+
+namespace Cosmos.Cosmos_VS_Windows
+{
+ static class GuidList
+ {
+ public const string guidCosmos_VS_WindowsPkgString = "a82b45e9-2a89-43bd-925d-c7f0edd212aa";
+ public const string guidCosmos_VS_WindowsCmdSetString = "3d4b3f35-36e7-4cea-8acc-d9601e45c0b9";
+ public const string guidToolWindowPersistanceString = "f019fb29-c2c2-4d27-9abf-739533c939be";
+
+ public static readonly Guid guidCosmos_VS_WindowsCmdSet = new Guid(guidCosmos_VS_WindowsCmdSetString);
+ };
+}
\ No newline at end of file
diff --git a/source2/VSIP/Cosmos.VS.Windows/Key.snk b/source2/VSIP/Cosmos.VS.Windows/Key.snk
new file mode 100644
index 0000000000000000000000000000000000000000..4f2c3e0bd2de885d47584ae222078c6d59e4f3d3
GIT binary patch
literal 596
zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097}Tpk+YmlZ<8?Z2%5Gb)S%q^5>^ovASl
z??d2HS73dWu8;QC6(q42uZRTVCO7Wp!1dffqrAf8y!yqQjv>oICCV4S>scXIlxnI3
zxM~4~k}t#V_(4{G)(LF(69fvQu=2lL3EDWAoe_D7_yteVEr=rZSg{%D2vYLWqR`RP
zP&y5;LTZlM_&=PbC!>X#8;}Lu%Y})|c`$g4*uREfIQI6;%GS{zN##b9tKWYD?Fb`?
z)3U6t`RZ2a$)WXK0QCk#5XFaARvDZ}1YvdOp^j#Ki6@e1R_{umlY()f#lt@g>~9eW
z`-^WXFCSU`RxDSKRGD`VLk<2_(yQ8EcAEJ+8TDi;(+4J}a8T!otBJCx*VdIK;P
zr02s@tEB_dgrBFZ9#L?jmhxw$)Nw(5fMw4f*}#_5ISCUnvTc?AZ3UPmcqHP!9ndS^
zQv@V#(G^fhpF>->fgj-?!}8Coa9N9H_Fcr3x~^U^e7;%BsarMPq%JATn}Uly$CrL#
zr|7$mJ833vp=Tvfh4K7){y;k7z+5b6A7K~UsT1Bzk%LFHQD#O600E~wY=pOUf+z5U
z5gDY)qfrx?q~93_#C)GX=#p!SWB8Cl4z!A2L9^D?NFq!Wjo;6|>O_kk#4bFmaOi)D
zhUzKs>|Rs%OeiH*LyIQ
+
+
+ This is a toolwindow with WPF content
+
+
+
+
diff --git a/source2/VSIP/Cosmos.VS.Windows/MyControl.xaml.cs b/source2/VSIP/Cosmos.VS.Windows/MyControl.xaml.cs
new file mode 100644
index 000000000..bd468bf90
--- /dev/null
+++ b/source2/VSIP/Cosmos.VS.Windows/MyControl.xaml.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace Cosmos.Cosmos_VS_Windows
+{
+ ///
+ /// Interaction logic for MyControl.xaml
+ ///
+ public partial class MyControl : UserControl
+ {
+ public MyControl()
+ {
+ InitializeComponent();
+ }
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1300:SpecifyMessageBoxOptions")]
+ private void button1_Click(object sender, RoutedEventArgs e)
+ {
+ MessageBox.Show(string.Format(System.Globalization.CultureInfo.CurrentUICulture, "We are inside {0}.button1_Click()", this.ToString()),
+ "Cosmos Assembly Window");
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/source2/VSIP/Cosmos.VS.Windows/MyToolWindow.cs b/source2/VSIP/Cosmos.VS.Windows/MyToolWindow.cs
new file mode 100644
index 000000000..bf06b053b
--- /dev/null
+++ b/source2/VSIP/Cosmos.VS.Windows/MyToolWindow.cs
@@ -0,0 +1,47 @@
+using System;
+using System.Collections;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Windows;
+using System.Runtime.InteropServices;
+using Microsoft.VisualStudio.Shell.Interop;
+using Microsoft.VisualStudio.Shell;
+
+namespace Cosmos.Cosmos_VS_Windows
+{
+ ///
+ /// This class implements the tool window exposed by this package and hosts a user control.
+ ///
+ /// In Visual Studio tool windows are composed of a frame (implemented by the shell) and a pane,
+ /// usually implemented by the package implementer.
+ ///
+ /// This class derives from the ToolWindowPane class provided from the MPF in order to use its
+ /// implementation of the IVsUIElementPane interface.
+ ///
+ [Guid("f019fb29-c2c2-4d27-9abf-739533c939be")]
+ public class MyToolWindow : ToolWindowPane
+ {
+ ///
+ /// Standard constructor for the tool window.
+ ///
+ public MyToolWindow() :
+ base(null)
+ {
+ // Set the window title reading it from the resources.
+ this.Caption = Resources.ToolWindowTitle;
+ // Set the image that will appear on the tab of the window frame
+ // when docked with an other window
+ // The resource ID correspond to the one defined in the resx file
+ // while the Index is the offset in the bitmap strip. Each image in
+ // the strip being 16x16.
+ this.BitmapResourceID = 301;
+ this.BitmapIndex = 1;
+
+ // This is the user control hosted by the tool window; Note that, even if this class implements IDisposable,
+ // we are not calling Dispose on this object. This is because ToolWindowPane calls Dispose on
+ // the object returned by the Content property.
+ base.Content = new MyControl();
+ }
+ }
+}
diff --git a/source2/VSIP/Cosmos.VS.Windows/PkgCmdID.cs b/source2/VSIP/Cosmos.VS.Windows/PkgCmdID.cs
new file mode 100644
index 000000000..6d30bcf5c
--- /dev/null
+++ b/source2/VSIP/Cosmos.VS.Windows/PkgCmdID.cs
@@ -0,0 +1,13 @@
+// PkgCmdID.cs
+// MUST match PkgCmdID.h
+using System;
+
+namespace Cosmos.Cosmos_VS_Windows
+{
+ static class PkgCmdIDList
+ {
+
+ public const uint cmdidCosmosAssembly = 0x101;
+
+ };
+}
\ No newline at end of file
diff --git a/source2/VSIP/Cosmos.VS.Windows/Properties/AssemblyInfo.cs b/source2/VSIP/Cosmos.VS.Windows/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..0e91e9ccb
--- /dev/null
+++ b/source2/VSIP/Cosmos.VS.Windows/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("Cosmos.VS.Windows")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Cosmos")]
+[assembly: AssemblyProduct("Cosmos.VS.Windows")]
+[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/source2/VSIP/Cosmos.VS.Windows/Resources.Designer.cs b/source2/VSIP/Cosmos.VS.Windows/Resources.Designer.cs
new file mode 100644
index 000000000..d17e2b1a5
--- /dev/null
+++ b/source2/VSIP/Cosmos.VS.Windows/Resources.Designer.cs
@@ -0,0 +1,81 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.42
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Cosmos.Cosmos_VS_Windows {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // 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", "2.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Cosmos.Cosmos_VS_Windows.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Can not create tool window..
+ ///
+ internal static string CanNotCreateWindow {
+ get {
+ return ResourceManager.GetString("CanNotCreateWindow", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to My Tool Window.
+ ///
+ internal static string ToolWindowTitle {
+ get {
+ return ResourceManager.GetString("ToolWindowTitle", resourceCulture);
+ }
+ }
+ }
+}
diff --git a/source2/VSIP/Cosmos.VS.Windows/Resources.resx b/source2/VSIP/Cosmos.VS.Windows/Resources.resx
new file mode 100644
index 000000000..bdcda7302
--- /dev/null
+++ b/source2/VSIP/Cosmos.VS.Windows/Resources.resx
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Can not create tool window.
+
+
+ Cosmos Assembly Window
+
+
\ No newline at end of file
diff --git a/source2/VSIP/Cosmos.VS.Windows/Resources/Images_24bit.bmp b/source2/VSIP/Cosmos.VS.Windows/Resources/Images_24bit.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..d4751234fd1120cb15959b991a412a4b09a9f3c9
GIT binary patch
literal 3896
zcmds(TToL+7{}9grsK2^b(}u%)H>4#+d73#m8zq?2+fRD5mc%`6)M#fL?R7W1v3ye
z0Tkt?paN|*fJh+{ZY@-9VyJ*ONF_}%2$YMF074RkK)2sv?O|uniOTe)(=&Sx-}&~x
zyZ>MI!f|n1`I=z%`VgLP!|eh0LbzWLIKWdNcoFIsy^8PI1U!%c{TE6{M~5UVOw-i#
zZ_Hfz@?GBMWd2BycU-_1(mh+Ecex+%+ZeuMU8s*RWV@@_^V5A>KHlrTI$+Z((S{Yf
zKX;xj%jT=+H9#dbO&T{3_YaavT}5HIN?n6qc}sUg%Rd)gz0-BS&QP5Ilv(OZCGjid
zS!Bijo#?r*-Rqs_tLHU9CNb>N42?oJvO6soSH1iWTCikvt%p|o2aT-yX~N^Hdk$}m
zlAQp~beeD9;my1Ss#xS>p}V-a6%`e*)RjslRrSrr6{KFL(V7`?yuFG`T>^Wg(g4>T-+fbgMSKKbuv;!I>fO(-T=2%
zq~2sQQLv7Vj%073XAKPY7;aP*rNsnAdVLn@<(hRUsIchA_m;a*GmG`W`2H5O*cB~Y
zhAxym;qB~3k|R?XHa_Dq+cO&gG8>ZtnNK|!NIHBvZ_ws7lpfXqAS)CKZYPidJs#I^
z_qII1Gdpfi?Rn|#B1PG$(6n%GI3nC*Q^;jZn!MMG77H2PmzJRGZRpQIbgp2=!I_!a
zfT)q)etQ3sZ6UrH{1KJGucxJAu2p;U8@%-su3jdS0Wv%-77NuC=wXxz%Xor#M}6V3
zp*xp`+lq&7
z@>!XLG6}Etc=vB};nibgp-@P51$v;kR#|-cOx##k)p&RPSaP
zAzJ%2TIqxQ4+MLM
zjl81J8egX5SK3ulJ=o(_o{*9bRVo$O#uu0OfZqmE52T>PjF=Z*$=*N@Hfk^D-D<3u
zv>2zS#;0v&n|0V~(vKSIhi({ry>KMkFX5>9P(PxXEjckv%@YGS#A&$$-%XxXF
zqOFu3)-y1I7%m8?BO3JJb9{8TzO>+urp9VEPFnk|V+OPFW}jAFo)de}cm2bGJ}z%o
zF$$D3uo21VO7k3DRTGNOVJ5mwKbNGM;|~wug~EPDvYO(|L@uwrj4W{5eD!#sf%~0x
z>VoFl(z`9y25t3Kb!KjIL{g}qwz+|I!UoalXnQ0B8=j0BZqi&mgA8nL1)XP`Lx7Qa
z{~wiPolu=gEIcj0n0h$(WbFCl(ci^KWgQLAl!cs7L2v@-@prJ{Du$1^E=ddv&^^d|qyT7lqi
D16Nez
literal 0
HcmV?d00001
diff --git a/source2/VSIP/Cosmos.VS.Windows/Resources/Images_32bit.bmp b/source2/VSIP/Cosmos.VS.Windows/Resources/Images_32bit.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..2fa7ab009985537a36a1ae9c5e8391b24da89217
GIT binary patch
literal 5176
zcmdUzc~DbF9LJ+|tkcf4j$=ngJC>OqwzcAYRjpN;)_Q?Qy^456L=jXXhoTgs0^W+K
zs6eZNsHi9iR;dVzpm-smAZk!hK;)7m2qF1)f01WjHV2)tf7s0Yvim!}`}Tcici&4!
zjvLfbqWcVB-(NDbW!9cqD~TohmPlH&e24d6nJ&P-0Q~PPCnx7y*X7I8Q`6EW{MYk8
z|LfOmNYhOC{932!@OAtJ-t#BIYmN<8%o+cW%8}!*63u}kvEcEJLV-jKW-lw^^k&Qk=
z%vhUW*kqY>MKj!3j@ZYO@$m5QU=}mrw_xl*aQZH}xw*fs
zU%x(*bi9e@OMTMwG2Yi|wXG;-ik(p3Z46W$`a{#MI~rDP#g>vXbQW?AjcA*htL-sl
zd{GLqGscf9~bjDhNv5?#9;b5wMKui1_#|;Lj?^0e~?!j{--^$ABk#J3+CB4w6
zwxmGW`^LHB`*y5yy5ceIhZ>J*)(Bbc^f>DHF}EK5MuJ~=dfGB{?KKe^OKWJ`_XQ4~
z!aO1W;4waTUE8=>U>C6arH7E?TVlw^#6F)7T)EIxJ~Nc|JA-X}w(IR#K__k>
z7NVD>6d-=@bOWwtV%U=sblrDEv%sQ%RSEHP^sGEuSfu$_tTWfY={$_3_0Ju#zsuXj
zRK7)i&Xb12h+cPYDin$+Vn}UWU7Z`dhyj1nvyY^{uBPL97rPh9Q5#Wq`zR_hPoV5p
zB#P6*kQ=iB`+euab;`)s=N)NG8QZt7*WvtCIArgRSm`YFm5%*t;H*%ey?9OYlPN79
zr*n?>t2u^y6|PLCHy=80$XevLgx!-7J>45y1&|92rBdl_@|o$~H|Z&M`OJv}C-?Z)
zSLdHY&EsTLGpkZ2pgcDQ#n%oZi><{#`BXSN%&g_dFy_-bv|`(k_VXv~62wkAM^o^i
z0Blw2&%u;0u%lM|yx{9Y{oGkdZ%mm+qoG4lChWuJ=f`}mPU1RE3M2XtSzRY)dJLP#
z(BnsX8uL`x_J=qA3P)|pb*L(GP+ysc+R{u^7hFc!omdoJ3PoIyD*{~XZ&H0r_N*M1
z!BN;Yf}MbaW&m?n<8o>Sr0OQLX-UiHi5(vk`+sa$$>(Ks*1Nd4oCyjF+E07X6hC+N
zp2+Emo4mBNbcIr>T+RA2+PgGH&z?Q=nXh;6q^HPpenSc4{YE!3(C
zsLJ!$K2Bz5;SnSqSdA5Sqbm6^ct7bnX1i`i4zXM0hbMWD&|6@5`XUVW5U=O`miR?(
zS1^elzuwH3r=+9=SXfw8(tS7cGdTaf=GuVM>((EgcLGCNchsl#%w0!9dWt>HyBn5#
z`fyFv^FpW_8M}rTXk;ww%5(4{{{o7xg(Ga8BjO`NXtE~PUQ_~n76%}o*g330$*CmJ
z;Uq~+$GqvDXdsSzk7J9uG5B0d{GxWQV-kZoeZgW*adB~5&GGYgm;@twJKDd*i?jl}
z=4Y_py_24vV-OeSgO&E98=n_H{mjT*
zbz_E{!0v^9C?t07+mLZS9Wrt4xil;a2tyn(%*-=<7ZBG{UwD@$eq`d`Y~tDz!5f%s
zz>nr+#Z3I}X0ZMg3#Y({o}M4$I4zAsv3AT}GbFv>7e9L7lN56#BmF{b{oQK`P-Z9K
zQcN%+wz*@od{$X@`bC553tF!rT%GCx5IeVRxP9@aaXtkl_=ea;#ABnNHP;FZ&Aq>z
z3fY3_JsS|U%MXVG*C1l64-Rbd!tVi|2wCTbV8v4G^j?fWuZ6nb8k?5SMZi*fo%uP>
zz?i?FvXFmVz8}XbZlD`2e)heX`
literal 0
HcmV?d00001
diff --git a/source2/VSIP/Cosmos.VS.Windows/Resources/Package.ico b/source2/VSIP/Cosmos.VS.Windows/Resources/Package.ico
new file mode 100644
index 0000000000000000000000000000000000000000..ea3b23fe8d4b3a45be89f9286e617624007290be
GIT binary patch
literal 1078
zcmc&xJ8l9o5PeG`(IBx$SZ#smxB@50S<)>X?vjox?E$y~f|6^vHuyg004_Ke13iCf4sF{q
z;lqOW`lIoaB$u%Ct2e&_Qe3Xk#6xfx?>a7JsvGS1C78t@vc9%2c8+y#&J#+
z%g
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ Cosmos.VS.Windows
+
+
+ Cosmos Tool Windows Package
+
+
+ Resources\Package.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Resources\Images_24bit.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
\ No newline at end of file
diff --git a/source2/VSIP/Cosmos.VS.Windows/source.extension.vsixmanifest b/source2/VSIP/Cosmos.VS.Windows/source.extension.vsixmanifest
new file mode 100644
index 000000000..e85d35f5c
--- /dev/null
+++ b/source2/VSIP/Cosmos.VS.Windows/source.extension.vsixmanifest
@@ -0,0 +1,25 @@
+
+
+
+ Cosmos.VS.Windows
+ Cosmos
+ 1.0
+ Cosmos Tool Windows Package
+ 1033
+ false
+
+
+ Pro
+
+
+
+
+
+
+ Visual Studio MPF
+
+
+
+ |%CurrentProject%;PkgdefProjectOutputGroup|
+
+