aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMiguel Costa <miguel.costa@qt.io>2018-12-17 19:00:52 +0100
committerMiguel Costa <miguel.costa@qt.io>2019-01-07 14:32:13 +0000
commitcdd36735509938a4f4feb46ef352d75f2a6e9909 (patch)
tree526e13842bbb587f5e64b68ca564113d61bfd987 /src
parent1759c2f7bf66e6f5cc032df6764b51d9a96f6a57 (diff)
Convert package to AsyncPackage
As of VS 2019, all VS extension packages are required to support background load and implement asynchronous initialization. This is achieved by having the package class inherit from the AsyncPackage class and overriding the InitializeAsync method. Code that obtains references to services from the Visual Studio COM interfaces must execute in the main (UI) thread, otherwise dead-locks may occur. Task-number: QTVSADDINBUG-572 Change-Id: Iaaa5fcd93efd92e51a9ce49dbcd3a1f3f8b89a95 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/config/12.0/qtvstools.targets55
-rw-r--r--src/config/14.0/qtvstools.targets59
-rw-r--r--src/config/15.0/qtvstools.targets61
-rw-r--r--src/config/16.0/qtvstools.targets61
-rw-r--r--src/qtprojectlib/QtProjectLib.csproj1
-rw-r--r--src/qtprojectlib/VisualStudio/VsServiceProvider.cs99
-rw-r--r--src/qtprojectlib/WaitDialog.cs5
-rw-r--r--src/qtvstools/AddQtVersionDialog.cs4
-rw-r--r--src/qtvstools/DteEventsHandler.cs5
-rw-r--r--src/qtvstools/QML/Classification/QmlExpressionEvalClassifier.cs7
-rw-r--r--src/qtvstools/QML/Debugging/AD7/QmlDebugAD7Program.cs3
-rw-r--r--src/qtvstools/QML/Debugging/QmlDebugLauncher.cs5
-rw-r--r--src/qtvstools/QtHelpMenu.cs14
-rw-r--r--src/qtvstools/QtItemContextMenu.cs5
-rw-r--r--src/qtvstools/QtMainMenu.cs5
-rw-r--r--src/qtvstools/QtMsBuildConverter.cs7
-rw-r--r--src/qtvstools/QtProjectContextMenu.cs5
-rw-r--r--src/qtvstools/QtSolutionContextMenu.cs5
-rw-r--r--src/qtvstools/QtVsTools.csproj1
-rw-r--r--src/qtvstools/VSQtSettings.cs6
-rw-r--r--src/qtvstools/VisualStudio/VsShell.cs2
-rw-r--r--src/qtvstools/VisualStudio/VsShellSettings.cs37
-rw-r--r--src/qtvstools/Vsix.cs244
-rw-r--r--src/qtwizard/AddClassPage.xaml.cs5
-rw-r--r--src/qtwizard/AddClassWizard.cs3
-rw-r--r--src/qtwizard/ConsoleWizard.cs3
-rw-r--r--src/qtwizard/CoreClassWizard.cs3
-rw-r--r--src/qtwizard/DesignerWizard.cs3
-rw-r--r--src/qtwizard/FileExistsInFilterValidationRule.cs3
-rw-r--r--src/qtwizard/GuiClassWizard.cs3
-rw-r--r--src/qtwizard/GuiWizard.cs3
-rw-r--r--src/qtwizard/LibraryWizard.cs3
-rw-r--r--src/qtwizard/ServerWizard.cs3
-rw-r--r--src/qtwizard/VCLanguageManagerValidationRule.cs3
34 files changed, 479 insertions, 252 deletions
diff --git a/src/config/12.0/qtvstools.targets b/src/config/12.0/qtvstools.targets
index 9012df1c..260c8e16 100644
--- a/src/config/12.0/qtvstools.targets
+++ b/src/config/12.0/qtvstools.targets
@@ -6,34 +6,33 @@
</PropertyGroup>
<ItemGroup Condition=" '$(VisualStudioVersion)' == '12.0' ">
- <Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="EnvDTE80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.CoreUtility, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Language.StandardClassification, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.ExtensionsExplorer.UI, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.OLE.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Shell.12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Shell.Immutable.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Shell.Immutable.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Shell.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Shell.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Shell.Interop.9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.TemplateWizardInterface, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Text.Data, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Text.Logic, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Text.UI, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Text.UI.Wpf, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.VCCodeModel, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.VCProjectEngine, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.ComponentModelHost, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Debugger.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Debugger.InteropA, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Editor, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Shell.Interop.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
- <EmbedInteropTypes>True</EmbedInteropTypes>
- </Reference>
- <Reference Include="Microsoft.VisualStudio.TextManager.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="EnvDTE80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.ComponentModelHost, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.CoreUtility, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Debugger.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Debugger.InteropA, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Editor, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Language.StandardClassification, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.ExtensionsExplorer.UI, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.OLE.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Immutable.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Immutable.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.TemplateWizardInterface, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Text.Data, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Text.Logic, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Text.UI, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Text.UI.Wpf, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.TextManager.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Threading, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.VCCodeModel, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.VCProjectEngine, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="System" />
diff --git a/src/config/14.0/qtvstools.targets b/src/config/14.0/qtvstools.targets
index 1a4db24a..f130e977 100644
--- a/src/config/14.0/qtvstools.targets
+++ b/src/config/14.0/qtvstools.targets
@@ -6,35 +6,36 @@
</PropertyGroup>
<ItemGroup Condition=" '$(VisualStudioVersion)' == '14.0' ">
- <Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="EnvDTE80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.CoreUtility, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Language.StandardClassification, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.ExtensionsExplorer.UI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.OLE.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Shell.14.0, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Shell.Immutable.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Shell.Immutable.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Shell.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Shell.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Shell.Interop.9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.TemplateWizardInterface, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Text.Data, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Text.Logic, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Text.UI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Text.UI.Wpf, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Utilities, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.VCCodeModel, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.VCProjectEngine, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.ComponentModelHost, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Debugger.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Debugger.InteropA, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Editor, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Shell.Interop.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
- <EmbedInteropTypes>True</EmbedInteropTypes>
- </Reference>
- <Reference Include="Microsoft.VisualStudio.TextManager.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="EnvDTE80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.ComponentModelHost, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.CoreUtility, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Debugger.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Debugger.InteropA, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Editor, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Language.StandardClassification, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.ExtensionsExplorer.UI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.OLE.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.14.0, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Immutable.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Immutable.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Immutable.14.0, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.14.0.DesignTime, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.TemplateWizardInterface, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Text.Data, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Text.Logic, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Text.UI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Text.UI.Wpf, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.TextManager.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Threading, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Utilities, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.VCCodeModel, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.VCProjectEngine, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="System" />
diff --git a/src/config/15.0/qtvstools.targets b/src/config/15.0/qtvstools.targets
index 638f50a8..ff381b3c 100644
--- a/src/config/15.0/qtvstools.targets
+++ b/src/config/15.0/qtvstools.targets
@@ -6,36 +6,37 @@
</PropertyGroup>
<ItemGroup Condition=" '$(VisualStudioVersion)' == '15.0' ">
- <Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="EnvDTE80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.CoreUtility, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Language.StandardClassification, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.OLE.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Shell.15.0, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Shell.Immutable.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Shell.Immutable.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Shell.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Shell.Interop.15.3.DesignTime, Version=15.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"/>
- <Reference Include="Microsoft.VisualStudio.Shell.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Shell.Interop.9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Shell.Framework, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.TemplateWizardInterface, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Text.Data, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Text.Logic, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Text.UI, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Text.UI.Wpf, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Utilities, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.VCCodeModel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.VCProjectEngine, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.ComponentModelHost, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Debugger.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Debugger.InteropA, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Editor, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Shell.Interop.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
- <EmbedInteropTypes>True</EmbedInteropTypes>
- </Reference>
- <Reference Include="Microsoft.VisualStudio.TextManager.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="EnvDTE80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.ComponentModelHost, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.CoreUtility, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Debugger.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Debugger.InteropA, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Editor, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Language.StandardClassification, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.OLE.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.15.0, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Framework, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Immutable.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Immutable.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.14.0.DesignTime, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"/>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.15.3.DesignTime, Version=15.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"/>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.15.6.DesignTime, Version=15.6.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"/>
+ <Reference Include="Microsoft.VisualStudio.TemplateWizardInterface, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Text.Data, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Text.Logic, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Text.UI, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Text.UI.Wpf, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.TextManager.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Threading, Version=15.8.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Utilities, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.VCCodeModel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.VCProjectEngine, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="System" />
diff --git a/src/config/16.0/qtvstools.targets b/src/config/16.0/qtvstools.targets
index cb9e7b32..64801ad4 100644
--- a/src/config/16.0/qtvstools.targets
+++ b/src/config/16.0/qtvstools.targets
@@ -6,36 +6,37 @@
</PropertyGroup>
<ItemGroup Condition=" '$(VisualStudioVersion)' == '16.0' ">
- <Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="EnvDTE80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.CoreUtility, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Language.StandardClassification, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.OLE.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Shell.15.0, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Shell.Immutable.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Shell.Immutable.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Shell.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Shell.Interop.15.3.DesignTime, Version=15.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"/>
- <Reference Include="Microsoft.VisualStudio.Shell.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Shell.Interop.9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Shell.Framework, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.TemplateWizardInterface, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Text.Data, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Text.Logic, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Text.UI, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Text.UI.Wpf, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Utilities, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.VCCodeModel, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.VCProjectEngine, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.ComponentModelHost, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Debugger.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Debugger.InteropA, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.VisualStudio.Editor, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
- <Reference Include="Microsoft.VisualStudio.Shell.Interop.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
- <EmbedInteropTypes>True</EmbedInteropTypes>
- </Reference>
- <Reference Include="Microsoft.VisualStudio.TextManager.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="EnvDTE80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.ComponentModelHost, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.CoreUtility, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Debugger.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Debugger.InteropA, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Editor, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Language.StandardClassification, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.OLE.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.15.0, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Framework, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Immutable.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Immutable.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.14.0.DesignTime, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"/>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.15.3.DesignTime, Version=15.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"/>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.15.6.DesignTime, Version=15.6.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"/>
+ <Reference Include="Microsoft.VisualStudio.TemplateWizardInterface, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Text.Data, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Text.Logic, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Text.UI, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Text.UI.Wpf, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.TextManager.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Threading, Version=15.8.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Utilities, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.VCCodeModel, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.VCProjectEngine, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="System" />
diff --git a/src/qtprojectlib/QtProjectLib.csproj b/src/qtprojectlib/QtProjectLib.csproj
index ed2c8bd5..7b39a1cb 100644
--- a/src/qtprojectlib/QtProjectLib.csproj
+++ b/src/qtprojectlib/QtProjectLib.csproj
@@ -98,6 +98,7 @@
<Compile Include="Statics.cs" />
<Compile Include="TemplateType.cs" />
<Compile Include="VersionInformation.cs" />
+ <Compile Include="VisualStudio\VsServiceProvider.cs" />
<Compile Include="WaitDialog.cs" />
</ItemGroup>
<ItemGroup>
diff --git a/src/qtprojectlib/VisualStudio/VsServiceProvider.cs b/src/qtprojectlib/VisualStudio/VsServiceProvider.cs
new file mode 100644
index 00000000..d8a24c01
--- /dev/null
+++ b/src/qtprojectlib/VisualStudio/VsServiceProvider.cs
@@ -0,0 +1,99 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt VS Tools.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+using Microsoft.VisualStudio.Shell;
+using System;
+using System.Collections.Concurrent;
+using System.Threading.Tasks;
+
+namespace QtVsTools.VisualStudio
+{
+ using ServiceType = Tuple<Type, Type>;
+
+ public interface IVsServiceProvider
+ {
+ I GetService<T, I>() where T : class where I : class;
+#if !VS2013
+ Task<I> GetServiceAsync<T, I>() where T : class where I : class;
+#endif
+ }
+
+ public static class VsServiceProvider
+ {
+ public static IVsServiceProvider Instance { get; set; }
+
+ static ConcurrentDictionary<ServiceType, object> services
+ = new ConcurrentDictionary<ServiceType, object>();
+
+ public static I GetService<I>()
+ where I : class
+ {
+ return GetService<I, I>();
+ }
+
+ public static I GetService<T, I>()
+ where T : class
+ where I : class
+ {
+ if (Instance == null)
+ return null;
+
+ object serviceObj;
+ if (services.TryGetValue(new ServiceType(typeof(T), typeof(I)), out serviceObj))
+ return serviceObj as I;
+
+ var serviceInterface = Instance.GetService<T, I>();
+ services.TryAdd(new ServiceType(typeof(T), typeof(I)), serviceInterface);
+ return serviceInterface;
+ }
+
+#if !VS2013
+ public static async Task<I> GetServiceAsync<I>()
+ where I : class
+ {
+ return await GetServiceAsync<I, I>();
+ }
+
+ public static async Task<I> GetServiceAsync<T, I>()
+ where T : class
+ where I : class
+ {
+ if (Instance == null)
+ return null;
+
+ object serviceObj;
+ if (services.TryGetValue(new ServiceType(typeof(T), typeof(I)), out serviceObj))
+ return serviceObj as I;
+
+ var serviceInterface = await Instance.GetServiceAsync<T, I>();
+ services.TryAdd(new ServiceType(typeof(T), typeof(I)), serviceInterface);
+ return serviceInterface;
+ }
+#endif
+ }
+}
diff --git a/src/qtprojectlib/WaitDialog.cs b/src/qtprojectlib/WaitDialog.cs
index 0818320d..4488d2f4 100644
--- a/src/qtprojectlib/WaitDialog.cs
+++ b/src/qtprojectlib/WaitDialog.cs
@@ -35,6 +35,7 @@ using Microsoft.VisualStudio;
using Microsoft.VisualStudio.Shell;
using Microsoft.VisualStudio.Shell.Interop;
using Microsoft.VisualStudio.VCProjectEngine;
+using QtVsTools.VisualStudio;
namespace QtProjectLib
{
@@ -76,8 +77,8 @@ namespace QtProjectLib
static WaitDialog Create()
{
if (factory == null) {
- factory = (IVsThreadedWaitDialogFactory)Package
- .GetGlobalService(typeof(SVsThreadedWaitDialogFactory));
+ factory = VsServiceProvider
+ .GetService<SVsThreadedWaitDialogFactory, IVsThreadedWaitDialogFactory>();
if (factory == null)
return null;
}
diff --git a/src/qtvstools/AddQtVersionDialog.cs b/src/qtvstools/AddQtVersionDialog.cs
index 20c78709..53e72d75 100644
--- a/src/qtvstools/AddQtVersionDialog.cs
+++ b/src/qtvstools/AddQtVersionDialog.cs
@@ -27,8 +27,10 @@
****************************************************************************/
using Microsoft.VisualStudio.Settings;
+using Microsoft.VisualStudio.Shell.Interop;
using Microsoft.VisualStudio.Shell.Settings;
using QtProjectLib;
+using QtVsTools.VisualStudio;
using System;
using System.IO;
using System.Linq;
@@ -259,7 +261,7 @@ namespace QtVsTools
private void browseButton_Click(object sender, EventArgs e)
{
using (var fd = new FolderBrowserDialog()) {
- var settingsManager = new ShellSettingsManager(Vsix.Instance);
+ var settingsManager = VsShellSettings.Manager;
var store = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings);
fd.Description = SR.GetString("SelectQtPath");
diff --git a/src/qtvstools/DteEventsHandler.cs b/src/qtvstools/DteEventsHandler.cs
index af446568..3e0051a6 100644
--- a/src/qtvstools/DteEventsHandler.cs
+++ b/src/qtvstools/DteEventsHandler.cs
@@ -95,9 +95,6 @@ namespace QtVsTools
dispId_VCCLCompilerTool_PreprocessorDefinitions = GetPropertyDispId(typeof(VCCLCompilerTool), "PreprocessorDefinitions");
dispId_VCCLCompilerTool_AdditionalIncludeDirectories = GetPropertyDispId(typeof(VCCLCompilerTool), "AdditionalIncludeDirectories");
InitializeVCProjects();
-
- DefaultEditorsClient.Initialize(this);
- DefaultEditorsClient.Instance.Listen();
}
void debugStartEvents_BeforeExecute(string Guid, int ID, object CustomIn, object CustomOut, ref bool CancelDefault)
@@ -205,8 +202,6 @@ namespace QtVsTools
if (vcProjectEngineEvents != null)
vcProjectEngineEvents.ItemPropertyChange -= OnVCProjectEngineItemPropertyChange;
-
- DefaultEditorsClient.Instance.Shutdown();
}
public void OnBuildProjConfigBegin(string projectName, string projectConfig, string platform, string solutionConfig)
diff --git a/src/qtvstools/QML/Classification/QmlExpressionEvalClassifier.cs b/src/qtvstools/QML/Classification/QmlExpressionEvalClassifier.cs
index 33390979..9ed28d30 100644
--- a/src/qtvstools/QML/Classification/QmlExpressionEvalClassifier.cs
+++ b/src/qtvstools/QML/Classification/QmlExpressionEvalClassifier.cs
@@ -42,6 +42,7 @@ using Microsoft.VisualStudio.Text.Tagging;
using Microsoft.VisualStudio.TextManager.Interop;
using Microsoft.VisualStudio.Utilities;
using QtVsTools.Qml.Syntax;
+using QtVsTools.VisualStudio;
namespace QtVsTools.Qml.Classification
{
@@ -100,12 +101,12 @@ namespace QtVsTools.Qml.Classification
this.textView = textView;
this.buffer = buffer;
- debugger = Package.GetGlobalService(typeof(IVsDebugger)) as IVsDebugger;
+ debugger = VsServiceProvider.GetService<IVsDebugger>();
if (debugger == null)
return false;
- var componentModel = Package
- .GetGlobalService(typeof(SComponentModel)) as IComponentModel;
+ var componentModel = VsServiceProvider
+ .GetService<SComponentModel, IComponentModel>();
if (componentModel == null)
return false;
diff --git a/src/qtvstools/QML/Debugging/AD7/QmlDebugAD7Program.cs b/src/qtvstools/QML/Debugging/AD7/QmlDebugAD7Program.cs
index a1520b42..66fd5102 100644
--- a/src/qtvstools/QML/Debugging/AD7/QmlDebugAD7Program.cs
+++ b/src/qtvstools/QML/Debugging/AD7/QmlDebugAD7Program.cs
@@ -37,6 +37,7 @@ using Microsoft.VisualStudio;
using Microsoft.VisualStudio.Debugger.Interop;
using Microsoft.VisualStudio.Shell;
using Microsoft.VisualStudio.Shell.Interop;
+using QtVsTools.VisualStudio;
namespace QtVsTools.Qml.Debug.AD7
{
@@ -112,7 +113,7 @@ namespace QtVsTools.Qml.Debug.AD7
if (Debugger == null)
return false;
- VsDebugger = Package.GetGlobalService(typeof(IVsDebugger)) as IVsDebugger;
+ VsDebugger = VsServiceProvider.GetService<IVsDebugger>();
if (VsDebugger != null)
VsDebugger.AdviseDebugEventCallback(this as IDebugEventCallback2);
vsDebuggerThreadDispatcher = Dispatcher.CurrentDispatcher;
diff --git a/src/qtvstools/QML/Debugging/QmlDebugLauncher.cs b/src/qtvstools/QML/Debugging/QmlDebugLauncher.cs
index 0230ef05..571dc8af 100644
--- a/src/qtvstools/QML/Debugging/QmlDebugLauncher.cs
+++ b/src/qtvstools/QML/Debugging/QmlDebugLauncher.cs
@@ -41,6 +41,7 @@ using QtProjectLib.QtMsBuild;
namespace QtVsTools.Qml.Debug
{
using AD7;
+ using VisualStudio;
class Launcher : Disposable, IDebugEventCallback2
{
@@ -51,8 +52,8 @@ namespace QtVsTools.Qml.Debug
public static void Initialize()
{
Instance = new Launcher();
- Instance.debugger = Package.GetGlobalService(typeof(IVsDebugger)) as IVsDebugger;
- Instance.debugger4 = Package.GetGlobalService(typeof(IVsDebugger)) as IVsDebugger4;
+ Instance.debugger = VsServiceProvider.GetService<IVsDebugger>();
+ Instance.debugger4 = VsServiceProvider.GetService<IVsDebugger, IVsDebugger4>();
if (Instance.debugger != null && Instance.debugger4 != null)
Instance.debugger.AdviseDebugEventCallback(Instance);
}
diff --git a/src/qtvstools/QtHelpMenu.cs b/src/qtvstools/QtHelpMenu.cs
index fc545884..9e94c9f0 100644
--- a/src/qtvstools/QtHelpMenu.cs
+++ b/src/qtvstools/QtHelpMenu.cs
@@ -32,6 +32,7 @@ using Microsoft.VisualStudio.Shell;
using Microsoft.VisualStudio.Shell.Interop;
using Microsoft.VisualStudio.Shell.Settings;
using QtProjectLib;
+using QtVsTools.VisualStudio;
using System;
using System.Collections.Generic;
using System.ComponentModel.Design;
@@ -69,9 +70,8 @@ namespace QtVsTools
throw new ArgumentNullException("package");
package = pkg;
- var commandService = ServiceProvider.GetService(typeof(IMenuCommandService))
- as OleMenuCommandService;
-
+ var commandService = VsServiceProvider
+ .GetService<IMenuCommandService, OleMenuCommandService>();
if (commandService == null)
return;
@@ -149,7 +149,7 @@ namespace QtVsTools
async void F1QtHelpCallback(object sender, EventArgs args)
{
try {
- var dte = ServiceProvider.GetService(typeof(SDTE)) as DTE;
+ var dte = VsServiceProvider.GetService<SDTE, DTE>();
var objTextDocument = dte.ActiveDocument.Object() as TextDocument;
var keyword = string.Empty;
@@ -199,7 +199,7 @@ namespace QtVsTools
if (qchFiles.Length == 0)
return;
- var settingsManager = new ShellSettingsManager(Instance.ServiceProvider);
+ var settingsManager = VsShellSettings.Manager;
var store = settingsManager.GetReadOnlySettingsStore(SettingsScope.UserSettings);
var offline =
store.GetBoolean(Statics.HelpPreferencePath, Statics.HelpPreferenceKey, true);
@@ -294,7 +294,7 @@ namespace QtVsTools
if (command == null)
return;
- var settingsManager = new ShellSettingsManager(ServiceProvider);
+ var settingsManager = VsShellSettings.Manager;
var store = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings);
store.CreateCollection(Statics.HelpPreferencePath);
@@ -308,7 +308,7 @@ namespace QtVsTools
if (command == null)
return;
- var settingsManager = new ShellSettingsManager(ServiceProvider);
+ var settingsManager = VsShellSettings.Manager;
var store = settingsManager.GetReadOnlySettingsStore(SettingsScope.UserSettings);
switch (command.CommandID.ID) {
diff --git a/src/qtvstools/QtItemContextMenu.cs b/src/qtvstools/QtItemContextMenu.cs
index dc61687b..a84a5837 100644
--- a/src/qtvstools/QtItemContextMenu.cs
+++ b/src/qtvstools/QtItemContextMenu.cs
@@ -29,6 +29,7 @@
using EnvDTE;
using Microsoft.VisualStudio.Shell;
using QtProjectLib;
+using QtVsTools.VisualStudio;
using System;
using System.ComponentModel.Design;
@@ -93,8 +94,8 @@ namespace QtVsTools
m_package = package;
- var commandService = ServiceProvider.GetService(typeof(IMenuCommandService))
- as OleMenuCommandService;
+ var commandService = VsServiceProvider
+ .GetService<IMenuCommandService, OleMenuCommandService>();
if (commandService == null)
return;
diff --git a/src/qtvstools/QtMainMenu.cs b/src/qtvstools/QtMainMenu.cs
index 92237dca..b68700fa 100644
--- a/src/qtvstools/QtMainMenu.cs
+++ b/src/qtvstools/QtMainMenu.cs
@@ -29,6 +29,7 @@
using EnvDTE;
using Microsoft.VisualStudio.Shell;
using QtProjectLib;
+using QtVsTools.VisualStudio;
using System;
using System.ComponentModel.Design;
using System.Windows.Forms;
@@ -108,8 +109,8 @@ namespace QtVsTools
m_package = package;
- var commandService = ServiceProvider.GetService(typeof(IMenuCommandService))
- as OleMenuCommandService;
+ var commandService = VsServiceProvider
+ .GetService<IMenuCommandService, OleMenuCommandService>();
if (commandService == null)
return;
diff --git a/src/qtvstools/QtMsBuildConverter.cs b/src/qtvstools/QtMsBuildConverter.cs
index d128578f..f161facb 100644
--- a/src/qtvstools/QtMsBuildConverter.cs
+++ b/src/qtvstools/QtMsBuildConverter.cs
@@ -35,6 +35,7 @@ using Microsoft.VisualStudio;
using Microsoft.VisualStudio.Shell.Interop;
using Microsoft.VisualStudio.VCProjectEngine;
using QtProjectLib;
+using QtVsTools.VisualStudio;
namespace QtVsTools
{
@@ -154,15 +155,11 @@ namespace QtVsTools
}
}
- var serviceProvider = Vsix.Instance as IServiceProvider;
- if (serviceProvider == null)
- return ErrorMessage(
- string.Format(SR.GetString("ErrorConvertingProject"), project.Name));
var vcProject = project.Object as VCProject;
if (vcProject == null)
return ErrorMessage(
string.Format(SR.GetString("ErrorConvertingProject"), project.Name));
- var solution = serviceProvider.GetService(typeof(SVsSolution)) as IVsSolution4;
+ var solution = VsServiceProvider.GetService<SVsSolution, IVsSolution4>();
if (solution == null)
return ErrorMessage(
string.Format(SR.GetString("ErrorConvertingProject"), project.Name));
diff --git a/src/qtvstools/QtProjectContextMenu.cs b/src/qtvstools/QtProjectContextMenu.cs
index a38c2f88..220599dd 100644
--- a/src/qtvstools/QtProjectContextMenu.cs
+++ b/src/qtvstools/QtProjectContextMenu.cs
@@ -33,6 +33,7 @@ using Microsoft.VisualStudio.Shell.Interop;
using Microsoft.VisualStudio.VCProjectEngine;
using QtProjectLib;
using QtProjectWizard;
+using QtVsTools.VisualStudio;
using System;
using System.ComponentModel.Design;
using System.Windows.Forms;
@@ -111,8 +112,8 @@ namespace QtVsTools
m_package = package;
- var commandService = ServiceProvider.GetService(typeof(IMenuCommandService))
- as OleMenuCommandService;
+ var commandService = VsServiceProvider
+ .GetService<IMenuCommandService, OleMenuCommandService>();
if (commandService == null)
return;
diff --git a/src/qtvstools/QtSolutionContextMenu.cs b/src/qtvstools/QtSolutionContextMenu.cs
index 1658e187..b0935e43 100644
--- a/src/qtvstools/QtSolutionContextMenu.cs
+++ b/src/qtvstools/QtSolutionContextMenu.cs
@@ -29,6 +29,7 @@
using EnvDTE80;
using Microsoft.VisualStudio.Shell;
using QtProjectLib;
+using QtVsTools.VisualStudio;
using System;
using System.ComponentModel.Design;
using System.Windows.Forms;
@@ -96,8 +97,8 @@ namespace QtVsTools
m_package = package;
- var commandService = ServiceProvider.GetService(typeof(IMenuCommandService))
- as OleMenuCommandService;
+ var commandService = VsServiceProvider
+ .GetService<IMenuCommandService, OleMenuCommandService>();
if (commandService == null)
return;
diff --git a/src/qtvstools/QtVsTools.csproj b/src/qtvstools/QtVsTools.csproj
index 188db2ab..b9082147 100644
--- a/src/qtvstools/QtVsTools.csproj
+++ b/src/qtvstools/QtVsTools.csproj
@@ -158,6 +158,7 @@
<Compile Include="Translation.cs" />
<Compile Include="TranslationItem.cs" />
<Compile Include="VisualStudio\VsShell.cs" />
+ <Compile Include="VisualStudio\VsShellSettings.cs" />
<Compile Include="Vsix.cs" />
<Compile Include="VSQtSettings.cs" />
<Compile Include="VsToolsDialogWindow.cs" />
diff --git a/src/qtvstools/VSQtSettings.cs b/src/qtvstools/VSQtSettings.cs
index 753c6e71..4a8a9095 100644
--- a/src/qtvstools/VSQtSettings.cs
+++ b/src/qtvstools/VSQtSettings.cs
@@ -27,8 +27,10 @@
****************************************************************************/
using Microsoft.VisualStudio.Settings;
+using Microsoft.VisualStudio.Shell.Interop;
using Microsoft.VisualStudio.Shell.Settings;
using QtProjectLib;
+using QtVsTools.VisualStudio;
using System.ComponentModel;
using System.Text.RegularExpressions;
@@ -49,7 +51,7 @@ namespace QtVsTools
newDisableCheckoutFiles = QtVSIPSettings.GetDisableCheckoutFiles();
newDisableAutoMOCStepsUpdate = QtVSIPSettings.GetDisableAutoMocStepsUpdate();
- var settingsManager = new ShellSettingsManager(Vsix.Instance);
+ var settingsManager = VsShellSettings.Manager;
var store = settingsManager.GetReadOnlySettingsStore(SettingsScope.UserSettings);
#if VS2013
@@ -85,7 +87,7 @@ namespace QtVsTools
QtVSIPSettings.SaveDisableCheckoutFiles(newDisableCheckoutFiles);
QtVSIPSettings.SaveDisableAutoMocStepsUpdate(newDisableAutoMOCStepsUpdate);
- var settingsManager = new ShellSettingsManager(Vsix.Instance);
+ var settingsManager = VsShellSettings.Manager;
var store = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings);
#if VS2013
diff --git a/src/qtvstools/VisualStudio/VsShell.cs b/src/qtvstools/VisualStudio/VsShell.cs
index 453db700..6de0a850 100644
--- a/src/qtvstools/VisualStudio/VsShell.cs
+++ b/src/qtvstools/VisualStudio/VsShell.cs
@@ -50,7 +50,7 @@ namespace QtVsTools.VisualStudio
{
if (vsShell != null)
return;
- vsShell = Package.GetGlobalService(typeof(IVsShell)) as IVsShell;
+ vsShell = VsServiceProvider.GetService<IVsShell>();
object objProp;
int res = vsShell.GetProperty((int)__VSSPROPID2.VSSPROPID_InstallRootDir, out objProp);
diff --git a/src/qtvstools/VisualStudio/VsShellSettings.cs b/src/qtvstools/VisualStudio/VsShellSettings.cs
new file mode 100644
index 00000000..7bb24a9e
--- /dev/null
+++ b/src/qtvstools/VisualStudio/VsShellSettings.cs
@@ -0,0 +1,37 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt VS Tools.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+using Microsoft.VisualStudio.Shell.Settings;
+
+namespace QtVsTools.VisualStudio
+{
+ static class VsShellSettings
+ {
+ public static ShellSettingsManager Manager { get; set; }
+ }
+}
diff --git a/src/qtvstools/Vsix.cs b/src/qtvstools/Vsix.cs
index 45e4e4c4..3d5aaec5 100644
--- a/src/qtvstools/Vsix.cs
+++ b/src/qtvstools/Vsix.cs
@@ -29,25 +29,41 @@
using EnvDTE;
using Microsoft.VisualStudio.Settings;
using Microsoft.VisualStudio.Shell;
+using Microsoft.VisualStudio.Shell.Interop;
using Microsoft.VisualStudio.Shell.Settings;
+using Microsoft.VisualStudio.Threading;
using QtProjectLib;
using System;
+using System.Diagnostics;
using System.IO;
using System.Runtime.InteropServices;
using System.Threading;
+using System.Threading.Tasks;
using System.Windows.Forms;
+using Task = System.Threading.Tasks.Task;
+
namespace QtVsTools
{
using VisualStudio;
+#if VS2013
+ using AsyncPackage = Package;
+#endif
+
[Guid(PackageGuid)]
- [PackageRegistration(UseManagedResourcesOnly = true)]
[InstalledProductRegistration("#110", "#112", Version.PRODUCT_VERSION, IconResourceID = 400)]
[ProvideMenuResource("Menus.ctmenu", 1)]
- [ProvideAutoLoad(Microsoft.VisualStudio.Shell.Interop.UIContextGuids.SolutionExists)]
- [ProvideAutoLoad(Microsoft.VisualStudio.Shell.Interop.UIContextGuids.NoSolution)]
- public sealed class Vsix : Package
+#if VS2013
+ [PackageRegistration(UseManagedResourcesOnly = true)]
+ [ProvideAutoLoad(UIContextGuids.SolutionExists)]
+ [ProvideAutoLoad(UIContextGuids.NoSolution)]
+#else
+ [PackageRegistration(UseManagedResourcesOnly = true, AllowsBackgroundLoading = true)]
+ [ProvideAutoLoad(UIContextGuids.SolutionExists, PackageAutoLoadFlags.BackgroundLoad)]
+ [ProvideAutoLoad(UIContextGuids.NoSolution, PackageAutoLoadFlags.BackgroundLoad)]
+#endif
+ public sealed class Vsix : AsyncPackage, IVsServiceProvider
{
/// <summary>
/// The package GUID string.
@@ -109,106 +125,142 @@ namespace QtVsTools
}
}
+ static readonly Stopwatch initTimer = Stopwatch.StartNew();
+
/// <summary>
/// Initialization of the package; this method is called right after the package is sited,
/// so this is the place where you can put all the initialization code that rely on services
/// provided by VisualStudio.
/// </summary>
+#if VS2013
protected override void Initialize()
+#else
+ protected override async Task InitializeAsync(
+ CancellationToken cancellationToken,
+ IProgress<ServiceProgressData> progress)
+#endif
{
- base.Initialize();
-
- Qml.Debug.Launcher.Initialize();
- Action init = () =>
+ try
{
- try {
- instance = this;
-
- Dte = (this as IServiceProvider).GetService(typeof(DTE)) as DTE;
-
- if (!string.IsNullOrEmpty(VsShell.InstallRootDir))
- HelperFunctions.VCPath = Path.Combine(VsShell.InstallRootDir, "VC");
-
- // determine the package installation directory
- var uri = new Uri(System.Reflection.Assembly
- .GetExecutingAssembly().EscapedCodeBase);
- PkgInstallPath = Path.GetDirectoryName(
- Uri.UnescapeDataString(uri.AbsolutePath)) + @"\";
-
- var QtMsBuildDefault = Path.Combine(
- Environment.GetEnvironmentVariable("LocalAppData"), "QtMsBuild");
- try {
- if (!Directory.Exists(QtMsBuildDefault))
- Directory.CreateDirectory(QtMsBuildDefault);
- var qtMsBuildFiles = Directory.GetFiles(
- Path.Combine(PkgInstallPath, "QtMsBuild"));
- foreach (var qtMsBuildFile in qtMsBuildFiles) {
- File.Copy(qtMsBuildFile, Path.Combine(
- QtMsBuildDefault, Path.GetFileName(qtMsBuildFile)), true);
- }
- } catch {
- QtMsBuildDefault = Path.Combine(PkgInstallPath, "QtMsBuild");
- }
+ var timeInitBegin = initTimer.Elapsed;
+ VsServiceProvider.Instance = instance = this;
+
+#if !VS2013
+ ///////////////////////////////////////////////////////////////////////////////////
+ // Switch to main (UI) thread
+ await JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken);
+ var timeUiThreadBegin = initTimer.Elapsed;
+#endif
- var QtMsBuildPath = Environment.GetEnvironmentVariable("QtMsBuild");
- if (string.IsNullOrEmpty(QtMsBuildPath)) {
+ if ((Dte = VsServiceProvider.GetService<DTE>()) == null)
+ throw new Exception("Unable to get service: DTE");
- Environment.SetEnvironmentVariable(
- "QtMsBuild", QtMsBuildDefault,
- EnvironmentVariableTarget.User);
+ VsShellSettings.Manager = new ShellSettingsManager(this as IServiceProvider);
- Environment.SetEnvironmentVariable(
- "QtMsBuild", QtMsBuildDefault,
- EnvironmentVariableTarget.Process);
- }
+ eventHandler = new DteEventsHandler(Dte);
+ DefaultEditorsClient.Initialize(eventHandler);
+ DefaultEditorsClient.Instance.Listen();
- var vm = QtVersionManager.The(initDone);
- var error = string.Empty;
- if (vm.HasInvalidVersions(out error))
- Messages.PaneMessageSafe(Dte, error, 5000);
- eventHandler = new DteEventsHandler(Dte);
-
- QtMainMenu.Initialize(this);
- QtSolutionContextMenu.Initialize(this);
- QtProjectContextMenu.Initialize(this);
- QtItemContextMenu.Initialize(this);
- DefaultEditorsHandler.Initialize(Dte);
- QtHelpMenu.Initialize(this);
-
- try {
- CopyTextMateLanguageFiles();
- UpdateDefaultEditors(Mode.Startup);
- } catch (Exception e) {
- Messages.PaneMessageSafe(Dte,
- e.Message + "\r\n\r\nStacktrace:\r\n" + e.StackTrace, 5000);
- }
+ Qml.Debug.Launcher.Initialize();
+ QtMainMenu.Initialize(this);
+ QtSolutionContextMenu.Initialize(this);
+ QtProjectContextMenu.Initialize(this);
+ QtItemContextMenu.Initialize(this);
+ DefaultEditorsHandler.Initialize(Dte);
+ QtHelpMenu.Initialize(this);
+
+ if (!string.IsNullOrEmpty(VsShell.InstallRootDir))
+ HelperFunctions.VCPath = Path.Combine(VsShell.InstallRootDir, "VC");
+
+#if !VS2013
+ ///////////////////////////////////////////////////////////////////////////////////
+ // Switch to background thread
+ await TaskScheduler.Default;
+ var timeUiThreadEnd = initTimer.Elapsed;
+#endif
- var modules = QtModules.Instance.GetAvailableModuleInformation();
- foreach (var module in modules) {
- if (!string.IsNullOrEmpty(module.ResourceName)) {
- var translatedName = SR.GetString(module.ResourceName, this);
- if (!string.IsNullOrEmpty(translatedName))
- module.Name = translatedName;
- }
+ var vm = QtVersionManager.The(initDone);
+ var error = string.Empty;
+ if (vm.HasInvalidVersions(out error))
+ Messages.PaneMessageSafe(Dte, error, 5000);
+
+ // determine the package installation directory
+ var uri = new Uri(System.Reflection.Assembly
+ .GetExecutingAssembly().EscapedCodeBase);
+ PkgInstallPath = Path.GetDirectoryName(
+ Uri.UnescapeDataString(uri.AbsolutePath)) + @"\";
+
+ var QtMsBuildDefault = Path.Combine(
+ Environment.GetEnvironmentVariable("LocalAppData"), "QtMsBuild");
+ try
+ {
+ if (!Directory.Exists(QtMsBuildDefault))
+ Directory.CreateDirectory(QtMsBuildDefault);
+ var qtMsBuildFiles = Directory.GetFiles(
+ Path.Combine(PkgInstallPath, "QtMsBuild"));
+ foreach (var qtMsBuildFile in qtMsBuildFiles)
+ {
+ File.Copy(qtMsBuildFile, Path.Combine(
+ QtMsBuildDefault, Path.GetFileName(qtMsBuildFile)), true);
}
+ }
+ catch
+ {
+ QtMsBuildDefault = Path.Combine(PkgInstallPath, "QtMsBuild");
+ }
- CopyNatvisFile();
+ var QtMsBuildPath = Environment.GetEnvironmentVariable("QtMsBuild");
+ if (string.IsNullOrEmpty(QtMsBuildPath))
+ {
- } catch (Exception e) {
- Messages.PaneMessageSafe(Dte,
- e.Message + "\r\n\r\nStacktrace:\r\n" + e.StackTrace, 5000);
+ Environment.SetEnvironmentVariable(
+ "QtMsBuild", QtMsBuildDefault,
+ EnvironmentVariableTarget.User);
- } finally {
- initDone.Set();
+ Environment.SetEnvironmentVariable(
+ "QtMsBuild", QtMsBuildDefault,
+ EnvironmentVariableTarget.Process);
+ }
+ CopyTextMateLanguageFiles();
+ UpdateDefaultEditors(Mode.Startup);
+ CopyNatvisFile();
+
+ var modules = QtModules.Instance.GetAvailableModuleInformation();
+ foreach (var module in modules)
+ {
+ if (!string.IsNullOrEmpty(module.ResourceName))
+ {
+ var translatedName = SR.GetString(module.ResourceName, this);
+ if (!string.IsNullOrEmpty(translatedName))
+ module.Name = translatedName;
+ }
}
- };
- var QtVs_Init = Environment.GetEnvironmentVariable("QtVs_Init");
- if (string.Equals(QtVs_Init, "fast", StringComparison.InvariantCultureIgnoreCase))
- System.Threading.Tasks.Task.Run(init);
- else
- init();
+ Messages.PaneMessageSafe(Dte, string.Format("\r\n"
+ + "== Qt Visual Studio Tools version {0}\r\n"
+ + "\r\n"
+ + " Initialized in: {1:0.##} msecs\r\n"
+#if !VS2013
+ + " Main (UI) thread: {2:0.##} msecs\r\n"
+#endif
+ , Version.PRODUCT_VERSION
+ , (initTimer.Elapsed - timeInitBegin).TotalMilliseconds
+#if !VS2013
+ , (timeUiThreadEnd - timeUiThreadBegin).TotalMilliseconds
+#endif
+ ), 5000);
+ }
+ catch (Exception e)
+ {
+ Messages.PaneMessageSafe(Dte,
+ e.Message + "\r\n\r\nStacktrace:\r\n" + e.StackTrace, 5000);
+ }
+ finally
+ {
+ initDone.Set();
+ initTimer.Stop();
+ }
}
/// <summary>
@@ -221,9 +273,13 @@ namespace QtVsTools
protected override int QueryClose(out bool canClose)
{
if (eventHandler != null)
+ {
eventHandler.Disconnect();
+ DefaultEditorsClient.Instance.Shutdown();
+ }
- try {
+ try
+ {
UpdateDefaultEditors(Mode.Shutdown);
} catch (Exception e) {
MessageBox.Show(e.Message + "\r\n\r\nStacktrace:\r\n" + e.StackTrace);
@@ -269,7 +325,7 @@ namespace QtVsTools
private void CopyTextMateLanguageFiles()
{
#if (!VS2013)
- var settingsManager = new ShellSettingsManager(instance);
+ var settingsManager = VsShellSettings.Manager;
var store = settingsManager.GetReadOnlySettingsStore(SettingsScope.UserSettings);
var qttmlanguage = Environment.
@@ -323,5 +379,21 @@ namespace QtVsTools
e.Message + "\r\n\r\nStacktrace:\r\n" + e.StackTrace, 5000);
}
}
+
+ public I GetService<T, I>()
+ where T : class
+ where I : class
+ {
+ return GetService(typeof(T)) as I;
+ }
+
+#if !VS2013
+ public async Task<I> GetServiceAsync<T, I>()
+ where T : class
+ where I : class
+ {
+ return await GetServiceAsync(typeof(T)) as I;
+ }
+#endif
}
}
diff --git a/src/qtwizard/AddClassPage.xaml.cs b/src/qtwizard/AddClassPage.xaml.cs
index 2a7505f7..7b4967bb 100644
--- a/src/qtwizard/AddClassPage.xaml.cs
+++ b/src/qtwizard/AddClassPage.xaml.cs
@@ -30,6 +30,7 @@ using EnvDTE;
using Microsoft.VisualStudio.OLE.Interop;
using Microsoft.VisualStudio.Shell;
using Microsoft.VisualStudio.Shell.Interop;
+using QtVsTools.VisualStudio;
using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.InteropServices;
@@ -151,9 +152,9 @@ namespace QtProjectWizard
{
var block = System.IntPtr.Zero;
try {
- var dte = Package.GetGlobalService(typeof(DTE)) as DTE;
+ var dte = VsServiceProvider.GetService<DTE>();
var serviceProvider = new ServiceProvider(dte as IServiceProvider);
- var iVsUIShell = serviceProvider.GetService(typeof(SVsUIShell)) as IVsUIShell;
+ var iVsUIShell = VsServiceProvider.GetService<SVsUIShell, IVsUIShell>();
System.IntPtr owner;
iVsUIShell.GetDialogOwnerHwnd(out owner);
diff --git a/src/qtwizard/AddClassWizard.cs b/src/qtwizard/AddClassWizard.cs
index 33844e85..403f5646 100644
--- a/src/qtwizard/AddClassWizard.cs
+++ b/src/qtwizard/AddClassWizard.cs
@@ -30,6 +30,7 @@ using Microsoft.Internal.VisualStudio.PlatformUI;
using Microsoft.VisualStudio.OLE.Interop;
using Microsoft.VisualStudio.Shell;
using Microsoft.VisualStudio.Shell.Interop;
+using QtVsTools.VisualStudio;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Windows.Controls;
@@ -44,7 +45,7 @@ namespace QtProjectWizard
ServiceProvider serviceProvider = null;
try {
serviceProvider = new ServiceProvider(dte as IServiceProvider);
- iVsUIShell = serviceProvider.GetService(typeof(SVsUIShell)) as IVsUIShell;
+ iVsUIShell = VsServiceProvider.GetService<SVsUIShell, IVsUIShell>();
} catch {
return WizardResult.Exception;
}
diff --git a/src/qtwizard/ConsoleWizard.cs b/src/qtwizard/ConsoleWizard.cs
index 63980a18..0e980092 100644
--- a/src/qtwizard/ConsoleWizard.cs
+++ b/src/qtwizard/ConsoleWizard.cs
@@ -34,6 +34,7 @@ using Microsoft.VisualStudio.Shell.Interop;
using Microsoft.VisualStudio.TemplateWizard;
using Microsoft.VisualStudio.VCProjectEngine;
using QtProjectLib;
+using QtVsTools.VisualStudio;
using System.Collections.Generic;
using System.IO;
using System.Windows.Forms;
@@ -46,7 +47,7 @@ namespace QtProjectWizard
WizardRunKind runKind, object[] customParams)
{
var serviceProvider = new ServiceProvider(automation as IServiceProvider);
- var iVsUIShell = serviceProvider.GetService(typeof(SVsUIShell)) as IVsUIShell;
+ var iVsUIShell = VsServiceProvider.GetService<SVsUIShell, IVsUIShell>();
iVsUIShell.EnableModeless(0);
diff --git a/src/qtwizard/CoreClassWizard.cs b/src/qtwizard/CoreClassWizard.cs
index 96620564..09c4b497 100644
--- a/src/qtwizard/CoreClassWizard.cs
+++ b/src/qtwizard/CoreClassWizard.cs
@@ -32,6 +32,7 @@ using Microsoft.VisualStudio.Shell;
using Microsoft.VisualStudio.Shell.Interop;
using Microsoft.VisualStudio.TemplateWizard;
using QtProjectLib;
+using QtVsTools.VisualStudio;
using System.Collections.Generic;
using System.IO;
using System.Linq;
@@ -43,7 +44,7 @@ namespace QtProjectWizard
public WizardResult Run(EnvDTE.DTE dte, string name, string location)
{
var serviceProvider = new ServiceProvider(dte as IServiceProvider);
- var iVsUIShell = serviceProvider.GetService(typeof(SVsUIShell)) as IVsUIShell;
+ var iVsUIShell = VsServiceProvider.GetService<SVsUIShell, IVsUIShell>();
iVsUIShell.EnableModeless(0);
diff --git a/src/qtwizard/DesignerWizard.cs b/src/qtwizard/DesignerWizard.cs
index efe3a96d..ae3b55cc 100644
--- a/src/qtwizard/DesignerWizard.cs
+++ b/src/qtwizard/DesignerWizard.cs
@@ -34,6 +34,7 @@ using Microsoft.VisualStudio.Shell.Interop;
using Microsoft.VisualStudio.TemplateWizard;
using Microsoft.VisualStudio.VCProjectEngine;
using QtProjectLib;
+using QtVsTools.VisualStudio;
using System.Collections.Generic;
using System.IO;
using System.Linq;
@@ -116,7 +117,7 @@ namespace QtProjectWizard
WizardRunKind runKind, object[] customParams)
{
var serviceProvider = new ServiceProvider(automation as IServiceProvider);
- var iVsUIShell = serviceProvider.GetService(typeof(SVsUIShell)) as IVsUIShell;
+ var iVsUIShell = VsServiceProvider.GetService<SVsUIShell, IVsUIShell>();
iVsUIShell.EnableModeless(0);
diff --git a/src/qtwizard/FileExistsInFilterValidationRule.cs b/src/qtwizard/FileExistsInFilterValidationRule.cs
index 94a16571..03129796 100644
--- a/src/qtwizard/FileExistsInFilterValidationRule.cs
+++ b/src/qtwizard/FileExistsInFilterValidationRule.cs
@@ -30,6 +30,7 @@ using EnvDTE;
using Microsoft.VisualStudio.Shell;
using Microsoft.VisualStudio.Shell.Interop;
using QtProjectLib;
+using QtVsTools.VisualStudio;
using System.Globalization;
using System.Linq;
using System.Windows.Controls;
@@ -41,7 +42,7 @@ namespace QtProjectWizard
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{
if (value is string) {
- var dte = Package.GetGlobalService(typeof(SDTE)) as DTE;
+ var dte = VsServiceProvider.GetService<SDTE, DTE>();
if (dte == null)
return ValidationResult.ValidResult;
diff --git a/src/qtwizard/GuiClassWizard.cs b/src/qtwizard/GuiClassWizard.cs
index feb878bf..51d7c945 100644
--- a/src/qtwizard/GuiClassWizard.cs
+++ b/src/qtwizard/GuiClassWizard.cs
@@ -32,6 +32,7 @@ using Microsoft.VisualStudio.Shell;
using Microsoft.VisualStudio.Shell.Interop;
using Microsoft.VisualStudio.TemplateWizard;
using QtProjectLib;
+using QtVsTools.VisualStudio;
using System.Collections.Generic;
using System.IO;
using System.Linq;
@@ -43,7 +44,7 @@ namespace QtProjectWizard
public WizardResult Run(EnvDTE.DTE dte, string name, string location)
{
var serviceProvider = new ServiceProvider(dte as IServiceProvider);
- var iVsUIShell = serviceProvider.GetService(typeof(SVsUIShell)) as IVsUIShell;
+ var iVsUIShell = VsServiceProvider.GetService<SVsUIShell, IVsUIShell>();
iVsUIShell.EnableModeless(0);
diff --git a/src/qtwizard/GuiWizard.cs b/src/qtwizard/GuiWizard.cs
index 19a082fd..0c015de3 100644
--- a/src/qtwizard/GuiWizard.cs
+++ b/src/qtwizard/GuiWizard.cs
@@ -34,6 +34,7 @@ using Microsoft.VisualStudio.Shell.Interop;
using Microsoft.VisualStudio.TemplateWizard;
using Microsoft.VisualStudio.VCProjectEngine;
using QtProjectLib;
+using QtVsTools.VisualStudio;
using System.Collections.Generic;
using System.IO;
using System.Linq;
@@ -48,7 +49,7 @@ namespace QtProjectWizard
WizardRunKind runKind, object[] customParams)
{
var serviceProvider = new ServiceProvider(automation as IServiceProvider);
- var iVsUIShell = serviceProvider.GetService(typeof(SVsUIShell)) as IVsUIShell;
+ var iVsUIShell = VsServiceProvider.GetService<SVsUIShell, IVsUIShell>();
iVsUIShell.EnableModeless(0);
diff --git a/src/qtwizard/LibraryWizard.cs b/src/qtwizard/LibraryWizard.cs
index 7fbd6213..27304917 100644
--- a/src/qtwizard/LibraryWizard.cs
+++ b/src/qtwizard/LibraryWizard.cs
@@ -34,6 +34,7 @@ using Microsoft.VisualStudio.Shell.Interop;
using Microsoft.VisualStudio.TemplateWizard;
using Microsoft.VisualStudio.VCProjectEngine;
using QtProjectLib;
+using QtVsTools.VisualStudio;
using System.Collections.Generic;
using System.IO;
using System.Text.RegularExpressions;
@@ -110,7 +111,7 @@ namespace QtProjectWizard
WizardRunKind runKind, object[] customParams)
{
var serviceProvider = new ServiceProvider(automation as IServiceProvider);
- var iVsUIShell = serviceProvider.GetService(typeof(SVsUIShell)) as IVsUIShell;
+ var iVsUIShell = VsServiceProvider.GetService<SVsUIShell, IVsUIShell>();
iVsUIShell.EnableModeless(0);
diff --git a/src/qtwizard/ServerWizard.cs b/src/qtwizard/ServerWizard.cs
index 647c9d95..e1c401bb 100644
--- a/src/qtwizard/ServerWizard.cs
+++ b/src/qtwizard/ServerWizard.cs
@@ -34,6 +34,7 @@ using Microsoft.VisualStudio.Shell.Interop;
using Microsoft.VisualStudio.TemplateWizard;
using Microsoft.VisualStudio.VCProjectEngine;
using QtProjectLib;
+using QtVsTools.VisualStudio;
using System.Collections.Generic;
using System.IO;
using System.Linq;
@@ -115,7 +116,7 @@ namespace QtProjectWizard
WizardRunKind runKind, object[] customParams)
{
var serviceProvider = new ServiceProvider(automation as IServiceProvider);
- var iVsUIShell = serviceProvider.GetService(typeof(SVsUIShell)) as IVsUIShell;
+ var iVsUIShell = VsServiceProvider.GetService<SVsUIShell, IVsUIShell>();
iVsUIShell.EnableModeless(0);
diff --git a/src/qtwizard/VCLanguageManagerValidationRule.cs b/src/qtwizard/VCLanguageManagerValidationRule.cs
index be659db4..bf9f6210 100644
--- a/src/qtwizard/VCLanguageManagerValidationRule.cs
+++ b/src/qtwizard/VCLanguageManagerValidationRule.cs
@@ -29,6 +29,7 @@
using EnvDTE;
using Microsoft.VisualStudio.Shell;
using Microsoft.VisualStudio.VCCodeModel;
+using QtVsTools.VisualStudio;
using System.Windows.Controls;
namespace QtProjectWizard
@@ -39,7 +40,7 @@ namespace QtProjectWizard
{
ValidatesOnTargetUpdated = true;
- var dte = Package.GetGlobalService(typeof(DTE)) as DTE;
+ var dte = VsServiceProvider.GetService<DTE>();
Vclm = dte.GetObject("VCLanguageManager") as VCLanguageManager;
}