diff --git a/minisqlquery-master/src/SDK/PlugInProjectTemplate/assemblyinfo.cs b/minisqlquery-master/src/SDK/PlugInProjectTemplate/assemblyinfo.cs
new file mode 100644
index 0000000..ae48888
--- /dev/null
+++ b/minisqlquery-master/src/SDK/PlugInProjectTemplate/assemblyinfo.cs
@@ -0,0 +1,27 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyTitle("$projectname$")]
+[assembly: AssemblyDescription("A Mini SQL Query Plugin for ")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("$registeredorganization$")]
+[assembly: AssemblyProduct("$projectname$")]
+[assembly: AssemblyCopyright("Copyright © $registeredorganization$ $year$")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+[assembly: ComVisible(false)]
+[assembly: Guid("$guid1$")]
+
+// 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 Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/minisqlquery-master/src/SDK/PlugInProjectTemplate/COMPANY.PLUGINNAME.PlugIn.csproj b/minisqlquery-master/src/SDK/PlugInProjectTemplate/COMPANY.PLUGINNAME.PlugIn.csproj
new file mode 100644
index 0000000..7bf2a34
--- /dev/null
+++ b/minisqlquery-master/src/SDK/PlugInProjectTemplate/COMPANY.PLUGINNAME.PlugIn.csproj
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>9.0.21022</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>$guid1$</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>$safeprojectname$</RootNamespace>
+ <AssemblyName>$safeprojectname$</AssemblyName>
+ <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>..\..\..\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>..\..\..\Build\Debug</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="ICSharpCode.TextEditor">
+ <HintPath>..\..\..\References\ICSharpCode.TextEditor.dll</HintPath>
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="MiniSqlQuery.Core">
+ <HintPath>..\..\..\Build\Debug\MiniSqlQuery.Core.dll</HintPath>
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Xml" />
+ <Reference Include="System.Drawing" />
+ <Reference Include="System.Windows.Forms" />
+ <Reference Include="WeifenLuo.WinFormsUI.Docking">
+ <HintPath>..\..\..\References\WeifenLuo.WinFormsUI.Docking.dll</HintPath>
+ <Private>False</Private>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Commands\SampleCommand.cs" />
+ <Compile Include="Form1.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="Form1.Designer.cs">
+ <DependentUpon>Form1.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Loader.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project>
\ No newline at end of file
diff --git a/minisqlquery-master/src/SDK/PlugInProjectTemplate/csWindowsApplication.vstemplate b/minisqlquery-master/src/SDK/PlugInProjectTemplate/csWindowsApplication.vstemplate
new file mode 100644
index 0000000..856ab35
--- /dev/null
+++ b/minisqlquery-master/src/SDK/PlugInProjectTemplate/csWindowsApplication.vstemplate
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<VSTemplate Version="3.0.0" Type="Project" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
+ <TemplateData>
+ <Name>Mini SQL Query Plugin</Name>
+ <Description>A Mini SQL plugin DLL.</Description>
+ <Icon>minisqlqueryplugin.ico</Icon>
+ <ProjectType>CSharp</ProjectType>
+ <RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
+ <CreateNewFolder>true</CreateNewFolder>
+ <DefaultName>COMPANY.PLUGINNAME.PlugIn</DefaultName>
+ <ProvideDefaultName>true</ProvideDefaultName>
+ </TemplateData>
+ <TemplateContent>
+ <Project File="COMPANY.PLUGINNAME.PlugIn.csproj" ReplaceParameters="true">
+ <ProjectItem ReplaceParameters="true" TargetFileName="Properties\AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>
+ <ProjectItem ReplaceParameters="true" TargetFileName="Commands\SampleCommand.cs">SampleCommand.cs</ProjectItem>
+ <ProjectItem ReplaceParameters="true">Form1.cs</ProjectItem>
+ <ProjectItem ReplaceParameters="true">Form1.Designer.cs</ProjectItem>
+ <ProjectItem ReplaceParameters="true" OpenInEditor="true">Loader.cs</ProjectItem>
+ </Project>
+ </TemplateContent>
+</VSTemplate>
diff --git a/minisqlquery-master/src/SDK/PlugInProjectTemplate/form1.cs b/minisqlquery-master/src/SDK/PlugInProjectTemplate/form1.cs
new file mode 100644
index 0000000..f9f82fc
--- /dev/null
+++ b/minisqlquery-master/src/SDK/PlugInProjectTemplate/form1.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+
+namespace $safeprojectname$
+{
+ public partial class Form1: Form
+ {
+ public Form1()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/minisqlquery-master/src/SDK/PlugInProjectTemplate/form1.designer.cs b/minisqlquery-master/src/SDK/PlugInProjectTemplate/form1.designer.cs
new file mode 100644
index 0000000..15f9ec3
--- /dev/null
+++ b/minisqlquery-master/src/SDK/PlugInProjectTemplate/form1.designer.cs
@@ -0,0 +1,39 @@
+namespace $safeprojectname$
+{
+ partial class Form1
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Text = "Form1";
+ }
+
+ #endregion
+ }
+}
+
diff --git a/minisqlquery-master/src/SDK/PlugInProjectTemplate/Loader.cs b/minisqlquery-master/src/SDK/PlugInProjectTemplate/Loader.cs
new file mode 100644
index 0000000..13041f3
--- /dev/null
+++ b/minisqlquery-master/src/SDK/PlugInProjectTemplate/Loader.cs
@@ -0,0 +1,21 @@
+using System;
+using $safeprojectname$.Commands;
+using MiniSqlQuery.Core;
+
+namespace $safeprojectname$
+{
+ public class Loader : PluginLoaderBase
+ {
+ public Loader() : base(
+ "My Plugin Name",
+ "My Plugin Description.")
+ {
+ }
+
+ public override void InitializePlugIn()
+ {
+ Services.HostWindow.AddPluginCommand<SampleCommand>();
+ Services.HostWindow.AddToolStripCommand<SampleCommand>(null);
+ }
+ }
+}
diff --git a/minisqlquery-master/src/SDK/PlugInProjectTemplate/minisqlqueryplugin.ico b/minisqlquery-master/src/SDK/PlugInProjectTemplate/minisqlqueryplugin.ico
new file mode 100644
index 0000000..0ca98fa
Binary files /dev/null and b/minisqlquery-master/src/SDK/PlugInProjectTemplate/minisqlqueryplugin.ico differ
diff --git a/minisqlquery-master/src/SDK/PlugInProjectTemplate/SampleCommand.cs b/minisqlquery-master/src/SDK/PlugInProjectTemplate/SampleCommand.cs
new file mode 100644
index 0000000..941c2bb
--- /dev/null
+++ b/minisqlquery-master/src/SDK/PlugInProjectTemplate/SampleCommand.cs
@@ -0,0 +1,20 @@
+using System;
+using MiniSqlQuery.Core;
+using MiniSqlQuery.Core.Commands;
+
+namespace $safeprojectname$.Commands
+{
+ public class SampleCommand : CommandBase
+ {
+ public SampleCommand() : base("&Descriptive Name")
+ {
+ SmallImage = ImageResource.plugin;
+ }
+
+ public override void Execute()
+ {
+ Form1 frm = new Form1();
+ frm.ShowDialog(Services.HostWindow.Instance);
+ }
+ }
+}