You've already forked ssms-addin
mirror of
https://github.com/alex-bochkov/ssms-addin.git
synced 2026-06-15 16:57:06 +02:00
new version
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.26730.15
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Addin.SSMS2017", "Addin.SSMS2017\Addin.SSMS2017.vbproj", "{4F34CDCB-BE07-49A3-B3EF-7E190BE72CA7}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{4F34CDCB-BE07-49A3-B3EF-7E190BE72CA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4F34CDCB-BE07-49A3-B3EF-7E190BE72CA7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4F34CDCB-BE07-49A3-B3EF-7E190BE72CA7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4F34CDCB-BE07-49A3-B3EF-7E190BE72CA7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {FA2E3C31-D449-4B38-B7A3-98B83BD2F266}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1,198 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\packages\Microsoft.VSSDK.BuildTools.14.3.25407\build\Microsoft.VSSDK.BuildTools.props" Condition="Exists('..\packages\Microsoft.VSSDK.BuildTools.14.3.25407\build\Microsoft.VSSDK.BuildTools.props')" />
|
||||
<PropertyGroup>
|
||||
<MinimumVisualStudioVersion>15.0</MinimumVisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<OldToolsVersion>14.0</OldToolsVersion>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionExplicit>On</OptionExplicit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionCompare>Binary</OptionCompare>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectTypeGuids>{82b43b9b-a64c-4715-b499-d71e9ca2bd60};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
|
||||
<ProjectGuid>{4F34CDCB-BE07-49A3-B3EF-7E190BE72CA7}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<RootNamespace>Addin.SSMS2017</RootNamespace>
|
||||
<AssemblyName>Addin.SSMS2017</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||
<GeneratePkgDefFile>false</GeneratePkgDefFile>
|
||||
<IncludeAssemblyInVSIXContainer>true</IncludeAssemblyInVSIXContainer>
|
||||
<IncludeDebugSymbolsInVSIXContainer>true</IncludeDebugSymbolsInVSIXContainer>
|
||||
<IncludeDebugSymbolsInLocalVSIXDeployment>true</IncludeDebugSymbolsInLocalVSIXDeployment>
|
||||
<CopyBuildOutputToOutputDirectory>false</CopyBuildOutputToOutputDirectory>
|
||||
<CopyOutputSymbolsToOutputDirectory>false</CopyOutputSymbolsToOutputDirectory>
|
||||
<OptionStrict>Off</OptionStrict>
|
||||
<OptionInfer>On</OptionInfer>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42353,42354,42355</NoWarn>
|
||||
<CopyVsixExtensionFiles>True</CopyVsixExtensionFiles>
|
||||
<CopyVsixExtensionLocation>C:\Program Files %28x86%29\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Extensions\</CopyVsixExtensionLocation>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42353,42354,42355</NoWarn>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="My Project\AssemblyInfo.vb" />
|
||||
<Compile Include="My Project\Resources.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SettingFormUI.Designer.vb">
|
||||
<DependentUpon>SettingFormUI.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SettingFormUI.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SettingManager.vb" />
|
||||
<Compile Include="SSMSAddin.vb" />
|
||||
<Compile Include="SSMSAddinFactory.vb" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\sql-icon.png" />
|
||||
<Content Include="Resources\excel-icon.png" />
|
||||
<Content Include="Resources\format.png" />
|
||||
<Content Include="Resources\refresh-icon.png" />
|
||||
<Content Include="Resources\settings-icon.png" />
|
||||
<None Include="source.extension.vsixmanifest">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<Content Include="stylesheet.css" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.Build.Framework" />
|
||||
<Reference Include="Microsoft.SqlServer.TransactSql.ScriptDom, Version=13.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\..\..\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Extensions\Application\Microsoft.SqlServer.TransactSql.ScriptDom.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.CoreUtility, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.VisualStudio.CoreUtility.14.3.25407\lib\net45\Microsoft.VisualStudio.CoreUtility.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.Text.Data, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.VisualStudio.Text.Data.14.3.25407\lib\net45\Microsoft.VisualStudio.Text.Data.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.Text.Logic, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.VisualStudio.Text.Logic.14.3.25407\lib\net45\Microsoft.VisualStudio.Text.Logic.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.Text.UI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.VisualStudio.Text.UI.14.3.25407\lib\net45\Microsoft.VisualStudio.Text.UI.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.Text.UI.Wpf, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.VisualStudio.Text.UI.Wpf.14.3.25407\lib\net45\Microsoft.VisualStudio.Text.UI.Wpf.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
<Reference Include="SqlPackageBase">
|
||||
<HintPath>..\..\..\..\..\..\..\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\SqlPackageBase.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SqlWorkbench.Interfaces">
|
||||
<HintPath>..\..\..\..\..\..\..\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\SqlWorkbench.Interfaces.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.ComponentModel.Composition" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xaml" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include=".NETFramework,Version=v4.6.1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Microsoft .NET Framework 4.6.1 %28x86 and x64%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="My Project\Resources.resx">
|
||||
<CustomToolNamespace>My.Resources</CustomToolNamespace>
|
||||
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SettingFormUI.resx">
|
||||
<DependentUpon>SettingFormUI.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Service Include="{94E38DFF-614B-4CBD-B67C-F211BB35CE8B}" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||
<Import Project="$(VSToolsPath)\VSSDK\Microsoft.VsSDK.targets" Condition="'$(VSToolsPath)' != ''" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>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}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\Microsoft.VSSDK.BuildTools.14.3.25407\build\Microsoft.VSSDK.BuildTools.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.VSSDK.BuildTools.14.3.25407\build\Microsoft.VSSDK.BuildTools.props'))" />
|
||||
<Error Condition="!Exists('..\packages\Microsoft.VSSDK.BuildTools.14.3.25407\build\Microsoft.VSSDK.BuildTools.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.VSSDK.BuildTools.14.3.25407\build\Microsoft.VSSDK.BuildTools.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\packages\Microsoft.VSSDK.BuildTools.14.3.25407\build\Microsoft.VSSDK.BuildTools.targets" Condition="Exists('..\packages\Microsoft.VSSDK.BuildTools.14.3.25407\build\Microsoft.VSSDK.BuildTools.targets')" />
|
||||
<PropertyGroup>
|
||||
<PreBuildEvent>
|
||||
</PreBuildEvent>
|
||||
</PropertyGroup>
|
||||
<!-- 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>
|
||||
@@ -0,0 +1,34 @@
|
||||
Imports Microsoft.VisualBasic
|
||||
Imports System.Reflection
|
||||
Imports System.Runtime.CompilerServices
|
||||
Imports 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("VSIXProject1")>
|
||||
<Assembly: AssemblyDescription("")>
|
||||
<Assembly: AssemblyConfiguration("")>
|
||||
<Assembly: AssemblyCompany("")>
|
||||
<Assembly: AssemblyProduct("VSIXProject1")>
|
||||
<Assembly: AssemblyCopyright("")>
|
||||
<Assembly: AssemblyTrademark("")>
|
||||
<Assembly: AssemblyCulture("")>
|
||||
|
||||
' Setting ComVisible to false makes the types in this assembly not visible
|
||||
' to COM components. If you need to access a type in this assembly from
|
||||
' COM, set the ComVisible attribute to true on that type.
|
||||
<Assembly: ComVisible(False)>
|
||||
|
||||
' 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")>
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' This code was generated by a tool.
|
||||
' Runtime Version:4.0.30319.42000
|
||||
'
|
||||
' Changes to this file may cause incorrect behavior and will be lost if
|
||||
' the code is regenerated.
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
Imports System
|
||||
|
||||
Namespace My.Resources
|
||||
|
||||
'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.
|
||||
'''<summary>
|
||||
''' A strongly-typed resource class, for looking up localized strings, etc.
|
||||
'''</summary>
|
||||
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0"), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
|
||||
Friend Module Resources
|
||||
|
||||
Private resourceMan As Global.System.Resources.ResourceManager
|
||||
|
||||
Private resourceCulture As Global.System.Globalization.CultureInfo
|
||||
|
||||
'''<summary>
|
||||
''' Returns the cached ResourceManager instance used by this class.
|
||||
'''</summary>
|
||||
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
|
||||
Get
|
||||
If Object.ReferenceEquals(resourceMan, Nothing) Then
|
||||
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Addin.SSMS2017.Resources", GetType(Resources).Assembly)
|
||||
resourceMan = temp
|
||||
End If
|
||||
Return resourceMan
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Overrides the current thread's CurrentUICulture property for all
|
||||
''' resource lookups using this strongly typed resource class.
|
||||
'''</summary>
|
||||
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Friend Property Culture() As Global.System.Globalization.CultureInfo
|
||||
Get
|
||||
Return resourceCulture
|
||||
End Get
|
||||
Set
|
||||
resourceCulture = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property sql_icon() As System.Drawing.Bitmap
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("sql-icon", resourceCulture)
|
||||
Return CType(obj,System.Drawing.Bitmap)
|
||||
End Get
|
||||
End Property
|
||||
End Module
|
||||
End Namespace
|
||||
@@ -0,0 +1,124 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="sql-icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\sql-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 308 B |
Binary file not shown.
|
After Width: | Height: | Size: 851 B |
Binary file not shown.
|
After Width: | Height: | Size: 543 B |
Binary file not shown.
|
After Width: | Height: | Size: 547 B |
Binary file not shown.
|
After Width: | Height: | Size: 376 B |
@@ -0,0 +1,395 @@
|
||||
''------------------------------------------------------------------------------
|
||||
'' <copyright file="SSMSAddin.vb" company="Company">
|
||||
'' Copyright (c) Company. All rights reserved.
|
||||
'' </copyright>
|
||||
''------------------------------------------------------------------------------
|
||||
|
||||
Imports System
|
||||
Imports System.Collections
|
||||
Imports System.Collections.Generic
|
||||
Imports System.IO
|
||||
Imports System.Windows
|
||||
Imports System.Windows.Controls
|
||||
Imports System.Windows.Media.Imaging
|
||||
'Imports EnvDTE
|
||||
Imports Microsoft.SqlServer.Management.UI.VSIntegration
|
||||
Imports Microsoft.SqlServer.TransactSql.ScriptDom
|
||||
Imports Microsoft.VisualStudio.Text.Editor
|
||||
|
||||
''' <summary>
|
||||
''' Margin's canvas and visual definition including both size and content
|
||||
''' </summary>
|
||||
Friend NotInheritable Class SSMSAddin
|
||||
Inherits Canvas
|
||||
Implements IWpfTextViewMargin
|
||||
|
||||
''' <summary>
|
||||
''' The name of the margin
|
||||
''' </summary>
|
||||
Public Const MarginName As String = "SSMSAddin"
|
||||
|
||||
''' <summary>
|
||||
''' A value indicating whether the object is disposed
|
||||
''' </summary>
|
||||
Private isDisposed As Boolean
|
||||
|
||||
Dim textViewRef As IWpfTextView
|
||||
Dim MainMenu As New Menu
|
||||
Dim TemplatesMenuId = 0
|
||||
Private TemplatesList As Hashtable = New Hashtable
|
||||
''' <summary>
|
||||
''' Initializes a new instance of the <see cref="SSMSAddin"/> class for a given <paramref name="textView"/>.
|
||||
''' </summary>
|
||||
''' <param name="textView">The <see cref="IWpfTextView"/> to attach the margin to.</param>
|
||||
Public Sub New(ByVal textView As IWpfTextView)
|
||||
|
||||
textViewRef = textView
|
||||
|
||||
' Margin height sufficient to have the label.
|
||||
Me.Height = 16
|
||||
'Me.ClipToBounds = True
|
||||
'Me.Background = New SolidColorBrush(Colors.LightGreen)
|
||||
|
||||
'' Add a green colored label that says "Hello SSMSAddin"
|
||||
'Dim label As New Label With {
|
||||
' .Background = New SolidColorBrush(Colors.LightGreen),
|
||||
' .Content = "Hello SSMSAddin"
|
||||
'}
|
||||
'Me.Children.Add(label)
|
||||
|
||||
'Dim MainToolBar = New ToolBar
|
||||
|
||||
|
||||
'Dim buttonF As New Button With {.Content = "Format"}
|
||||
'AddHandler buttonF.Click, AddressOf ButtonFormat_Click
|
||||
'MainToolBar.Items.Add(buttonF)
|
||||
|
||||
'Dim buttonE As New Button With {.Content = "ExportToExcel"}
|
||||
'AddHandler buttonE.Click, AddressOf ButtonExportToExcel_Click
|
||||
'MainToolBar.Items.Add(buttonE)
|
||||
|
||||
'Dim SubMenu As New Menu
|
||||
|
||||
'Dim ObjImage As Image = New Image()
|
||||
'Dim Path = "C:\Users\Alex\Documents\Visual Studio 2015\Projects\VSIXProject1\VSIXProject1\Resources\settings-icon.png" 'My.Application.Info.DirectoryPath() + "\Resources\setting-icon.png"
|
||||
'ObjImage.Source = New BitmapImage(New Uri(Path, UriKind.RelativeOrAbsolute))
|
||||
|
||||
Dim SubMenuItem1 As New MenuItem With {.Header = "Settings"}
|
||||
AddHandler SubMenuItem1.Click, AddressOf ButtonSettings_Click
|
||||
'SubMenuItem1.Icon = ObjImage
|
||||
|
||||
Dim SubMenuItem2 As New MenuItem With {.Header = "Format SQL"}
|
||||
AddHandler SubMenuItem2.Click, AddressOf ButtonFormat_Click
|
||||
|
||||
Dim SubMenuItem3 As New MenuItem With {.Header = "Export To Excel"}
|
||||
AddHandler SubMenuItem3.Click, AddressOf ButtonExportToExcel_Click
|
||||
|
||||
Dim SubMenuItem4 As New MenuItem With {.Header = "Templates"}
|
||||
'''SubMenuItem4.Icon = New BitmapImage(New Uri("resources/sql-icon.png", UriKind.Relative))
|
||||
|
||||
MainMenu = New Menu
|
||||
MainMenu.IsMainMenu = True
|
||||
MainMenu.Items.Add(SubMenuItem2)
|
||||
MainMenu.Items.Add(SubMenuItem3)
|
||||
TemplatesMenuId = MainMenu.Items.Add(SubMenuItem4)
|
||||
MainMenu.Items.Add(SubMenuItem1)
|
||||
|
||||
Me.Children.Add(MainMenu)
|
||||
|
||||
RefreshTemplatesList()
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ButtonRefreshTemplates_Click(sender As Object, e As System.EventArgs)
|
||||
|
||||
RefreshTemplatesList()
|
||||
|
||||
End Sub
|
||||
|
||||
Sub RefreshTemplatesList()
|
||||
|
||||
Dim MenuTemplates As MenuItem = MainMenu.Items(TemplatesMenuId)
|
||||
MenuTemplates.Items.Clear()
|
||||
|
||||
Dim TemplatesList = New Hashtable
|
||||
Dim Folder = SettingManager.GetTemplatesFolder()
|
||||
|
||||
If Not String.IsNullOrEmpty(Folder) Then
|
||||
Dim i = 1
|
||||
FillTemplates(MenuTemplates, Folder, i)
|
||||
MenuTemplates.Header = "Templates (" + i.ToString + ")"
|
||||
End If
|
||||
|
||||
MenuTemplates.Items.Add(New Separator)
|
||||
Dim SubMenuItem41 As New MenuItem With {.Header = "Refresh templates list"}
|
||||
AddHandler SubMenuItem41.Click, AddressOf ButtonRefreshTemplates_Click
|
||||
MenuTemplates.Items.Add(SubMenuItem41)
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Sub FillTemplates(ByRef SubMenuItem As MenuItem, Folder As String, ByRef i As Integer)
|
||||
|
||||
Dim Dirs = My.Computer.FileSystem.GetDirectories(Folder)
|
||||
|
||||
For Each DirStr In Dirs
|
||||
|
||||
Dim DI = My.Computer.FileSystem.GetFileInfo(DirStr)
|
||||
|
||||
Dim NewSubMenuItem As New MenuItem
|
||||
NewSubMenuItem.Header = DI.Name
|
||||
SubMenuItem.Items.Add(NewSubMenuItem)
|
||||
|
||||
FillTemplates(NewSubMenuItem, DirStr, i)
|
||||
|
||||
i = i + 1
|
||||
Next
|
||||
|
||||
Dim Files = My.Computer.FileSystem.GetFiles(Folder)
|
||||
|
||||
For Each File In Files
|
||||
|
||||
Dim FI = My.Computer.FileSystem.GetFileInfo(File)
|
||||
|
||||
Dim NewSubMenuItem As New MenuItem
|
||||
NewSubMenuItem.Header = FI.Name
|
||||
NewSubMenuItem.Tag = FI.FullName
|
||||
|
||||
AddHandler NewSubMenuItem.Click, AddressOf ButtonTemplates_Click
|
||||
|
||||
Dim id = SubMenuItem.Items.Add(NewSubMenuItem)
|
||||
|
||||
'TemplatesList.Add(id, FI.FullName)
|
||||
|
||||
i = i + 1
|
||||
|
||||
Next
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ButtonSettings_Click(sender As Object, e As System.EventArgs)
|
||||
|
||||
Dim S = New SettingFormUI
|
||||
S.ShowDialog()
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ButtonFormat_Click(sender As Object, e As System.EventArgs)
|
||||
|
||||
Dim title = "Format TSQL"
|
||||
|
||||
Try
|
||||
|
||||
Dim Spans = textViewRef.Selection.SelectedSpans
|
||||
If Spans.Count > 1 Then
|
||||
System.Windows.MessageBox.Show("Multu-span selection is not supported")
|
||||
Return
|
||||
ElseIf Spans.Count = 0 Then
|
||||
Return
|
||||
End If
|
||||
|
||||
Dim Span = Spans.Item(0)
|
||||
Dim StartPosition = Span.Start.Position
|
||||
|
||||
Dim OldStr = textViewRef.TextSnapshot.GetText(Span)
|
||||
|
||||
Dim SqlParser As TSqlParser = Nothing
|
||||
|
||||
Dim TargetVersion As String = SettingManager.GetTSQLFormatVersion()
|
||||
If TargetVersion = "2008" Then
|
||||
SqlParser = New TSql100Parser(False)
|
||||
ElseIf TargetVersion = "2012" Then
|
||||
SqlParser = New TSql110Parser(False)
|
||||
ElseIf TargetVersion = "2014" Then
|
||||
SqlParser = New TSql120Parser(False)
|
||||
ElseIf TargetVersion = "2016" Then
|
||||
SqlParser = New TSql130Parser(False)
|
||||
ElseIf TargetVersion = "2017" Then
|
||||
SqlParser = New TSql140Parser(False)
|
||||
Else
|
||||
SqlParser = New TSql130Parser(False)
|
||||
End If
|
||||
|
||||
Dim parseErrors As IList(Of ParseError) = New List(Of ParseError)
|
||||
Dim result As TSqlFragment = SqlParser.Parse(New StringReader(OldStr), parseErrors)
|
||||
|
||||
If parseErrors.Count > 0 Then
|
||||
|
||||
Dim ErrorStr = ""
|
||||
For Each StrError In parseErrors
|
||||
ErrorStr = ErrorStr + Environment.NewLine + StrError.Message
|
||||
Next
|
||||
|
||||
Throw New System.Exception("TSql120Parser unable format selected T-SQL due to a syntax error." + Environment.NewLine + ErrorStr)
|
||||
|
||||
End If
|
||||
|
||||
textViewRef.TextBuffer.Delete(Span)
|
||||
|
||||
Dim StrAdd2 = ""
|
||||
Dim Gen As SqlScriptGenerator = Nothing
|
||||
|
||||
If TargetVersion = "2008" Then
|
||||
Gen = New Sql100ScriptGenerator
|
||||
ElseIf TargetVersion = "2012" Then
|
||||
Gen = New Sql110ScriptGenerator
|
||||
ElseIf TargetVersion = "2014" Then
|
||||
Gen = New Sql120ScriptGenerator
|
||||
ElseIf TargetVersion = "2016" Then
|
||||
Gen = New Sql130ScriptGenerator
|
||||
ElseIf TargetVersion = "2017" Then
|
||||
Gen = New Sql140ScriptGenerator
|
||||
Else
|
||||
Gen = New Sql130ScriptGenerator
|
||||
End If
|
||||
|
||||
Gen.Options.IncludeSemicolons = False
|
||||
Gen.Options.AlignClauseBodies = False
|
||||
Gen.GenerateScript(result, StrAdd2)
|
||||
|
||||
textViewRef.TextBuffer.Insert(StartPosition, StrAdd2.Trim)
|
||||
|
||||
Catch ex As Exception
|
||||
System.Windows.MessageBox.Show(ex.Message)
|
||||
End Try
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ButtonExportToExcel_Click(sender As Object, e As System.EventArgs)
|
||||
|
||||
System.Windows.MessageBox.Show("Click ButtonExportToExcel_Click")
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ButtonTemplates_Click(sender As Object, e As System.EventArgs)
|
||||
|
||||
Dim Tag As String = sender.Tag
|
||||
|
||||
If Not String.IsNullOrEmpty(Tag) Then
|
||||
|
||||
Dim Text = My.Computer.FileSystem.ReadAllText(Tag)
|
||||
|
||||
If Not String.IsNullOrEmpty(Text) Then
|
||||
|
||||
'Dim i = textViewRef.Selection.Start.Position.
|
||||
'Dim j = textViewRef.Selection.End.Position.Position
|
||||
'textViewRef.TextBuffer.Delete()
|
||||
'If Not txt.Selection.IsEmpty Then txt.Selection.Delete()
|
||||
|
||||
Dim Spans = textViewRef.Selection.SelectedSpans
|
||||
For Each Span In Spans
|
||||
textViewRef.TextBuffer.Delete(Span)
|
||||
Next
|
||||
|
||||
Dim i = textViewRef.Selection.ActivePoint.Position.Position
|
||||
|
||||
textViewRef.TextBuffer.Insert(i, Text)
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub SubMenuItem_Click(sender As Object, e As System.EventArgs)
|
||||
|
||||
System.Windows.MessageBox.Show("Click SubMenuItem_Click")
|
||||
|
||||
End Sub
|
||||
|
||||
#Region "IWpfTextViewMargin"
|
||||
|
||||
''' <summary>
|
||||
''' The <see cref="Sytem.Windows.FrameworkElement"/> that implements the visual representation
|
||||
''' of the margin.
|
||||
''' </summary>
|
||||
Public ReadOnly Property VisualElement() As FrameworkElement Implements IWpfTextViewMargin.VisualElement
|
||||
' Since this margin implements Canvas, this is the object which renders
|
||||
' the margin.
|
||||
Get
|
||||
|
||||
ThrowIfDisposed()
|
||||
Return Me
|
||||
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "ITextViewMargin"
|
||||
|
||||
''' <summary>
|
||||
''' Gets the size of the margin.
|
||||
''' </summary>
|
||||
''' <remarks>
|
||||
''' For a horizontal margin this Is the height of the margin,
|
||||
''' since the width will be determined by the <see cref="ITextView"/>.
|
||||
''' For a vertical margin this Is the width of the margin,
|
||||
''' since the height will be determined by the <see cref="ITextView"/>.
|
||||
''' </remarks>
|
||||
''' <exception cref="ObjectDisposedException">The margin Is disposed.</exception>
|
||||
Public ReadOnly Property MarginSize() As Double Implements IWpfTextViewMargin.MarginSize
|
||||
' Since this is a horizontal margin, its width will be bound to the width of the text view.
|
||||
' Therefore, its size is its height.
|
||||
Get
|
||||
|
||||
ThrowIfDisposed()
|
||||
Return Me.ActualHeight
|
||||
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Gets a value indicating whether the margin Is enabled.
|
||||
''' </summary>
|
||||
''' <exception cref="ObjectDisposedException">The margin Is disposed.</exception>
|
||||
Public ReadOnly Property Enabled() As Boolean Implements IWpfTextViewMargin.Enabled
|
||||
' The margin should always be enabled
|
||||
Get
|
||||
|
||||
ThrowIfDisposed()
|
||||
Return True
|
||||
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Returns an instance of the margin if this is the margin that has been requested or null if no match is found
|
||||
''' </summary>
|
||||
''' <param name="marginName">The name of the margin requested</param>
|
||||
''' <returns>An instance of SSMSAddin or null</returns>
|
||||
Public Function GetTextViewMargin(ByVal marginName As String) As ITextViewMargin Implements IWpfTextViewMargin.GetTextViewMargin
|
||||
|
||||
Return If(String.Equals(marginName, SSMSAddin.MarginName, StringComparison.OrdinalIgnoreCase), Me, Nothing)
|
||||
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' Disposes an instance of <see cref="SSMSAddin"/> class.
|
||||
''' </summary>
|
||||
Public Sub Dispose() Implements IDisposable.Dispose
|
||||
|
||||
If Not Me.isDisposed Then
|
||||
GC.SuppressFinalize(Me)
|
||||
Me.isDisposed = True
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
''' <summary>
|
||||
''' Checks and throws <see cref="ObjectDisposedException"/> if the object is disposed.
|
||||
''' </summary>
|
||||
Private Sub ThrowIfDisposed()
|
||||
|
||||
If Me.isDisposed Then
|
||||
Throw New ObjectDisposedException(MarginName)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
@@ -0,0 +1,45 @@
|
||||
''------------------------------------------------------------------------------
|
||||
'' <copyright file="SSMSAddinFactory.vb" company="Company">
|
||||
'' Copyright (c) Company. All rights reserved.
|
||||
'' </copyright>
|
||||
''------------------------------------------------------------------------------
|
||||
|
||||
Imports System.ComponentModel.Composition
|
||||
Imports Microsoft.VisualStudio.Text.Editor
|
||||
Imports Microsoft.VisualStudio.Utilities
|
||||
|
||||
''' <summary>
|
||||
''' Export a <see cref="IWpfTextViewMarginProvider"/>, which returns an instance of the margin for the editor to use.
|
||||
''' </summary>
|
||||
<Export(GetType(IWpfTextViewMarginProvider))>
|
||||
<Name(SSMSAddin.MarginName)>
|
||||
<MarginContainer(PredefinedMarginNames.Top)>
|
||||
<ContentType("sql")>
|
||||
<TextViewRole(PredefinedTextViewRoles.Interactive)>
|
||||
Friend NotInheritable Class SSMSAddinFactory
|
||||
Implements IWpfTextViewMarginProvider
|
||||
|
||||
Public Sub New()
|
||||
Dim a = 0
|
||||
|
||||
End Sub
|
||||
|
||||
#Region "IWpfTextViewMarginProvider"
|
||||
|
||||
''' <summary>
|
||||
''' Creates an <see cref="IWpfTextViewMargin"/> for the given <see cref="IWpfTextViewHost"/>.
|
||||
''' </summary>
|
||||
''' <param name="wpfTextViewHost">The <see cref="IWpfTextViewHost"/> for which to create the <see cref="IWpfTextViewMargin"/>.</param>
|
||||
''' <param name="marginContainer">The margin that will contain the newly-created margin.</param>
|
||||
''' <returns>The <see cref="IWpfTextViewMargin"/>.
|
||||
''' The value may be null if this <see cref="IWpfTextViewMarginProvider"/> does Not participate for this context.
|
||||
''' </returns>
|
||||
Public Function CreateMargin(ByVal wpfTextViewHost As IWpfTextViewHost, ByVal marginContainer As IWpfTextViewMargin) As IWpfTextViewMargin Implements IWpfTextViewMarginProvider.CreateMargin
|
||||
|
||||
Return New SSMSAddin(wpfTextViewHost.TextView)
|
||||
|
||||
End Function
|
||||
|
||||
#End Region
|
||||
|
||||
End Class
|
||||
Generated
+119
@@ -0,0 +1,119 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class SettingFormUI
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form overrides dispose to clean up the component list.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Required by the Windows Form Designer
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'NOTE: The following procedure is required by the Windows Form Designer
|
||||
'It can be modified using the Windows Form Designer.
|
||||
'Do not modify it using the code editor.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.TemplateScriptFolderTextBox = New System.Windows.Forms.TextBox()
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.Label2 = New System.Windows.Forms.Label()
|
||||
Me.ExcelExportFolderTextBox = New System.Windows.Forms.TextBox()
|
||||
Me.SaveButon = New System.Windows.Forms.Button()
|
||||
Me.TSQLFormatVersion = New System.Windows.Forms.ComboBox()
|
||||
Me.Label3 = New System.Windows.Forms.Label()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'TemplateScriptFolderTextBox
|
||||
'
|
||||
Me.TemplateScriptFolderTextBox.Location = New System.Drawing.Point(173, 9)
|
||||
Me.TemplateScriptFolderTextBox.Name = "TemplateScriptFolderTextBox"
|
||||
Me.TemplateScriptFolderTextBox.Size = New System.Drawing.Size(347, 20)
|
||||
Me.TemplateScriptFolderTextBox.TabIndex = 0
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.AutoSize = True
|
||||
Me.Label1.Location = New System.Drawing.Point(12, 12)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(99, 13)
|
||||
Me.Label1.TabIndex = 1
|
||||
Me.Label1.Text = "Templates directory"
|
||||
'
|
||||
'Label2
|
||||
'
|
||||
Me.Label2.AutoSize = True
|
||||
Me.Label2.Location = New System.Drawing.Point(12, 35)
|
||||
Me.Label2.Name = "Label2"
|
||||
Me.Label2.Size = New System.Drawing.Size(108, 13)
|
||||
Me.Label2.TabIndex = 1
|
||||
Me.Label2.Text = "Excel export directory"
|
||||
'
|
||||
'ExcelExportFolderTextBox
|
||||
'
|
||||
Me.ExcelExportFolderTextBox.Location = New System.Drawing.Point(173, 32)
|
||||
Me.ExcelExportFolderTextBox.Name = "ExcelExportFolderTextBox"
|
||||
Me.ExcelExportFolderTextBox.Size = New System.Drawing.Size(347, 20)
|
||||
Me.ExcelExportFolderTextBox.TabIndex = 0
|
||||
'
|
||||
'SaveButon
|
||||
'
|
||||
Me.SaveButon.Location = New System.Drawing.Point(15, 84)
|
||||
Me.SaveButon.Name = "SaveButon"
|
||||
Me.SaveButon.Size = New System.Drawing.Size(75, 23)
|
||||
Me.SaveButon.TabIndex = 2
|
||||
Me.SaveButon.Text = "Save"
|
||||
Me.SaveButon.UseVisualStyleBackColor = True
|
||||
'
|
||||
'TSQLFormatVersion
|
||||
'
|
||||
Me.TSQLFormatVersion.FormattingEnabled = True
|
||||
Me.TSQLFormatVersion.Items.AddRange(New Object() {"2008", "2012", "2014", "2016", "2017"})
|
||||
Me.TSQLFormatVersion.Location = New System.Drawing.Point(173, 59)
|
||||
Me.TSQLFormatVersion.Name = "TSQLFormatVersion"
|
||||
Me.TSQLFormatVersion.Size = New System.Drawing.Size(127, 21)
|
||||
Me.TSQLFormatVersion.TabIndex = 3
|
||||
'
|
||||
'Label3
|
||||
'
|
||||
Me.Label3.AutoSize = True
|
||||
Me.Label3.Location = New System.Drawing.Point(12, 59)
|
||||
Me.Label3.Name = "Label3"
|
||||
Me.Label3.Size = New System.Drawing.Size(107, 13)
|
||||
Me.Label3.TabIndex = 1
|
||||
Me.Label3.Text = "Format TSQL version"
|
||||
'
|
||||
'SettingFormUI
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(642, 282)
|
||||
Me.Controls.Add(Me.TSQLFormatVersion)
|
||||
Me.Controls.Add(Me.SaveButon)
|
||||
Me.Controls.Add(Me.Label3)
|
||||
Me.Controls.Add(Me.Label2)
|
||||
Me.Controls.Add(Me.Label1)
|
||||
Me.Controls.Add(Me.ExcelExportFolderTextBox)
|
||||
Me.Controls.Add(Me.TemplateScriptFolderTextBox)
|
||||
Me.Name = "SettingFormUI"
|
||||
Me.Text = "SettingFormUI"
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents TemplateScriptFolderTextBox As System.Windows.Forms.TextBox
|
||||
Friend WithEvents Label1 As System.Windows.Forms.Label
|
||||
Friend WithEvents Label2 As System.Windows.Forms.Label
|
||||
Friend WithEvents ExcelExportFolderTextBox As System.Windows.Forms.TextBox
|
||||
Friend WithEvents SaveButon As System.Windows.Forms.Button
|
||||
Friend WithEvents TSQLFormatVersion As System.Windows.Forms.ComboBox
|
||||
Friend WithEvents Label3 As System.Windows.Forms.Label
|
||||
End Class
|
||||
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -0,0 +1,20 @@
|
||||
Public Class SettingFormUI
|
||||
Public Sub New()
|
||||
|
||||
' This call is required by the designer.
|
||||
InitializeComponent()
|
||||
|
||||
TemplateScriptFolderTextBox.Text = SettingManager.GetTemplatesFolder()
|
||||
ExcelExportFolderTextBox.Text = SettingManager.GetExcelExportFolder()
|
||||
TSQLFormatVersion.SelectedItem = SettingManager.GetTSQLFormatVersion
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub SaveButon_Click(sender As Object, e As System.EventArgs) Handles SaveButon.Click
|
||||
|
||||
SettingManager.SaveTemplatesFolder(TemplateScriptFolderTextBox.Text)
|
||||
SettingManager.SaveExcelExportFolder(ExcelExportFolderTextBox.Text)
|
||||
SettingManager.SaveTSQLFormatVersion(TSQLFormatVersion.SelectedItem)
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
@@ -0,0 +1,122 @@
|
||||
Imports System
|
||||
Imports Microsoft.Win32
|
||||
|
||||
Namespace SettingManager
|
||||
|
||||
Module SettingManagerModule
|
||||
|
||||
Private Function GetRoot() As RegistryKey
|
||||
|
||||
Dim SettingKeyRoot As RegistryKey = Registry.CurrentUser.CreateSubKey("Addin.SSMS2017")
|
||||
Dim testSettings As RegistryKey = SettingKeyRoot.CreateSubKey("Settings")
|
||||
|
||||
Return testSettings
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
Function GetTemplatesFolder() As String
|
||||
|
||||
Dim Folder As String = ""
|
||||
|
||||
Try
|
||||
|
||||
Dim RootKey = GetRoot()
|
||||
|
||||
Folder = RootKey.GetValue("ScriptTemplatesFolder").ToString
|
||||
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
|
||||
Return Folder
|
||||
|
||||
End Function
|
||||
|
||||
Function SaveTemplatesFolder(Folder As String) As Boolean
|
||||
|
||||
Try
|
||||
|
||||
Dim RootKey = GetRoot()
|
||||
|
||||
RootKey.SetValue("ScriptTemplatesFolder", Folder)
|
||||
RootKey.Close()
|
||||
|
||||
Catch ex As Exception
|
||||
Return False
|
||||
End Try
|
||||
|
||||
Return True
|
||||
|
||||
End Function
|
||||
|
||||
Function GetExcelExportFolder() As String
|
||||
|
||||
Dim Folder As String = ""
|
||||
|
||||
Try
|
||||
|
||||
Dim RootKey = GetRoot()
|
||||
|
||||
Folder = RootKey.GetValue("ExcelExportFolder").ToString
|
||||
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
|
||||
Return Folder
|
||||
|
||||
End Function
|
||||
|
||||
Function SaveExcelExportFolder(Folder As String) As Boolean
|
||||
|
||||
Try
|
||||
|
||||
Dim RootKey = GetRoot()
|
||||
|
||||
RootKey.SetValue("ExcelExportFolder", Folder)
|
||||
RootKey.Close()
|
||||
|
||||
Catch ex As Exception
|
||||
Return False
|
||||
End Try
|
||||
|
||||
Return True
|
||||
|
||||
End Function
|
||||
|
||||
Function GetTSQLFormatVersion() As String
|
||||
|
||||
Dim Folder As String = ""
|
||||
|
||||
Try
|
||||
|
||||
Dim RootKey = GetRoot()
|
||||
|
||||
Folder = RootKey.GetValue("TSQLFormatVersion").ToString.Trim()
|
||||
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
|
||||
Return Folder
|
||||
|
||||
End Function
|
||||
|
||||
Function SaveTSQLFormatVersion(Value As String) As Boolean
|
||||
|
||||
Try
|
||||
|
||||
Dim RootKey = GetRoot()
|
||||
|
||||
RootKey.SetValue("TSQLFormatVersion", Value)
|
||||
RootKey.Close()
|
||||
|
||||
Catch ex As Exception
|
||||
Return False
|
||||
End Try
|
||||
|
||||
Return True
|
||||
|
||||
End Function
|
||||
|
||||
End Module
|
||||
|
||||
End Namespace
|
||||
@@ -0,0 +1,140 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
VS SDK Notes: This resx file contains the resources that will be consumed from your package by Visual Studio.
|
||||
For example, Visual Studio will attempt to load resource '400' from this resource stream when it needs to
|
||||
load your package's icon. Because Visual Studio will always look in the VSPackage.resources stream first for
|
||||
resources it needs, you should put additional resources that Visual Studio will load directly into this resx
|
||||
file.
|
||||
|
||||
Resources that you would like to access directly from your package in a strong-typed fashion should be stored
|
||||
in Resources.resx or another resx file.
|
||||
-->
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="110" xml:space="preserve">
|
||||
<value>SettingsUI Extension</value>
|
||||
</data>
|
||||
<data name="112" xml:space="preserve">
|
||||
<value>SettingsUI Visual Studio Extension Detailed Info</value>
|
||||
</data>
|
||||
<data name="400" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\SettingsUIPackage.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Microsoft.VisualStudio.CoreUtility" version="14.3.25407" targetFramework="net461" />
|
||||
<package id="Microsoft.VisualStudio.Text.Data" version="14.3.25407" targetFramework="net461" />
|
||||
<package id="Microsoft.VisualStudio.Text.Logic" version="14.3.25407" targetFramework="net461" />
|
||||
<package id="Microsoft.VisualStudio.Text.UI" version="14.3.25407" targetFramework="net461" />
|
||||
<package id="Microsoft.VisualStudio.Text.UI.Wpf" version="14.3.25407" targetFramework="net461" />
|
||||
<package id="Microsoft.VSSDK.BuildTools" version="14.3.25407" targetFramework="net461" developmentDependency="true" />
|
||||
</packages>
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
|
||||
<Metadata>
|
||||
<Identity Id="VSIXProject1.Alex Bochkov.108c3c72-0039-4fe2-a49f-384fad4682cb" Version="1.0" Language="en-US" Publisher="Alex Bochkov" />
|
||||
<DisplayName>VSIXProject1</DisplayName>
|
||||
<Description>Empty VSIX Project.</Description>
|
||||
</Metadata>
|
||||
<Installation>
|
||||
<InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[14.0]" />
|
||||
<InstallationTarget Version="[14.0,16.0)" Id="Microsoft.VisualStudio.IntegratedShell" />
|
||||
</Installation>
|
||||
<Dependencies>
|
||||
<Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" d:Source="Manual" Version="[4.5,)" />
|
||||
</Dependencies>
|
||||
<Assets>
|
||||
<Asset Type="Microsoft.VisualStudio.MefComponent" d:Source="Project" d:ProjectName="%CurrentProject%" Path="|%CurrentProject%|" />
|
||||
</Assets>
|
||||
</PackageManifest>
|
||||
@@ -0,0 +1,129 @@
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
color: #1E1E1E;
|
||||
font-size: 13px;
|
||||
font-family: "Segoe UI", Helvetica, Arial, sans-serif;
|
||||
line-height: 1.45;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
/* General & 'Reset' Stuff */
|
||||
|
||||
|
||||
.container {
|
||||
width: 980px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
section {
|
||||
display: block;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Header, <header>
|
||||
header - container
|
||||
h1 - project name
|
||||
h2 - project description
|
||||
*/
|
||||
|
||||
#header {
|
||||
color: #FFF;
|
||||
background: #68217a;
|
||||
position:relative;
|
||||
}
|
||||
#hangcloud {
|
||||
width: 190px;
|
||||
height: 160px;
|
||||
background: url("../images/bannerart03.png");
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: -30px;
|
||||
}
|
||||
h1, h2 {
|
||||
font-family: "Segoe UI Light", "Segoe UI", Helvetica, Arial, sans-serif;
|
||||
line-height: 1;
|
||||
margin: 0 18px;
|
||||
padding: 0;
|
||||
}
|
||||
#header h1 {
|
||||
font-size: 3.4em;
|
||||
padding-top: 18px;
|
||||
font-weight: normal;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
#header h2 {
|
||||
font-size: 1.5em;
|
||||
margin-top: 10px;
|
||||
padding-bottom: 18px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
|
||||
#main_content {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
#main_content h1 {
|
||||
font-size: 1.8em;
|
||||
margin-top: 34px;
|
||||
}
|
||||
|
||||
#main_content h1:first-child {
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
#main_content h2 {
|
||||
font-size: 1.4em;
|
||||
font-weight: bold;
|
||||
}
|
||||
p, ul {
|
||||
margin: 11px 18px;
|
||||
}
|
||||
|
||||
#main_content a {
|
||||
color: #06C;
|
||||
text-decoration: none;
|
||||
}
|
||||
ul {
|
||||
margin-top: 13px;
|
||||
margin-left: 18px;
|
||||
padding-left: 0;
|
||||
}
|
||||
ul li {
|
||||
margin-left: 18px;
|
||||
padding-left: 0;
|
||||
}
|
||||
#lpanel {
|
||||
width: 620px;
|
||||
float: left;
|
||||
}
|
||||
#rpanel ul {
|
||||
list-style-type: none;
|
||||
width: 300px;
|
||||
}
|
||||
#rpanel ul li {
|
||||
line-height: 1.8em;
|
||||
}
|
||||
#rpanel {
|
||||
background: #e7e7e7;
|
||||
width: 360px;
|
||||
float: right;
|
||||
}
|
||||
|
||||
#rpanel div {
|
||||
width: 300px;
|
||||
}
|
||||
Reference in New Issue
Block a user