You've already forked ssms-addin
mirror of
https://github.com/alex-bochkov/ssms-addin.git
synced 2025-11-23 22:04:53 +02:00
WIP
This commit is contained in:
@@ -191,7 +191,10 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\CommandAddin.png" />
|
||||
<None Include="Resources\sql-file-format.ico" />
|
||||
<None Include="Resources\sql-file-format.ico">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Resources\sql-icon.png" />
|
||||
<Content Include="Resources\ToolWindow1Command.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -7,12 +7,16 @@ Imports System.Runtime.InteropServices
|
||||
' set of attributes. Change these attribute values to modify the information
|
||||
' associated with an assembly.
|
||||
<Assembly: AssemblyTitle("DBA-Helper.SSMS2018")>
|
||||
<Assembly: AssemblyDescription("Need SQL Server help with a large db?
|
||||
<Assembly: AssemblyDescription("This tool is opensource and free!
|
||||
Please submit your feedback / ideas / found issues at github - https://github.com/alekseybochkov/ssms-addin/
|
||||
|
||||
---
|
||||
Need SQL Server help with a large db?
|
||||
Contact me at albochkov03@gmail.com!")>
|
||||
<Assembly: AssemblyConfiguration("")>
|
||||
<Assembly: AssemblyCompany("")>
|
||||
<Assembly: AssemblyCompany("https://github.com/alekseybochkov/")>
|
||||
<Assembly: AssemblyProduct("DBA-Helper.SSMS2018")>
|
||||
<Assembly: AssemblyCopyright("Alexey Bochkov")>
|
||||
<Assembly: AssemblyCopyright("Alex Bochkov")>
|
||||
<Assembly: AssemblyTrademark("")>
|
||||
<Assembly: AssemblyCulture("")>
|
||||
|
||||
|
||||
10
Addin.SSMS2018/My Project/Resources.Designer.vb
generated
10
Addin.SSMS2018/My Project/Resources.Designer.vb
generated
@@ -69,5 +69,15 @@ Namespace My.Resources
|
||||
Return CType(obj,System.Drawing.Icon)
|
||||
End Get
|
||||
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
|
||||
|
||||
@@ -121,4 +121,28 @@
|
||||
<data name="sql-file-format" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\sql-file-format.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="sql_icon" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAAALEAAACxAcYtSY0AAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwa
|
||||
AAADsUlEQVRYR92XSUxTURSGjQuX7ti5djYxYjCKqCSKjKIhKGJAUQkRSR1CVDBoRQ2VKUqhzELBgtIq
|
||||
UwqCGlJFIyqKQpShICKGwQGNEaW2/b3vlhZqb9tHqRsX3+Kd83L+7953+9rOAcAbnwws8M3CSnu4p8LH
|
||||
LRnBHhlwYc2ZDrPIYms23LyzoCfAHqtEwMJE4GQVdAfK4ceaZ4RZZOGdiRBWGAujgKgRKHgEvS0JZpGF
|
||||
owK32mxLWBSsMRsBWxJmF7aYrYA1CbMQWzhDgCVhEWQNZwn8LcEMY+GIQGI9W4DDKMEMY+GIgHs6EFMB
|
||||
CORswkugYYaxcESAD8wwFv9WQCici70ZfgjLPGqNx0eU0pyENhhRRt/Gw30KJk1hCtwJneJyVDOWntNZ
|
||||
EQi7shxh4l6Ei8lDmQHeF4H1Cbz57ZmI6GNdDIFwcTEdeDKTHE0Jf2RxwM3D/BCcohLvtmUyBX5RgYFc
|
||||
4KMBPWHknQzD/WUU7Wi+qUf7o3kY7TwOdG+2YPwN+Xhb1H0NO+Fxhilg2NLJ4U2t93Cg5KvZoRKUj9Ke
|
||||
jgSXNLVie+5vetBWXNQir0ZqCqpuTMKS8zqoVPHTwieZfBQ2BX4OFSIob4KG7pd+w8GSMUr+3Ze0X6Z6
|
||||
apJyS9HSAYsIDU3kPJCQFPl1WsutLnBM4HVnFR0eXvQd/eoKfBq4RutGQgt/0P6DF3fwszcKAeIPdEhQ
|
||||
1lvnCHDPPpKs2LhKH0K84j0G+65jfOgqre3I1RiE+iMgVebTIe6p350jwDHUX46cxnZElo5hd+E4DU1T
|
||||
dmFiuAA+Ej0CsrX0nrWpGriKftEhm9LGnCfwdVCKgb4bFNXzu1SAOw9c75DsM71OqlXD9ZLeNCSm+ImZ
|
||||
QNINOXqfReBt6z7ourbwF+jrkcOXrJILmY6MHD6u39quNPWnv249079g/LU/0hRlZsM5BEUq/gLfyOrj
|
||||
b75HtOwTJbZiCHUt98n2F9I+R2dXJUS1PQiUfERIthpLLxh2QiSvQcfjQwiRdCBQrKZsF/egvO6yXQEN
|
||||
FRg0BPCGHEJucPOD09id0403T6INQUy8DQIebIEyKpBAXsUy7hXLk8oTQH0UP+LIvURg0D+DIbD3iisR
|
||||
GKESM2GGX0a6jULECtoZAhzBwnnk63gPGSy0RltMpeJaXAuM3I+swqvQUibPdpWiZecUpRENWHl2wiJ8
|
||||
SoAH//kvIh54SeBKhmv/DmPBV2DZBUwww6xB/p67eImx2B7rUrFhdTJ87bFGiPl/AOoRilFYTVaKAAAA
|
||||
AElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
BIN
Addin.SSMS2018/Resources/sql-icon.png
Normal file
BIN
Addin.SSMS2018/Resources/sql-icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
@@ -56,7 +56,7 @@
|
||||
<Parent guid="guidSHLMainMenu" id="IDG_VS_WNDO_OTRWNDWS1" />
|
||||
<Icon guid="guidImages1" id="bmpPic1" />
|
||||
<Strings>
|
||||
<ButtonText>SSMS2018 Addin (C) Alex Bochkov</ButtonText>
|
||||
<ButtonText>DBA Helper © Alex Bochkov</ButtonText>
|
||||
</Strings>
|
||||
</Button>
|
||||
</Buttons>
|
||||
|
||||
30
Addin.SSMS2018/SettingForm.Designer.vb
generated
30
Addin.SSMS2018/SettingForm.Designer.vb
generated
@@ -27,11 +27,12 @@ Partial Class SettingForm
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.Label2 = New System.Windows.Forms.Label()
|
||||
Me.TextBoxScriptFolder = New System.Windows.Forms.TextBox()
|
||||
Me.ComboBoxParserVersion = New System.Windows.Forms.ComboBox()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'Button1
|
||||
'
|
||||
Me.Button1.Location = New System.Drawing.Point(178, 86)
|
||||
Me.Button1.Location = New System.Drawing.Point(179, 63)
|
||||
Me.Button1.Name = "Button1"
|
||||
Me.Button1.Size = New System.Drawing.Size(141, 34)
|
||||
Me.Button1.TabIndex = 0
|
||||
@@ -40,7 +41,7 @@ Partial Class SettingForm
|
||||
'
|
||||
'Button2
|
||||
'
|
||||
Me.Button2.Location = New System.Drawing.Point(335, 85)
|
||||
Me.Button2.Location = New System.Drawing.Point(326, 62)
|
||||
Me.Button2.Name = "Button2"
|
||||
Me.Button2.Size = New System.Drawing.Size(126, 35)
|
||||
Me.Button2.TabIndex = 1
|
||||
@@ -50,7 +51,7 @@ Partial Class SettingForm
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.AutoSize = True
|
||||
Me.Label1.Location = New System.Drawing.Point(20, 33)
|
||||
Me.Label1.Location = New System.Drawing.Point(11, 10)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(119, 13)
|
||||
Me.Label1.TabIndex = 2
|
||||
@@ -59,24 +60,34 @@ Partial Class SettingForm
|
||||
'Label2
|
||||
'
|
||||
Me.Label2.AutoSize = True
|
||||
Me.Label2.Location = New System.Drawing.Point(19, 56)
|
||||
Me.Label2.Location = New System.Drawing.Point(10, 33)
|
||||
Me.Label2.Name = "Label2"
|
||||
Me.Label2.Size = New System.Drawing.Size(39, 13)
|
||||
Me.Label2.Size = New System.Drawing.Size(106, 13)
|
||||
Me.Label2.TabIndex = 3
|
||||
Me.Label2.Text = "Label2"
|
||||
Me.Label2.Text = "TSQL Parser Version"
|
||||
'
|
||||
'TextBoxScriptFolder
|
||||
'
|
||||
Me.TextBoxScriptFolder.Location = New System.Drawing.Point(145, 30)
|
||||
Me.TextBoxScriptFolder.Location = New System.Drawing.Point(136, 7)
|
||||
Me.TextBoxScriptFolder.Name = "TextBoxScriptFolder"
|
||||
Me.TextBoxScriptFolder.Size = New System.Drawing.Size(316, 20)
|
||||
Me.TextBoxScriptFolder.TabIndex = 4
|
||||
'
|
||||
'ComboBoxParserVersion
|
||||
'
|
||||
Me.ComboBoxParserVersion.FormattingEnabled = True
|
||||
Me.ComboBoxParserVersion.Items.AddRange(New Object() {"SQL Server 2008", "SQL Server 2012", "SQL Server 2014", "SQL Server 2016", "SQL Server 2017", "SQL Server 2019"})
|
||||
Me.ComboBoxParserVersion.Location = New System.Drawing.Point(136, 30)
|
||||
Me.ComboBoxParserVersion.Name = "ComboBoxParserVersion"
|
||||
Me.ComboBoxParserVersion.Size = New System.Drawing.Size(316, 21)
|
||||
Me.ComboBoxParserVersion.TabIndex = 5
|
||||
'
|
||||
'SettingForm
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(475, 132)
|
||||
Me.ClientSize = New System.Drawing.Size(460, 105)
|
||||
Me.Controls.Add(Me.ComboBoxParserVersion)
|
||||
Me.Controls.Add(Me.TextBoxScriptFolder)
|
||||
Me.Controls.Add(Me.Label2)
|
||||
Me.Controls.Add(Me.Label1)
|
||||
@@ -84,7 +95,7 @@ Partial Class SettingForm
|
||||
Me.Controls.Add(Me.Button1)
|
||||
Me.Name = "SettingForm"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
|
||||
Me.Text = "SettingForm"
|
||||
Me.Text = "DBA Helper Setting"
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
@@ -95,4 +106,5 @@ Partial Class SettingForm
|
||||
Friend WithEvents Label1 As System.Windows.Forms.Label
|
||||
Friend WithEvents Label2 As System.Windows.Forms.Label
|
||||
Friend WithEvents TextBoxScriptFolder As System.Windows.Forms.TextBox
|
||||
Friend WithEvents ComboBoxParserVersion As System.Windows.Forms.ComboBox
|
||||
End Class
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
InitializeComponent()
|
||||
|
||||
TextBoxScriptFolder.Text = SettingManager.GetTemplatesFolder()
|
||||
ComboBoxParserVersion.SelectedItem = SettingManager.GetSQLParserVersion()
|
||||
|
||||
End Sub
|
||||
|
||||
@@ -16,9 +17,16 @@
|
||||
|
||||
Private Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
|
||||
|
||||
SettingManager.SaveTemplatesFolder(TextBoxScriptFolder.Text)
|
||||
If Not String.IsNullOrEmpty(TextBoxScriptFolder.Text) Then
|
||||
SettingManager.SaveTemplatesFolder(TextBoxScriptFolder.Text)
|
||||
End If
|
||||
|
||||
If Not String.IsNullOrEmpty(ComboBoxParserVersion.SelectedItem) Then
|
||||
SettingManager.SaveSQLParserVersion(ComboBoxParserVersion.SelectedItem)
|
||||
End If
|
||||
|
||||
Close()
|
||||
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
@@ -15,38 +15,29 @@ Namespace SettingManager
|
||||
|
||||
End Function
|
||||
|
||||
Private Function GetRegisterValue(Parameter As String) As String
|
||||
|
||||
Function GetTemplatesFolder() As String
|
||||
|
||||
Dim Folder As String = ""
|
||||
Dim RegisterValue As String = ""
|
||||
|
||||
Try
|
||||
|
||||
Dim RootKey = GetRoot()
|
||||
|
||||
Folder = RootKey.GetValue("ScriptTemplatesFolder").ToString
|
||||
RegisterValue = RootKey.GetValue(Parameter).ToString
|
||||
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
|
||||
If String.IsNullOrEmpty(Folder) Then
|
||||
|
||||
Folder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "dba-helper-scripts")
|
||||
|
||||
End If
|
||||
|
||||
|
||||
Return Folder
|
||||
Return RegisterValue
|
||||
|
||||
End Function
|
||||
|
||||
Function SaveTemplatesFolder(Folder As String) As Boolean
|
||||
Private Function SaveRegisterValue(ParameterName As String, ParameterValue As String) As Boolean
|
||||
|
||||
Try
|
||||
|
||||
Dim RootKey = GetRoot()
|
||||
|
||||
RootKey.SetValue("ScriptTemplatesFolder", Folder)
|
||||
RootKey.SetValue(ParameterName, ParameterValue)
|
||||
RootKey.Close()
|
||||
|
||||
Catch ex As Exception
|
||||
@@ -57,6 +48,50 @@ Namespace SettingManager
|
||||
|
||||
End Function
|
||||
|
||||
'***********************************************************************************
|
||||
|
||||
Function GetTemplatesFolder() As String
|
||||
|
||||
Dim Folder As String = GetRegisterValue("ScriptTemplatesFolder")
|
||||
|
||||
If String.IsNullOrEmpty(Folder) Then
|
||||
|
||||
Folder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "dba-helper-scripts")
|
||||
|
||||
End If
|
||||
|
||||
Return Folder
|
||||
|
||||
End Function
|
||||
|
||||
Function GetSQLParserVersion() As String
|
||||
|
||||
Dim TSQLParserVersion As String = GetRegisterValue("TSQLParserVersion")
|
||||
|
||||
If String.IsNullOrEmpty(TSQLParserVersion) Then
|
||||
|
||||
TSQLParserVersion = "SQL Server 2017" 'default value
|
||||
|
||||
End If
|
||||
|
||||
Return TSQLParserVersion
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
Function SaveTemplatesFolder(Folder As String) As Boolean
|
||||
|
||||
Return SaveRegisterValue("ScriptTemplatesFolder", Folder)
|
||||
|
||||
End Function
|
||||
|
||||
Function SaveSQLParserVersion(TSQLParserVersion As String) As Boolean
|
||||
|
||||
Return SaveRegisterValue("TSQLParserVersion", TSQLParserVersion)
|
||||
|
||||
End Function
|
||||
|
||||
'Function GetExcelExportFolder() As String
|
||||
|
||||
' Dim Folder As String = ""
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
<Menu Name="FileMenu" Margin="2,2,5,0">
|
||||
<MenuItem Header="Actions" Name="FileMenuActions">
|
||||
<MenuItem Header="Format Selection" Click="button1_Click"/>
|
||||
<MenuItem Header="Setting" Click="buttonSetting_Click">
|
||||
<MenuItem Header="Setting" Click="buttonSetting_Click" >
|
||||
<MenuItem.Icon>
|
||||
<Image Source="pack://siteoforigin:,,,/Resources/sql-file-format.ico" />
|
||||
<Image Source="Resources/sql-icon.png" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
</MenuItem>
|
||||
|
||||
@@ -103,7 +103,7 @@ Partial Public Class ToolWindow1Control
|
||||
|
||||
AddFiles()
|
||||
|
||||
System.Windows.MessageBox.Show("Templates have been refreshed!")
|
||||
System.Windows.MessageBox.Show("The template list has been refreshed!")
|
||||
|
||||
End Sub
|
||||
|
||||
@@ -113,22 +113,30 @@ Partial Public Class ToolWindow1Control
|
||||
|
||||
Dim FileName As String = sender.ToolTip
|
||||
|
||||
Dim FileContent = My.Computer.FileSystem.ReadAllText(FileName)
|
||||
If My.Computer.FileSystem.FileExists(FileName) Then
|
||||
|
||||
Dim dte As DTE = TryCast(Package.GetGlobalService(GetType(DTE)), DTE)
|
||||
Dim FileContent = My.Computer.FileSystem.ReadAllText(FileName)
|
||||
|
||||
Dim selection As TextSelection = DirectCast(dte.ActiveDocument.Selection, TextSelection)
|
||||
Dim dte As DTE = TryCast(Package.GetGlobalService(GetType(DTE)), DTE)
|
||||
|
||||
selection.Delete()
|
||||
If Not dte.ActiveDocument Is Nothing Then
|
||||
|
||||
selection.Insert(FileContent.Trim)
|
||||
Dim selection As TextSelection = DirectCast(dte.ActiveDocument.Selection, TextSelection)
|
||||
|
||||
selection.Delete()
|
||||
|
||||
selection.Insert(FileContent.Trim)
|
||||
|
||||
End If
|
||||
Else
|
||||
System.Windows.MessageBox.Show("File " + FileName + " doesn't exist!")
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
System.Windows.MessageBox.Show(ex.Message)
|
||||
End Try
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -146,11 +154,6 @@ Partial Public Class ToolWindow1Control
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ComboBox_SelectionChanged(sender As Object, e As System.Windows.Controls.SelectionChangedEventArgs)
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Private Sub FormatSelection()
|
||||
|
||||
@@ -169,18 +172,18 @@ Partial Public Class ToolWindow1Control
|
||||
|
||||
Dim SqlParser As TSqlParser = Nothing
|
||||
|
||||
Dim TargetVersion As String = "2019" 'SettingManager.GetTSQLFormatVersion()
|
||||
If TargetVersion = "2008" Then
|
||||
Dim TargetVersion As String = SettingManager.GetSQLParserVersion()
|
||||
If TargetVersion = "SQL Server 2008" Then
|
||||
SqlParser = New TSql100Parser(False)
|
||||
ElseIf TargetVersion = "2012" Then
|
||||
ElseIf TargetVersion = "SQL Server 2012" Then
|
||||
SqlParser = New TSql110Parser(False)
|
||||
ElseIf TargetVersion = "2014" Then
|
||||
ElseIf TargetVersion = "SQL Server 2014" Then
|
||||
SqlParser = New TSql120Parser(False)
|
||||
ElseIf TargetVersion = "2016" Then
|
||||
ElseIf TargetVersion = "SQL Server 2016" Then
|
||||
SqlParser = New TSql130Parser(False)
|
||||
ElseIf TargetVersion = "2017" Then
|
||||
ElseIf TargetVersion = "SQL Server 2017" Then
|
||||
SqlParser = New TSql140Parser(False)
|
||||
ElseIf TargetVersion = "2019" Then
|
||||
ElseIf TargetVersion = "SQL Server 2019" Then
|
||||
SqlParser = New TSql150Parser(False)
|
||||
Else
|
||||
SqlParser = New TSql140Parser(False)
|
||||
@@ -205,17 +208,17 @@ Partial Public Class ToolWindow1Control
|
||||
Dim StrAdd2 = ""
|
||||
Dim Gen As SqlScriptGenerator = Nothing
|
||||
|
||||
If TargetVersion = "2008" Then
|
||||
If TargetVersion = "SQL Server 2008" Then
|
||||
Gen = New Sql100ScriptGenerator
|
||||
ElseIf TargetVersion = "2012" Then
|
||||
ElseIf TargetVersion = "SQL Server 2012" Then
|
||||
Gen = New Sql110ScriptGenerator
|
||||
ElseIf TargetVersion = "2014" Then
|
||||
ElseIf TargetVersion = "SQL Server 2014" Then
|
||||
Gen = New Sql120ScriptGenerator
|
||||
ElseIf TargetVersion = "2016" Then
|
||||
ElseIf TargetVersion = "SQL Server 2016" Then
|
||||
Gen = New Sql130ScriptGenerator
|
||||
ElseIf TargetVersion = "2017" Then
|
||||
ElseIf TargetVersion = "SQL Server 2017" Then
|
||||
Gen = New Sql140ScriptGenerator
|
||||
ElseIf TargetVersion = "2019" Then
|
||||
ElseIf TargetVersion = "SQL Server 2019" Then
|
||||
Gen = New Sql150ScriptGenerator
|
||||
Else
|
||||
Gen = New Sql140ScriptGenerator
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?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="SSMS2018Addin.00b4c103-c834-4ba1-b29f-7464c6d5c3c2" Version="1.0" Language="en-US" Publisher="Alex Bochkov" />
|
||||
<DisplayName>SSMS2018Addin</DisplayName>
|
||||
<Description>Empty VSIX Project.</Description>
|
||||
<Identity Id="DBAHelper.SSMS2018.00b4c103-c834-4ba1-b29f-7464c6d5c3c2" Version="2.0" Language="en-US" Publisher="Alex Bochkov" />
|
||||
<DisplayName>DBA-Helper.SSMS2018</DisplayName>
|
||||
<Description xml:space="preserve">SQL Server Management Studio 2018 Productivity ToolProducti</Description>
|
||||
</Metadata>
|
||||
<Installation>
|
||||
<InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[16.0, 17.0)" />
|
||||
@@ -17,6 +17,6 @@
|
||||
</Prerequisites>
|
||||
<Assets>
|
||||
<Asset Type="Microsoft.VisualStudio.VsPackage" d:Source="Project" d:ProjectName="%CurrentProject%" Path="|%CurrentProject%;PkgdefProjectOutputGroup|" />
|
||||
<Asset Type="Microsoft.VisualStudio.MefComponent" d:Source="Project" d:ProjectName="%CurrentProject%" Path="|%CurrentProject%|" />
|
||||
</Assets>
|
||||
<Asset Type="Microsoft.VisualStudio.MefComponent" d:Source="Project" d:ProjectName="%CurrentProject%" Path="|%CurrentProject%|" />
|
||||
</Assets>
|
||||
</PackageManifest>
|
||||
|
||||
Reference in New Issue
Block a user