Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/microsoft/vs-editor-api.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Gunderman <chgund@microsoft.com>2019-06-14 01:15:30 +0300
committerChristian Gunderman <chgund@microsoft.com>2019-06-14 01:15:30 +0300
commit05276921caa7f385ad7059a85a80c9f7f24f2f1b (patch)
treefe885119cfc74550e868a5721e53609d410f9e75
parent11f2661eb32f1f5566882ddb2be728f5f70b7197 (diff)
Port completion and quick info xplat samples.
-rw-r--r--samples/AsyncCompletion/HelloWorldCompletion.Mac/HelloWorldCompletion.Mac.csproj11
-rw-r--r--samples/AsyncCompletion/HelloWorldCompletion.Mac/Properties/AddinInfo.cs39
-rw-r--r--samples/AsyncCompletion/HelloWorldCompletion.Mac/Properties/Manifest.addin.xml13
-rw-r--r--samples/AsyncCompletion/HelloWorldCompletion.VSIX/HelloWorldCompletion.VSIX.csproj95
-rw-r--r--samples/AsyncCompletion/HelloWorldCompletion.VSIX/Properties/AssemblyInfo.cs33
-rw-r--r--samples/AsyncCompletion/HelloWorldCompletion.VSIX/source.extension.vsixmanifest20
-rw-r--r--samples/AsyncCompletion/HelloWorldCompletion.sln37
-rw-r--r--samples/AsyncCompletion/HelloWorldCompletion/HelloWorldCompletion.csproj481
-rw-r--r--samples/AsyncCompletion/HelloWorldCompletion/HelloWorldCompletionItemSource.cs65
-rw-r--r--samples/AsyncCompletion/HelloWorldCompletion/HelloWorldCompletionSourceProvider.cs21
-rw-r--r--samples/AsyncCompletion/HelloWorldCompletion/ProjectProperties.cs48
-rw-r--r--samples/AsyncCompletion/HelloWorldCompletion/Properties/AssemblyInfo.cs36
-rw-r--r--samples/AsyncCompletion/HelloWorldCompletion/app.config47
-rw-r--r--samples/AsyncCompletion/HelloWorldCompletion/packages.config122
-rw-r--r--samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSMac/AsyncQuickInfoDemo.VSMac.csproj14
-rw-r--r--samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSMac/Properties/AddinInfo.cs13
-rw-r--r--samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSMac/Properties/Manifest.addin.xml12
-rw-r--r--samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/AsyncQuickInfoDemo.VSWindows.csproj195
-rw-r--r--samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/AsyncQuickInfoDemoPackage.cs37
-rw-r--r--samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/Properties/AssemblyInfo.cs32
-rw-r--r--samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/Resources/AsyncQuickInfoDemoPackage.icobin0 -> 428446 bytes
-rw-r--r--samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/VSPackage.resx130
-rw-r--r--samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/packages.config4
-rw-r--r--samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/source.extension.vsixmanifest21
-rw-r--r--samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.sln48
-rw-r--r--samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo/AsyncQuickInfoDemo.csproj17
-rw-r--r--samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo/EvenLineAsyncQuickInfoSource.cs83
-rw-r--r--samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo/EvenLineAsyncQuickInfoSourceProvider.cs19
-rw-r--r--samples/AsyncQuickInfoDemo/nuget.config8
-rw-r--r--samples/Images/Completion.Mac.pngbin0 -> 43593 bytes
-rw-r--r--samples/Images/Completion.Windows.pngbin0 -> 14098 bytes
-rw-r--r--samples/Images/QuickInfo.Mac.pngbin0 -> 26256 bytes
-rw-r--r--samples/Images/QuickInfo.Windows.pngbin0 -> 9803 bytes
-rw-r--r--samples/README.md69
34 files changed, 1770 insertions, 0 deletions
diff --git a/samples/AsyncCompletion/HelloWorldCompletion.Mac/HelloWorldCompletion.Mac.csproj b/samples/AsyncCompletion/HelloWorldCompletion.Mac/HelloWorldCompletion.Mac.csproj
new file mode 100644
index 0000000..c6a5277
--- /dev/null
+++ b/samples/AsyncCompletion/HelloWorldCompletion.Mac/HelloWorldCompletion.Mac.csproj
@@ -0,0 +1,11 @@
+<Project Sdk="Microsoft.NET.Sdk">
+ <PropertyGroup>
+ <TargetFramework>net472</TargetFramework>
+ </PropertyGroup>
+ <ItemGroup>
+ <PackageReference Include="MonoDevelop.Addins" Version="0.4.6" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\HelloWorldCompletion\HelloWorldCompletion.csproj" />
+ </ItemGroup>
+</Project>
diff --git a/samples/AsyncCompletion/HelloWorldCompletion.Mac/Properties/AddinInfo.cs b/samples/AsyncCompletion/HelloWorldCompletion.Mac/Properties/AddinInfo.cs
new file mode 100644
index 0000000..2f5b7cc
--- /dev/null
+++ b/samples/AsyncCompletion/HelloWorldCompletion.Mac/Properties/AddinInfo.cs
@@ -0,0 +1,39 @@
+//
+// AddinInfo.cs
+//
+// Author:
+// Mikayla Hutchinson <m.j.hutchinson@gmail.com>
+//
+// Copyright (c) 2017 Microsoft Corp.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+using Mono.Addins;
+using Mono.Addins.Description;
+
+[assembly: Addin(
+ "MacAddIn",
+ Namespace = "MacAddIn",
+ Version = "1.0"
+)]
+
+[assembly: AddinName("Hello World completion")]
+[assembly: AddinCategory("IDE extensions")]
+[assembly: AddinDescription("Hello World completion item source for CSharp language")]
+[assembly: AddinAuthor("Microsoft")]
diff --git a/samples/AsyncCompletion/HelloWorldCompletion.Mac/Properties/Manifest.addin.xml b/samples/AsyncCompletion/HelloWorldCompletion.Mac/Properties/Manifest.addin.xml
new file mode 100644
index 0000000..2acbce6
--- /dev/null
+++ b/samples/AsyncCompletion/HelloWorldCompletion.Mac/Properties/Manifest.addin.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ExtensionModel>
+ <!-- Register with Visual Studio for Mac -->
+ <Runtime>
+ <Import assembly="HelloWorldCompletion.dll" />
+ <Import assembly="HelloWorldCompletion.Mac.dll" />
+ </Runtime>
+ <!-- Register with Managed Extensibility Framework (MEF) -->
+ <Extension path="/MonoDevelop/Ide/Composition">
+ <Assembly file="HelloWorldCompletion.dll" />
+ <Assembly file="HelloWorldCompletion.Mac.dll" />
+ </Extension>
+</ExtensionModel> \ No newline at end of file
diff --git a/samples/AsyncCompletion/HelloWorldCompletion.VSIX/HelloWorldCompletion.VSIX.csproj b/samples/AsyncCompletion/HelloWorldCompletion.VSIX/HelloWorldCompletion.VSIX.csproj
new file mode 100644
index 0000000..cd341ed
--- /dev/null
+++ b/samples/AsyncCompletion/HelloWorldCompletion.VSIX/HelloWorldCompletion.VSIX.csproj
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <MinimumVisualStudioVersion>16.0</MinimumVisualStudioVersion>
+ <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
+ </PropertyGroup>
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectTypeGuids>{82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ProjectGuid>{8B38C523-2044-46E9-9752-1DC19AE85F76}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>HelloWorldCompletion.VSIX</RootNamespace>
+ <AssemblyName>HelloWorldCompletion.VSIX</AssemblyName>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+ <GeneratePkgDefFile>false</GeneratePkgDefFile>
+ <UseCodebase>true</UseCodebase>
+ <IncludeAssemblyInVSIXContainer>true</IncludeAssemblyInVSIXContainer>
+ <IncludeDebugSymbolsInVSIXContainer>false</IncludeDebugSymbolsInVSIXContainer>
+ <IncludeDebugSymbolsInLocalVSIXDeployment>false</IncludeDebugSymbolsInLocalVSIXDeployment>
+ <CopyBuildOutputToOutputDirectory>true</CopyBuildOutputToOutputDirectory>
+ <CopyOutputSymbolsToOutputDirectory>true</CopyOutputSymbolsToOutputDirectory>
+ <StartAction>Program</StartAction>
+ <StartProgram Condition="'$(DevEnvDir)' != ''">$(DevEnvDir)devenv.exe</StartProgram>
+ <StartArguments>/rootsuffix Exp</StartArguments>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="source.extension.vsixmanifest">
+ <SubType>Designer</SubType>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="Microsoft.VisualStudio.Language, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Text.Data, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference Include="PresentationCore" />
+ <Reference Include="PresentationFramework" />
+ <Reference Include="System" />
+ <Reference Include="System.ComponentModel.Composition" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Design" />
+ <Reference Include="System.Drawing" />
+ <Reference Include="System.Windows.Forms" />
+ <Reference Include="System.Xaml" />
+ <Reference Include="System.Xml" />
+ <Reference Include="WindowsBase" />
+ </ItemGroup>
+ <ItemGroup>
+ <PackageReference Include="Microsoft.VisualStudio.SDK" Version="16.0.200" ExcludeAssets="runtime" />
+ <PackageReference Include="Microsoft.VSSDK.BuildTools" Version="16.1.2094" />
+ <PackageReference Include="System.Collections.Immutable">
+ <Version>1.5.0</Version>
+ </PackageReference>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\HelloWorldCompletion\HelloWorldCompletion.csproj">
+ <Project>{BDDFFF32-F6A9-4A9C-B1E1-8C669B20103D}</Project>
+ <Name>HelloWorldCompletion</Name>
+ <IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
+ <IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <Import Project="$(VSToolsPath)\VSSDK\Microsoft.VsSDK.targets" Condition="'$(VSToolsPath)' != ''" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project> \ No newline at end of file
diff --git a/samples/AsyncCompletion/HelloWorldCompletion.VSIX/Properties/AssemblyInfo.cs b/samples/AsyncCompletion/HelloWorldCompletion.VSIX/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..c42e1cf
--- /dev/null
+++ b/samples/AsyncCompletion/HelloWorldCompletion.VSIX/Properties/AssemblyInfo.cs
@@ -0,0 +1,33 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("SlowCompletion")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("SlowCompletion")]
+[assembly: AssemblyCopyright("")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/samples/AsyncCompletion/HelloWorldCompletion.VSIX/source.extension.vsixmanifest b/samples/AsyncCompletion/HelloWorldCompletion.VSIX/source.extension.vsixmanifest
new file mode 100644
index 0000000..b7a3894
--- /dev/null
+++ b/samples/AsyncCompletion/HelloWorldCompletion.VSIX/source.extension.vsixmanifest
@@ -0,0 +1,20 @@
+<?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="HelloWorldCompletion.565f55d3-b05f-4b27-b6c0-d3d8610bcd9a" Version="1.0" Language="en-US" Publisher="Microsoft" />
+ <DisplayName>Hello World Completion Source</DisplayName>
+ <Description xml:space="preserve">Experimental completion source for diagnostics</Description>
+ </Metadata>
+ <Installation>
+ <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[16.0, 17.0)" />
+ </Installation>
+ <Dependencies>
+ <Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" d:Source="Manual" Version="[4.5,)" />
+ </Dependencies>
+ <Prerequisites>
+ <Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[16.0,17.0)" DisplayName="Visual Studio core editor" />
+ </Prerequisites>
+ <Assets>
+ <Asset Type="Microsoft.VisualStudio.MefComponent" d:Source="Project" d:ProjectName="HelloWorldCompletion" Path="|HelloWorldCompletion|" />
+ </Assets>
+</PackageManifest>
diff --git a/samples/AsyncCompletion/HelloWorldCompletion.sln b/samples/AsyncCompletion/HelloWorldCompletion.sln
new file mode 100644
index 0000000..6fe7aa7
--- /dev/null
+++ b/samples/AsyncCompletion/HelloWorldCompletion.sln
@@ -0,0 +1,37 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.28824.42
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelloWorldCompletion.VSIX", "HelloWorldCompletion.VSIX\HelloWorldCompletion.VSIX.csproj", "{8B38C523-2044-46E9-9752-1DC19AE85F76}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelloWorldCompletion", "HelloWorldCompletion\HelloWorldCompletion.csproj", "{BDDFFF32-F6A9-4A9C-B1E1-8C669B20103D}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HelloWorldCompletion.Mac", "HelloWorldCompletion.Mac\HelloWorldCompletion.Mac.csproj", "{51B6CBF8-58E6-4524-98BE-8CA79EF35E3E}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {8B38C523-2044-46E9-9752-1DC19AE85F76}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8B38C523-2044-46E9-9752-1DC19AE85F76}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8B38C523-2044-46E9-9752-1DC19AE85F76}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8B38C523-2044-46E9-9752-1DC19AE85F76}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BDDFFF32-F6A9-4A9C-B1E1-8C669B20103D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BDDFFF32-F6A9-4A9C-B1E1-8C669B20103D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BDDFFF32-F6A9-4A9C-B1E1-8C669B20103D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BDDFFF32-F6A9-4A9C-B1E1-8C669B20103D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {51B6CBF8-58E6-4524-98BE-8CA79EF35E3E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {51B6CBF8-58E6-4524-98BE-8CA79EF35E3E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {51B6CBF8-58E6-4524-98BE-8CA79EF35E3E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {51B6CBF8-58E6-4524-98BE-8CA79EF35E3E}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {4FB27A93-7DDD-4974-A352-34DCCD3C9EA5}
+ EndGlobalSection
+EndGlobal
diff --git a/samples/AsyncCompletion/HelloWorldCompletion/HelloWorldCompletion.csproj b/samples/AsyncCompletion/HelloWorldCompletion/HelloWorldCompletion.csproj
new file mode 100644
index 0000000..3b88c4d
--- /dev/null
+++ b/samples/AsyncCompletion/HelloWorldCompletion/HelloWorldCompletion.csproj
@@ -0,0 +1,481 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{BDDFFF32-F6A9-4A9C-B1E1-8C669B20103D}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>HelloWorldCompletion</RootNamespace>
+ <AssemblyName>HelloWorldCompletion</AssemblyName>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <Deterministic>true</Deterministic>
+ <NuGetPackageImportStamp>
+ </NuGetPackageImportStamp>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\EnvDTE.8.0.2\lib\net10\EnvDTE.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="EnvDTE100, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\EnvDTE100.10.0.3\lib\net20\EnvDTE100.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="EnvDTE80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\EnvDTE80.8.0.3\lib\net10\EnvDTE80.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="EnvDTE90, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\EnvDTE90.9.0.3\lib\net10\EnvDTE90.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="EnvDTE90a, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\EnvDTE90a.9.0.3\lib\net10\EnvDTE90a.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.Build, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.Build.15.8.166\lib\net46\Microsoft.Build.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.Build.Framework.15.8.166\lib\net46\Microsoft.Build.Framework.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.Build.Tasks.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.Build.Tasks.Core.15.8.166\lib\net46\Microsoft.Build.Tasks.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.Build.Utilities.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.Build.Utilities.Core.15.8.166\lib\net46\Microsoft.Build.Utilities.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.CommandBars, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\Microsoft.VisualStudio.CommandBars.8.0.0.1\lib\net10\Microsoft.VisualStudio.CommandBars.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.ComponentModelHost, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.ComponentModelHost.16.0.467\lib\net46\Microsoft.VisualStudio.ComponentModelHost.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Composition, Version=15.8.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Composition.15.8.98\lib\net46\Microsoft.VisualStudio.Composition.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Composition.NetFxAttributes, Version=15.8.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Composition.NetFxAttributes.15.8.98\lib\net45\Microsoft.VisualStudio.Composition.NetFxAttributes.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.CoreUtility, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.CoreUtility.16.0.467\lib\net472\Microsoft.VisualStudio.CoreUtility.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Debugger.Interop, Version=8.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\Microsoft.VisualStudio.Debugger.Interop.8.0.50729\lib\net11\Microsoft.VisualStudio.Debugger.Interop.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Debugger.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Debugger.Interop.10.0.10.0.30320\lib\net20\Microsoft.VisualStudio.Debugger.Interop.10.0.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Debugger.Interop.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Debugger.Interop.11.0.11.0.50728\lib\net20\Microsoft.VisualStudio.Debugger.Interop.11.0.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Debugger.Interop.12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Debugger.Interop.12.0.12.0.21006\lib\net20\Microsoft.VisualStudio.Debugger.Interop.12.0.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Debugger.Interop.14.0, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Debugger.Interop.14.0.14.3.25408\lib\net20\Microsoft.VisualStudio.Debugger.Interop.14.0.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Debugger.Interop.15.0, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Debugger.Interop.15.0.15.9.28307\lib\net20\Microsoft.VisualStudio.Debugger.Interop.15.0.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Debugger.Interop.16.0, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Debugger.Interop.16.0.16.0.28727\lib\net20\Microsoft.VisualStudio.Debugger.Interop.16.0.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Debugger.InteropA, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\Microsoft.VisualStudio.Debugger.InteropA.9.0.21023\lib\net10\Microsoft.VisualStudio.Debugger.InteropA.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Designer.Interfaces, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\Microsoft.VisualStudio.Designer.Interfaces.1.1.4323\lib\net11\Microsoft.VisualStudio.Designer.Interfaces.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.DpiAwareness, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.DpiAwareness.6.0.28727\lib\net46\Microsoft.VisualStudio.DpiAwareness.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Editor, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Editor.16.0.467\lib\net472\Microsoft.VisualStudio.Editor.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.ImageCatalog, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.ImageCatalog.16.0.28727\lib\net45\Microsoft.VisualStudio.ImageCatalog.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Imaging, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Imaging.16.0.28729\lib\net45\Microsoft.VisualStudio.Imaging.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Imaging.Interop.14.0.DesignTime, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Imaging.Interop.14.0.DesignTime.14.3.26930\lib\net20\Microsoft.VisualStudio.Imaging.Interop.14.0.DesignTime.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Language, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Language.16.0.467\lib\net472\Microsoft.VisualStudio.Language.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Language.Intellisense, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Language.Intellisense.16.0.467\lib\net472\Microsoft.VisualStudio.Language.Intellisense.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Language.NavigateTo.Interfaces, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Language.NavigateTo.Interfaces.16.0.467\lib\net472\Microsoft.VisualStudio.Language.NavigateTo.Interfaces.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Language.StandardClassification, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Language.StandardClassification.16.0.467\lib\net472\Microsoft.VisualStudio.Language.StandardClassification.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.LanguageServer.Client, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.LanguageServer.Client.16.0.2264\lib\net46\Microsoft.VisualStudio.LanguageServer.Client.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.LanguageServer.Protocol, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.LanguageServer.Protocol.16.0.2264\lib\netstandard1.0\Microsoft.VisualStudio.LanguageServer.Protocol.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.OLE.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\Microsoft.VisualStudio.OLE.Interop.7.10.6071\lib\Microsoft.VisualStudio.OLE.Interop.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Package.LanguageService.15.0, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Package.LanguageService.15.0.16.0.28729\lib\net45\Microsoft.VisualStudio.Package.LanguageService.15.0.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.ProjectAggregator, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.ProjectAggregator.8.0.50728\lib\net20\Microsoft.VisualStudio.ProjectAggregator.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.ProjectSystem, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.ProjectSystem.15.8.243\lib\net46\Microsoft.VisualStudio.ProjectSystem.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.ProjectSystem.Interop, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.ProjectSystem.15.8.243\lib\net46\Microsoft.VisualStudio.ProjectSystem.Interop.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.ProjectSystem.VS, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.ProjectSystem.15.8.243\lib\net46\Microsoft.VisualStudio.ProjectSystem.VS.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Setup.Configuration.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Setup.Configuration.Interop.1.16.30\lib\net35\Microsoft.VisualStudio.Setup.Configuration.Interop.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.15.0, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.15.0.16.0.28729\lib\net45\Microsoft.VisualStudio.Shell.15.0.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Design, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Design.16.0.28729\lib\net45\Microsoft.VisualStudio.Shell.Design.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Embeddable, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Embeddable.16.0.28727\lib\net45\Microsoft.VisualStudio.Shell.Embeddable.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Framework, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Framework.16.0.28729\lib\net45\Microsoft.VisualStudio.Shell.Framework.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Interop.7.10.6072\lib\net11\Microsoft.VisualStudio.Shell.Interop.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Interop.10.0.10.0.30320\lib\net20\Microsoft.VisualStudio.Shell.Interop.10.0.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Interop.11.0.11.0.61031\lib\net20\Microsoft.VisualStudio.Shell.Interop.11.0.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Interop.12.0.12.0.30111\lib\net20\Microsoft.VisualStudio.Shell.Interop.12.0.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.14.0.DesignTime, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Interop.14.0.DesignTime.14.3.26929\lib\net20\Microsoft.VisualStudio.Shell.Interop.14.0.DesignTime.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.15.0.DesignTime, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Interop.15.0.DesignTime.15.0.26932\lib\net20\Microsoft.VisualStudio.Shell.Interop.15.0.DesignTime.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.15.1.DesignTime, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Interop.15.1.DesignTime.15.0.26929\lib\net20\Microsoft.VisualStudio.Shell.Interop.15.1.DesignTime.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.15.3.DesignTime, Version=15.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Interop.15.3.DesignTime.15.0.26929\lib\net20\Microsoft.VisualStudio.Shell.Interop.15.3.DesignTime.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.15.5.DesignTime, Version=15.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Interop.15.5.DesignTime.15.6.27413\lib\net20\Microsoft.VisualStudio.Shell.Interop.15.5.DesignTime.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.15.6.DesignTime, Version=15.6.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Interop.15.6.DesignTime.15.6.27413\lib\net20\Microsoft.VisualStudio.Shell.Interop.15.6.DesignTime.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.15.7.DesignTime, Version=15.7.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Interop.15.7.DesignTime.15.7.1\lib\net20\Microsoft.VisualStudio.Shell.Interop.15.7.DesignTime.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.15.8.DesignTime, Version=15.8.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Interop.15.8.DesignTime.15.8.1\lib\net20\Microsoft.VisualStudio.Shell.Interop.15.8.DesignTime.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Interop.8.0.8.0.50728\lib\net11\Microsoft.VisualStudio.Shell.Interop.8.0.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Interop.9.0.9.0.30730\lib\net11\Microsoft.VisualStudio.Shell.Interop.9.0.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.TaskRunnerExplorer.14.0, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.TaskRunnerExplorer.14.0.14.0.0\lib\net40\Microsoft.VisualStudio.TaskRunnerExplorer.14.0.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Text.Data, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Text.Data.16.0.467\lib\net472\Microsoft.VisualStudio.Text.Data.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Text.Logic, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Text.Logic.16.0.467\lib\net472\Microsoft.VisualStudio.Text.Logic.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Text.UI, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Text.UI.16.0.467\lib\net472\Microsoft.VisualStudio.Text.UI.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Text.UI.Wpf, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Text.UI.Wpf.16.0.467\lib\net472\Microsoft.VisualStudio.Text.UI.Wpf.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.TextManager.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\Microsoft.VisualStudio.TextManager.Interop.7.10.6071\lib\net11\Microsoft.VisualStudio.TextManager.Interop.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.TextManager.Interop.12.1.DesignTime, Version=12.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.TextManager.Interop.12.1.DesignTime.12.1.30330\lib\net20\Microsoft.VisualStudio.TextManager.Interop.12.1.DesignTime.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.TextManager.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\Microsoft.VisualStudio.TextManager.Interop.8.0.8.0.50728\lib\net11\Microsoft.VisualStudio.TextManager.Interop.8.0.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.TextTemplating.15.0, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.TextTemplating.15.0.16.0.28727\lib\net45\Microsoft.VisualStudio.TextTemplating.15.0.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.TextTemplating.Interfaces.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.10.0.30320\lib\net40\Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.TextTemplating.Interfaces.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.TextTemplating.Interfaces.11.0.11.0.50728\lib\net45\Microsoft.VisualStudio.TextTemplating.Interfaces.11.0.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.TextTemplating.Interfaces.15.0, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.TextTemplating.Interfaces.15.0.16.0.28727\lib\net45\Microsoft.VisualStudio.TextTemplating.Interfaces.15.0.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.TextTemplating.VSHost.15.0, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.TextTemplating.VSHost.15.0.16.0.28729\lib\net45\Microsoft.VisualStudio.TextTemplating.VSHost.15.0.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Threading, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Threading.16.0.102\lib\net46\Microsoft.VisualStudio.Threading.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Utilities, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Utilities.16.0.28729\lib\net46\Microsoft.VisualStudio.Utilities.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Validation, Version=15.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Validation.15.3.58\lib\net45\Microsoft.VisualStudio.Validation.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Web.BrowserLink.12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Web.BrowserLink.12.0.12.0.0\lib\net40\Microsoft.VisualStudio.Web.BrowserLink.12.0.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Workspace.VSIntegration.Contracts, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Workspace.VSIntegration.15.0.485\lib\net46\Microsoft.VisualStudio.Workspace.VSIntegration.Contracts.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.Win32.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.Win32.Primitives.4.3.0\lib\net46\Microsoft.Win32.Primitives.dll</HintPath>
+ <Private>True</Private>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
+ <HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
+ </Reference>
+ <Reference Include="PresentationCore" />
+ <Reference Include="PresentationFramework" />
+ <Reference Include="stdole, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\stdole.7.0.3302\lib\net10\stdole.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="StreamJsonRpc, Version=1.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\StreamJsonRpc.1.5.43\lib\net46\StreamJsonRpc.dll</HintPath>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.Buffers.4.5.0\lib\netstandard2.0\System.Buffers.dll</HintPath>
+ </Reference>
+ <Reference Include="System.Collections.Immutable, Version=1.2.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.Collections.Immutable.1.5.0\lib\netstandard2.0\System.Collections.Immutable.dll</HintPath>
+ </Reference>
+ <Reference Include="System.ComponentModel.Composition" />
+ <Reference Include="System.Composition.AttributedModel, Version=1.0.31.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.Composition.AttributedModel.1.0.31\lib\portable-net45+win8+wp8+wpa81\System.Composition.AttributedModel.dll</HintPath>
+ </Reference>
+ <Reference Include="System.Composition.Convention, Version=1.0.31.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.Composition.Convention.1.0.31\lib\portable-net45+win8+wp8+wpa81\System.Composition.Convention.dll</HintPath>
+ </Reference>
+ <Reference Include="System.Composition.Hosting, Version=1.0.31.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.Composition.Hosting.1.0.31\lib\portable-net45+win8+wp8+wpa81\System.Composition.Hosting.dll</HintPath>
+ </Reference>
+ <Reference Include="System.Composition.Runtime, Version=1.0.31.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.Composition.Runtime.1.0.31\lib\portable-net45+win8+wp8+wpa81\System.Composition.Runtime.dll</HintPath>
+ </Reference>
+ <Reference Include="System.Composition.TypedParts, Version=1.0.31.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.Composition.TypedParts.1.0.31\lib\portable-net45+win8+wp8+wpa81\System.Composition.TypedParts.dll</HintPath>
+ </Reference>
+ <Reference Include="System.Configuration" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Design" />
+ <Reference Include="System.Drawing" />
+ <Reference Include="System.IO, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.IO.4.3.0\lib\net462\System.IO.dll</HintPath>
+ <Private>True</Private>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
+ <Private>True</Private>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="System.IO.Compression.FileSystem" />
+ <Reference Include="System.Net.Http, Version=4.1.1.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.Net.Http.4.3.3\lib\net46\System.Net.Http.dll</HintPath>
+ <Private>True</Private>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="System.Numerics" />
+ <Reference Include="System.Reflection" />
+ <Reference Include="System.Reflection.Metadata, Version=1.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.Reflection.Metadata.1.3.0\lib\portable-net45+win8\System.Reflection.Metadata.dll</HintPath>
+ </Reference>
+ <Reference Include="System.Runtime, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll</HintPath>
+ <Private>True</Private>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
+ <Private>True</Private>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="System.Runtime.Serialization" />
+ <Reference Include="System.Security" />
+ <Reference Include="System.Security.Cryptography.Algorithms, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath>
+ <Private>True</Private>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
+ <Private>True</Private>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
+ <Private>True</Private>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
+ <Private>True</Private>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="System.Threading.Tasks.Dataflow, Version=4.5.24.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.Threading.Tasks.Dataflow.4.5.24\lib\portable-net45+win8+wpa81\System.Threading.Tasks.Dataflow.dll</HintPath>
+ </Reference>
+ <Reference Include="System.Threading.Tasks.Extensions, Version=4.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.Threading.Tasks.Extensions.4.3.0\lib\portable-net45+win8+wp8+wpa81\System.Threading.Tasks.Extensions.dll</HintPath>
+ </Reference>
+ <Reference Include="System.ValueTuple, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.ValueTuple.4.3.0\lib\netstandard1.0\System.ValueTuple.dll</HintPath>
+ <Private>True</Private>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="System.Windows.Forms" />
+ <Reference Include="System.Xaml" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Xml" />
+ <Reference Include="UIAutomationProvider" />
+ <Reference Include="VSLangProj, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\VSLangProj.7.0.3301\lib\net10\VSLangProj.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="VSLangProj100, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\VSLangProj100.10.0.30320\lib\net20\VSLangProj100.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="VSLangProj110, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\VSLangProj110.11.0.61031\lib\net20\VSLangProj110.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="VSLangProj140, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\VSLangProj140.14.0.25030\lib\net20\VSLangProj140.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="VSLangProj150, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\VSLangProj150.15.0.26229\lib\net20\VSLangProj150.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="VSLangProj157, Version=15.7.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\VSLangProj157.15.7.0\lib\net20\VSLangProj157.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="VSLangProj158, Version=15.8.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\VSLangProj158.15.8.0\lib\net20\VSLangProj158.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="VSLangProj2, Version=7.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\VSLangProj2.7.0.5001\lib\net11\VSLangProj2.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="VSLangProj80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\VSLangProj80.8.0.50728\lib\net11\VSLangProj80.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="VSLangProj90, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\VSLangProj90.9.0.30730\lib\net10\VSLangProj90.dll</HintPath>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="WindowsBase" />
+ <Reference Include="WindowsFormsIntegration" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="HelloWorldCompletionSourceProvider.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="HelloWorldCompletionItemSource.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ <None Include="packages.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Analyzer Include="..\packages\Microsoft.VisualStudio.SDK.Analyzers.15.8.36\analyzers\cs\Microsoft.VisualStudio.SDK.Analyzers.dll" />
+ <Analyzer Include="..\packages\Microsoft.VisualStudio.Threading.Analyzers.15.8.168\analyzers\cs\Microsoft.VisualStudio.Threading.Analyzers.dll" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <Import Project="..\packages\Microsoft.VisualStudio.ProjectSystem.Sdk.Tools.15.8.243\build\Microsoft.VisualStudio.ProjectSystem.Sdk.Tools.targets" Condition="Exists('..\packages\Microsoft.VisualStudio.ProjectSystem.Sdk.Tools.15.8.243\build\Microsoft.VisualStudio.ProjectSystem.Sdk.Tools.targets')" />
+ <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+ <PropertyGroup>
+ <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
+ </PropertyGroup>
+ <Error Condition="!Exists('..\packages\Microsoft.VisualStudio.ProjectSystem.Sdk.Tools.15.8.243\build\Microsoft.VisualStudio.ProjectSystem.Sdk.Tools.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.VisualStudio.ProjectSystem.Sdk.Tools.15.8.243\build\Microsoft.VisualStudio.ProjectSystem.Sdk.Tools.targets'))" />
+ <Error Condition="!Exists('..\packages\Microsoft.VisualStudio.SDK.EmbedInteropTypes.15.0.27\build\Microsoft.VisualStudio.SDK.EmbedInteropTypes.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.VisualStudio.SDK.EmbedInteropTypes.15.0.27\build\Microsoft.VisualStudio.SDK.EmbedInteropTypes.targets'))" />
+ <Error Condition="!Exists('..\packages\Microsoft.VisualStudio.Threading.Analyzers.15.8.168\build\Microsoft.VisualStudio.Threading.Analyzers.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.VisualStudio.Threading.Analyzers.15.8.168\build\Microsoft.VisualStudio.Threading.Analyzers.targets'))" />
+ <Error Condition="!Exists('..\packages\Microsoft.VisualStudio.SDK.Analyzers.15.8.36\build\Microsoft.VisualStudio.SDK.Analyzers.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.VisualStudio.SDK.Analyzers.15.8.36\build\Microsoft.VisualStudio.SDK.Analyzers.targets'))" />
+ <Error Condition="!Exists('..\packages\Microsoft.VisualStudio.ProjectSystem.15.8.243\build\Microsoft.VisualStudio.ProjectSystem.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.VisualStudio.ProjectSystem.15.8.243\build\Microsoft.VisualStudio.ProjectSystem.targets'))" />
+ </Target>
+ <Import Project="..\packages\Microsoft.VisualStudio.SDK.EmbedInteropTypes.15.0.27\build\Microsoft.VisualStudio.SDK.EmbedInteropTypes.targets" Condition="Exists('..\packages\Microsoft.VisualStudio.SDK.EmbedInteropTypes.15.0.27\build\Microsoft.VisualStudio.SDK.EmbedInteropTypes.targets')" />
+ <Import Project="..\packages\Microsoft.VisualStudio.Threading.Analyzers.15.8.168\build\Microsoft.VisualStudio.Threading.Analyzers.targets" Condition="Exists('..\packages\Microsoft.VisualStudio.Threading.Analyzers.15.8.168\build\Microsoft.VisualStudio.Threading.Analyzers.targets')" />
+ <Import Project="..\packages\Microsoft.VisualStudio.SDK.Analyzers.15.8.36\build\Microsoft.VisualStudio.SDK.Analyzers.targets" Condition="Exists('..\packages\Microsoft.VisualStudio.SDK.Analyzers.15.8.36\build\Microsoft.VisualStudio.SDK.Analyzers.targets')" />
+ <Import Project="..\packages\Microsoft.VisualStudio.ProjectSystem.15.8.243\build\Microsoft.VisualStudio.ProjectSystem.targets" Condition="Exists('..\packages\Microsoft.VisualStudio.ProjectSystem.15.8.243\build\Microsoft.VisualStudio.ProjectSystem.targets')" />
+</Project> \ No newline at end of file
diff --git a/samples/AsyncCompletion/HelloWorldCompletion/HelloWorldCompletionItemSource.cs b/samples/AsyncCompletion/HelloWorldCompletion/HelloWorldCompletionItemSource.cs
new file mode 100644
index 0000000..92ef339
--- /dev/null
+++ b/samples/AsyncCompletion/HelloWorldCompletion/HelloWorldCompletionItemSource.cs
@@ -0,0 +1,65 @@
+using System;
+using System.Collections.Immutable;
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.VisualStudio.Core.Imaging;
+using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion;
+using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion.Data;
+using Microsoft.VisualStudio.Language.StandardClassification;
+using Microsoft.VisualStudio.Text;
+using Microsoft.VisualStudio.Text.Adornments;
+
+namespace HelloWorldCompletion
+{
+ public class HelloWorldCompletionSource : IAsyncCompletionSource
+ {
+ private static ImageElement CompletionItemIcon = new ImageElement(new ImageId(new Guid("ae27a6b0-e345-4288-96df-5eaf394ee369"), 3335), "Hello Icon");
+ private ImmutableArray<CompletionItem> sampleItems;
+
+ public HelloWorldCompletionSource()
+ {
+ sampleItems = ImmutableArray.Create(
+ new CompletionItem("Hello", this, CompletionItemIcon),
+ new CompletionItem("World", this, CompletionItemIcon));
+ }
+
+ public CompletionStartData InitializeCompletion(CompletionTrigger trigger, SnapshotPoint triggerLocation, CancellationToken token)
+ {
+ // Since we are plugging in to CSharp content type,
+ // allow the CSharp language service to pick the Applicable To Span.
+ return CompletionStartData.ParticipatesInCompletionIfAny;
+ // Alternatively, we've got to provide location for completion
+ // return new CompletionStartData(CompletionParticipation.ProvidesItems, ...
+ }
+
+ public async Task<CompletionContext> GetCompletionContextAsync(IAsyncCompletionSession session, CompletionTrigger trigger, SnapshotPoint triggerLocation, SnapshotSpan applicableToSpan, CancellationToken token)
+ {
+ session.Properties["LineNumber"] = triggerLocation.GetContainingLine().LineNumber;
+ return new CompletionContext(sampleItems);
+ }
+
+ public async Task<object> GetDescriptionAsync(IAsyncCompletionSession session, CompletionItem item, CancellationToken token)
+ {
+ var content = new ContainerElement(
+ ContainerElementStyle.Wrapped,
+ CompletionItemIcon,
+ new ClassifiedTextElement(
+ new ClassifiedTextRun(PredefinedClassificationTypeNames.Keyword, "Hello!"),
+ new ClassifiedTextRun(PredefinedClassificationTypeNames.Identifier, " This is a sample item")));
+ var lineInfo = new ClassifiedTextElement(
+ new ClassifiedTextRun(
+ PredefinedClassificationTypeNames.Comment,
+ "You are on line " + ((int)(session.Properties["LineNumber"]) + 1).ToString()));
+ var timeInfo = new ClassifiedTextElement(
+ new ClassifiedTextRun(
+ PredefinedClassificationTypeNames.Identifier,
+ "and it is " + DateTime.Now.ToShortTimeString()));
+
+ return new ContainerElement(
+ ContainerElementStyle.Stacked,
+ content,
+ lineInfo,
+ timeInfo);
+ }
+ }
+}
diff --git a/samples/AsyncCompletion/HelloWorldCompletion/HelloWorldCompletionSourceProvider.cs b/samples/AsyncCompletion/HelloWorldCompletion/HelloWorldCompletionSourceProvider.cs
new file mode 100644
index 0000000..12e3228
--- /dev/null
+++ b/samples/AsyncCompletion/HelloWorldCompletion/HelloWorldCompletionSourceProvider.cs
@@ -0,0 +1,21 @@
+using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion;
+using Microsoft.VisualStudio.Text.Editor;
+using Microsoft.VisualStudio.Utilities;
+using System;
+using System.ComponentModel.Composition;
+
+namespace HelloWorldCompletion
+{
+ [Export(typeof(IAsyncCompletionSourceProvider))]
+ [ContentType("CSharp")]
+ [Name("Hello World completion item source")]
+ internal class HelloWorldCompletionSourceProvider : IAsyncCompletionSourceProvider
+ {
+ Lazy<HelloWorldCompletionSource> Source = new Lazy<HelloWorldCompletionSource>(() => new HelloWorldCompletionSource());
+
+ public IAsyncCompletionSource GetOrCreate(ITextView textView)
+ {
+ return Source.Value;
+ }
+ }
+}
diff --git a/samples/AsyncCompletion/HelloWorldCompletion/ProjectProperties.cs b/samples/AsyncCompletion/HelloWorldCompletion/ProjectProperties.cs
new file mode 100644
index 0000000..93d54ae
--- /dev/null
+++ b/samples/AsyncCompletion/HelloWorldCompletion/ProjectProperties.cs
@@ -0,0 +1,48 @@
+namespace ExperimentalCompletion
+{
+ using System;
+ using System.Collections.Generic;
+ using System.ComponentModel.Composition;
+ using System.Linq;
+ using System.Text;
+ using System.Threading.Tasks;
+ using Microsoft.VisualStudio.ProjectSystem;
+ using Microsoft.VisualStudio.ProjectSystem.Properties;
+
+ [Export]
+ internal partial class ProjectProperties : StronglyTypedPropertyAccess
+ {
+ /// <summary>
+ /// Initializes a new instance of the <see cref="ProjectProperties"/> class.
+ /// </summary>
+ [ImportingConstructor]
+ public ProjectProperties(ConfiguredProject configuredProject)
+ : base(configuredProject)
+ {
+ }
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="ProjectProperties"/> class.
+ /// </summary>
+ public ProjectProperties(ConfiguredProject configuredProject, string file, string itemType, string itemName)
+ : base(configuredProject, file, itemType, itemName)
+ {
+ }
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="ProjectProperties"/> class.
+ /// </summary>
+ public ProjectProperties(ConfiguredProject configuredProject, IProjectPropertiesContext projectPropertiesContext)
+ : base(configuredProject, projectPropertiesContext)
+ {
+ }
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="ProjectProperties"/> class.
+ /// </summary>
+ public ProjectProperties(ConfiguredProject configuredProject, UnconfiguredProject unconfiguredProject)
+ : base(configuredProject, unconfiguredProject)
+ {
+ }
+ }
+}
diff --git a/samples/AsyncCompletion/HelloWorldCompletion/Properties/AssemblyInfo.cs b/samples/AsyncCompletion/HelloWorldCompletion/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..d61778f
--- /dev/null
+++ b/samples/AsyncCompletion/HelloWorldCompletion/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("ExperimentalCompletion")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("ExperimentalCompletion")]
+[assembly: AssemblyCopyright("Copyright © 2019")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("bddfff32-f6a9-4a9c-b1e1-8c669b20103d")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/samples/AsyncCompletion/HelloWorldCompletion/app.config b/samples/AsyncCompletion/HelloWorldCompletion/app.config
new file mode 100644
index 0000000..c1ace5b
--- /dev/null
+++ b/samples/AsyncCompletion/HelloWorldCompletion/app.config
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.VisualStudio.Threading" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-16.0.0.0" newVersion="16.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.VisualStudio.Validation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-15.3.0.0" newVersion="15.3.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-1.2.3.0" newVersion="1.2.3.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.VisualStudio.Shell.Framework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-16.0.0.0" newVersion="16.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.VisualStudio.Shell.15.0" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-16.0.0.0" newVersion="16.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.VisualStudio.ImageCatalog" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-16.0.0.0" newVersion="16.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="StreamJsonRpc" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-1.5.0.0" newVersion="1.5.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.VisualStudio.CoreUtility" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-16.0.0.0" newVersion="16.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.VisualStudio.Text.Data" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-16.0.0.0" newVersion="16.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.VisualStudio.Text.Logic" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-16.0.0.0" newVersion="16.0.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration> \ No newline at end of file
diff --git a/samples/AsyncCompletion/HelloWorldCompletion/packages.config b/samples/AsyncCompletion/HelloWorldCompletion/packages.config
new file mode 100644
index 0000000..ee578ff
--- /dev/null
+++ b/samples/AsyncCompletion/HelloWorldCompletion/packages.config
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="EnvDTE" version="8.0.2" targetFramework="net472" />
+ <package id="EnvDTE100" version="10.0.3" targetFramework="net472" />
+ <package id="EnvDTE80" version="8.0.3" targetFramework="net472" />
+ <package id="EnvDTE90" version="9.0.3" targetFramework="net472" />
+ <package id="EnvDTE90a" version="9.0.3" targetFramework="net472" />
+ <package id="Microsoft.Build" version="15.8.166" targetFramework="net472" />
+ <package id="Microsoft.Build.Framework" version="15.8.166" targetFramework="net472" />
+ <package id="Microsoft.Build.Tasks.Core" version="15.8.166" targetFramework="net472" />
+ <package id="Microsoft.Build.Utilities.Core" version="15.8.166" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.CommandBars" version="8.0.0.1" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.ComponentModelHost" version="16.0.467" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Composition" version="15.8.98" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Composition.NetFxAttributes" version="15.8.98" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.CoreUtility" version="16.0.467" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Debugger.Engine" version="16.0.2032702" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Debugger.Interop" version="8.0.50729" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Debugger.Interop.10.0" version="10.0.30320" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Debugger.Interop.11.0" version="11.0.50728" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Debugger.Interop.12.0" version="12.0.21006" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Debugger.Interop.14.0" version="14.3.25408" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Debugger.Interop.15.0" version="15.9.28307" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Debugger.Interop.16.0" version="16.0.28727" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Debugger.InteropA" version="9.0.21023" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Designer.Interfaces" version="1.1.4323" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.DpiAwareness" version="6.0.28727" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Editor" version="16.0.467" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.ImageCatalog" version="16.0.28727" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Imaging" version="16.0.28729" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Imaging.Interop.14.0.DesignTime" version="14.3.26930" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Language" version="16.0.467" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Language.Intellisense" version="16.0.467" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Language.NavigateTo.Interfaces" version="16.0.467" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Language.StandardClassification" version="16.0.467" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.LanguageServer.Client" version="16.0.2264" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.LanguageServer.Protocol" version="16.0.2264" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.OLE.Interop" version="7.10.6071" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Package.LanguageService.15.0" version="16.0.28729" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.ProjectAggregator" version="8.0.50728" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.ProjectSystem" version="15.8.243" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.ProjectSystem.Sdk" version="15.8.243" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.ProjectSystem.Sdk.Tools" version="15.8.243" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.SDK" version="16.0.200" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.SDK.Analyzers" version="15.8.36" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.SDK.EmbedInteropTypes" version="15.0.27" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Setup.Configuration.Interop" version="1.16.30" targetFramework="net472" developmentDependency="true" />
+ <package id="Microsoft.VisualStudio.Shell.15.0" version="16.0.28729" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Shell.Design" version="16.0.28729" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Shell.Embeddable" version="16.0.28727" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Shell.Framework" version="16.0.28729" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Shell.Interop" version="7.10.6072" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Shell.Interop.10.0" version="10.0.30320" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Shell.Interop.11.0" version="11.0.61031" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Shell.Interop.12.0" version="12.0.30111" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Shell.Interop.14.0.DesignTime" version="14.3.26929" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Shell.Interop.15.0.DesignTime" version="15.0.26932" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Shell.Interop.15.1.DesignTime" version="15.0.26929" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Shell.Interop.15.3.DesignTime" version="15.0.26929" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Shell.Interop.15.5.DesignTime" version="15.6.27413" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Shell.Interop.15.6.DesignTime" version="15.6.27413" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Shell.Interop.15.7.DesignTime" version="15.7.1" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Shell.Interop.15.8.DesignTime" version="15.8.1" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Shell.Interop.8.0" version="8.0.50728" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Shell.Interop.9.0" version="9.0.30730" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.TaskRunnerExplorer.14.0" version="14.0.0" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Text.Data" version="16.0.467" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Text.Logic" version="16.0.467" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Text.UI" version="16.0.467" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Text.UI.Wpf" version="16.0.467" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.TextManager.Interop" version="7.10.6071" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.TextManager.Interop.12.1.DesignTime" version="12.1.30330" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.TextManager.Interop.8.0" version="8.0.50728" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.TextTemplating.15.0" version="16.0.28727" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.TextTemplating.Interfaces.10.0" version="10.0.30320" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.TextTemplating.Interfaces.11.0" version="11.0.50728" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.TextTemplating.Interfaces.15.0" version="16.0.28727" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.TextTemplating.VSHost.15.0" version="16.0.28729" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Threading" version="16.0.102" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Threading.Analyzers" version="15.8.168" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Utilities" version="16.0.28729" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Validation" version="15.3.58" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Web.BrowserLink.12.0" version="12.0.0" targetFramework="net472" />
+ <package id="Microsoft.VisualStudio.Workspace.VSIntegration" version="15.0.485" targetFramework="net472" />
+ <package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="net472" />
+ <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net472" />
+ <package id="stdole" version="7.0.3302" targetFramework="net472" />
+ <package id="StreamJsonRpc" version="1.5.43" targetFramework="net472" />
+ <package id="System.Buffers" version="4.5.0" targetFramework="net472" />
+ <package id="System.Collections.Immutable" version="1.5.0" targetFramework="net472" />
+ <package id="System.ComponentModel.Composition" version="4.5.0" targetFramework="net472" />
+ <package id="System.Composition" version="1.0.31" targetFramework="net472" />
+ <package id="System.Composition.AttributedModel" version="1.0.31" targetFramework="net472" />
+ <package id="System.Composition.Convention" version="1.0.31" targetFramework="net472" />
+ <package id="System.Composition.Hosting" version="1.0.31" targetFramework="net472" />
+ <package id="System.Composition.Runtime" version="1.0.31" targetFramework="net472" />
+ <package id="System.Composition.TypedParts" version="1.0.31" targetFramework="net472" />
+ <package id="System.IO" version="4.3.0" targetFramework="net472" />
+ <package id="System.IO.Compression" version="4.3.0" targetFramework="net472" />
+ <package id="System.Net.Http" version="4.3.3" targetFramework="net472" />
+ <package id="System.Reflection.Emit" version="4.3.0" targetFramework="net472" />
+ <package id="System.Reflection.Metadata" version="1.3.0" targetFramework="net472" />
+ <package id="System.Runtime" version="4.3.0" targetFramework="net472" />
+ <package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net472" />
+ <package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net472" />
+ <package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net472" />
+ <package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net472" />
+ <package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net472" />
+ <package id="System.Threading.Tasks.Dataflow" version="4.5.24" targetFramework="net472" />
+ <package id="System.Threading.Tasks.Extensions" version="4.3.0" targetFramework="net472" />
+ <package id="System.ValueTuple" version="4.3.0" targetFramework="net472" />
+ <package id="VSLangProj" version="7.0.3301" targetFramework="net472" />
+ <package id="VSLangProj100" version="10.0.30320" targetFramework="net472" />
+ <package id="VSLangProj110" version="11.0.61031" targetFramework="net472" />
+ <package id="VSLangProj140" version="14.0.25030" targetFramework="net472" />
+ <package id="VSLangProj150" version="15.0.26229" targetFramework="net472" />
+ <package id="VSLangProj157" version="15.7.0" targetFramework="net472" />
+ <package id="VSLangProj158" version="15.8.0" targetFramework="net472" />
+ <package id="VSLangProj2" version="7.0.5001" targetFramework="net472" />
+ <package id="VSLangProj80" version="8.0.50728" targetFramework="net472" />
+ <package id="VSLangProj90" version="9.0.30730" targetFramework="net472" />
+</packages> \ No newline at end of file
diff --git a/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSMac/AsyncQuickInfoDemo.VSMac.csproj b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSMac/AsyncQuickInfoDemo.VSMac.csproj
new file mode 100644
index 0000000..594dfe7
--- /dev/null
+++ b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSMac/AsyncQuickInfoDemo.VSMac.csproj
@@ -0,0 +1,14 @@
+<Project Sdk="Microsoft.NET.Sdk">
+ <PropertyGroup>
+ <TargetFramework>net461</TargetFramework>
+ </PropertyGroup>
+ <ItemGroup>
+ <PackageReference Include="MonoDevelop.Addins" Version="0.4.4" />
+ </ItemGroup>
+ <ItemGroup>
+ <AddinReference Include="MonoDevelop.SourceEditor2" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\AsyncQuickInfoDemo\AsyncQuickInfoDemo.csproj" />
+ </ItemGroup>
+</Project>
diff --git a/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSMac/Properties/AddinInfo.cs b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSMac/Properties/AddinInfo.cs
new file mode 100644
index 0000000..9feb19a
--- /dev/null
+++ b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSMac/Properties/AddinInfo.cs
@@ -0,0 +1,13 @@
+using Mono.Addins;
+using Mono.Addins.Description;
+
+[assembly: Addin(
+ "AsyncQuickInfoDemo_VSMac",
+ Namespace = "AsyncQuickInfoDemo_VSMac",
+ Version = "1.0"
+)]
+
+[assembly: AddinName("AsyncQuickInfoDemo_VSMac")]
+[assembly: AddinCategory("IDE extensions")]
+[assembly: AddinDescription("Demonstrates xPlat Async Quick Info in Visual Studio")]
+[assembly: AddinAuthor("Christian Gunderman")]
diff --git a/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSMac/Properties/Manifest.addin.xml b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSMac/Properties/Manifest.addin.xml
new file mode 100644
index 0000000..1642ac5
--- /dev/null
+++ b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSMac/Properties/Manifest.addin.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ExtensionModel>
+
+ <!-- Register common xplat portion with VS Mac MEF Service -->
+ <Extension path="/MonoDevelop/Ide/TypeService/MefHostServices">
+ <Assembly file ="AsyncQuickInfoDemo.dll" />
+ </Extension>
+ <Extension path="/MonoDevelop/Ide/TypeService/PlatformMefHostServices">
+ <Assembly file ="AsyncQuickInfoDemo.dll" />
+ </Extension>
+
+</ExtensionModel> \ No newline at end of file
diff --git a/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/AsyncQuickInfoDemo.VSWindows.csproj b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/AsyncQuickInfoDemo.VSWindows.csproj
new file mode 100644
index 0000000..49459bd
--- /dev/null
+++ b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/AsyncQuickInfoDemo.VSWindows.csproj
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="..\packages\Microsoft.VSSDK.BuildTools.15.6.152\build\Microsoft.VSSDK.BuildTools.props" Condition="Exists('..\packages\Microsoft.VSSDK.BuildTools.15.6.152\build\Microsoft.VSSDK.BuildTools.props')" />
+ <PropertyGroup>
+ <MinimumVisualStudioVersion>15.0</MinimumVisualStudioVersion>
+ <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
+ <NuGetPackageImportStamp>
+ </NuGetPackageImportStamp>
+ <UseCodebase>true</UseCodebase>
+ </PropertyGroup>
+ <PropertyGroup>
+ <SignAssembly>false</SignAssembly>
+ </PropertyGroup>
+ <PropertyGroup>
+ <AssemblyOriginatorKeyFile>
+ </AssemblyOriginatorKeyFile>
+ </PropertyGroup>
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectTypeGuids>{82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ProjectGuid>{102F4DF7-E5FA-41C8-B7B8-52E04AE97CF2}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>AsyncQuickInfoDemo.VSWindows</RootNamespace>
+ <AssemblyName>AsyncQuickInfoDemo.VSWindows</AssemblyName>
+ <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+ <GeneratePkgDefFile>true</GeneratePkgDefFile>
+ <IncludeAssemblyInVSIXContainer>true</IncludeAssemblyInVSIXContainer>
+ <IncludeDebugSymbolsInVSIXContainer>true</IncludeDebugSymbolsInVSIXContainer>
+ <IncludeDebugSymbolsInLocalVSIXDeployment>true</IncludeDebugSymbolsInLocalVSIXDeployment>
+ <CopyBuildOutputToOutputDirectory>true</CopyBuildOutputToOutputDirectory>
+ <CopyOutputSymbolsToOutputDirectory>false</CopyOutputSymbolsToOutputDirectory>
+ <StartAction>Program</StartAction>
+ <StartProgram Condition="'$(DevEnvDir)' != ''">$(DevEnvDir)devenv.exe</StartProgram>
+ <StartArguments>/rootsuffix Exp</StartArguments>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="AsyncQuickInfoDemoPackage.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <EmbedInteropTypes>False</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="EnvDTE100, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <EmbedInteropTypes>False</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="EnvDTE80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <EmbedInteropTypes>False</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="EnvDTE90, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <EmbedInteropTypes>False</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="Microsoft.VisualStudio.CommandBars, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <EmbedInteropTypes>False</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.CoreUtility, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.CoreUtility.15.0.26201\lib\net45\Microsoft.VisualStudio.CoreUtility.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Imaging, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Imaging.15.0.26201\lib\net45\Microsoft.VisualStudio.Imaging.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.OLE.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\Microsoft.VisualStudio.OLE.Interop.7.10.6071\lib\Microsoft.VisualStudio.OLE.Interop.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.15.0, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.15.0.15.0.26201\lib\Microsoft.VisualStudio.Shell.15.0.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Framework, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Framework.15.0.26201\lib\net45\Microsoft.VisualStudio.Shell.Framework.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Interop.7.10.6071\lib\Microsoft.VisualStudio.Shell.Interop.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Interop.10.0.10.0.30319\lib\Microsoft.VisualStudio.Shell.Interop.10.0.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Interop.11.0.11.0.61030\lib\Microsoft.VisualStudio.Shell.Interop.11.0.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Interop.12.0.12.0.30110\lib\Microsoft.VisualStudio.Shell.Interop.12.0.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Interop.8.0.8.0.50727\lib\Microsoft.VisualStudio.Shell.Interop.8.0.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\Microsoft.VisualStudio.Shell.Interop.9.0.9.0.30729\lib\Microsoft.VisualStudio.Shell.Interop.9.0.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.TextManager.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\Microsoft.VisualStudio.TextManager.Interop.7.10.6070\lib\Microsoft.VisualStudio.TextManager.Interop.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.TextManager.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <HintPath>..\packages\Microsoft.VisualStudio.TextManager.Interop.8.0.8.0.50727\lib\Microsoft.VisualStudio.TextManager.Interop.8.0.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Threading, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Threading.15.0.240\lib\net45\Microsoft.VisualStudio.Threading.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Utilities, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Utilities.15.0.26201\lib\net45\Microsoft.VisualStudio.Utilities.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.Validation, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\packages\Microsoft.VisualStudio.Validation.15.0.82\lib\net45\Microsoft.VisualStudio.Validation.dll</HintPath>
+ </Reference>
+ <Reference Include="stdole, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <EmbedInteropTypes>False</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Design" />
+ <Reference Include="System.Drawing" />
+ <Reference Include="System.Windows.Forms" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="packages.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Content Include="Resources\AsyncQuickInfoDemoPackage.ico" />
+ <None Include="source.extension.vsixmanifest">
+ <SubType>Designer</SubType>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="VSPackage.resx">
+ <MergeWithCTO>true</MergeWithCTO>
+ <ManifestResourceName>VSPackage</ManifestResourceName>
+ </EmbeddedResource>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\AsyncQuickInfoDemo\AsyncQuickInfoDemo.csproj">
+ <Project>{A8C6A9ED-4C62-420E-B7AC-1A6936A8A523}</Project>
+ <Name>AsyncQuickInfoDemo</Name>
+ <IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
+ <IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <Import Project="$(VSToolsPath)\VSSDK\Microsoft.VsSDK.targets" Condition="'$(VSToolsPath)' != ''" />
+ <Import Project="..\packages\Microsoft.VisualStudio.SDK.EmbedInteropTypes.15.0.10\build\Microsoft.VisualStudio.SDK.EmbedInteropTypes.targets" Condition="Exists('..\packages\Microsoft.VisualStudio.SDK.EmbedInteropTypes.15.0.10\build\Microsoft.VisualStudio.SDK.EmbedInteropTypes.targets')" />
+ <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+ <PropertyGroup>
+ <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
+ </PropertyGroup>
+ <Error Condition="!Exists('..\packages\Microsoft.VisualStudio.SDK.EmbedInteropTypes.15.0.10\build\Microsoft.VisualStudio.SDK.EmbedInteropTypes.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.VisualStudio.SDK.EmbedInteropTypes.15.0.10\build\Microsoft.VisualStudio.SDK.EmbedInteropTypes.targets'))" />
+ <Error Condition="!Exists('..\packages\Microsoft.VSSDK.BuildTools.15.6.152\build\Microsoft.VSSDK.BuildTools.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.VSSDK.BuildTools.15.6.152\build\Microsoft.VSSDK.BuildTools.props'))" />
+ <Error Condition="!Exists('..\packages\Microsoft.VSSDK.BuildTools.15.6.152\build\Microsoft.VSSDK.BuildTools.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.VSSDK.BuildTools.15.6.152\build\Microsoft.VSSDK.BuildTools.targets'))" />
+ </Target>
+ <Import Project="..\packages\Microsoft.VSSDK.BuildTools.15.6.152\build\Microsoft.VSSDK.BuildTools.targets" Condition="Exists('..\packages\Microsoft.VSSDK.BuildTools.15.6.152\build\Microsoft.VSSDK.BuildTools.targets')" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project> \ No newline at end of file
diff --git a/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/AsyncQuickInfoDemoPackage.cs b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/AsyncQuickInfoDemoPackage.cs
new file mode 100644
index 0000000..030bb85
--- /dev/null
+++ b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/AsyncQuickInfoDemoPackage.cs
@@ -0,0 +1,37 @@
+namespace AsyncQuickInfoDemo.VSWindows
+{
+ using System;
+ using System.Diagnostics.CodeAnalysis;
+ using System.Runtime.InteropServices;
+ using Microsoft.VisualStudio.Shell;
+
+ [PackageRegistration(UseManagedResourcesOnly = true)]
+ [InstalledProductRegistration("#110", "#112", "1.0", IconResourceID = 400)] // Info on this package for Help/About
+ [Guid(AsyncQuickInfoDemoPackage.PackageGuidString)]
+ [SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1650:ElementDocumentationMustBeSpelledCorrectly", Justification = "pkgdef, VS and vsixmanifest are valid VS terms")]
+ public sealed class AsyncQuickInfoDemoPackage : Package
+ {
+ public const string PackageGuidString = "5f021ffd-c754-4f23-bdec-7eb7fc43ffdc";
+
+ public AsyncQuickInfoDemoPackage()
+ {
+ // Inside this method you can place any initialization code that does not require
+ // any Visual Studio service because at this point the package object is created but
+ // not sited yet inside Visual Studio environment. The place to do all the other
+ // initialization is the Initialize method.
+ }
+
+ #region Package Members
+
+ /// <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>
+ protected override void Initialize()
+ {
+ base.Initialize();
+ }
+
+ #endregion
+ }
+}
diff --git a/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/Properties/AssemblyInfo.cs b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..de208ac
--- /dev/null
+++ b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/Properties/AssemblyInfo.cs
@@ -0,0 +1,32 @@
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("AsyncQuickInfoDemo.VSWindows")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("AsyncQuickInfoDemo.VSWindows")]
+[assembly: AssemblyCopyright("")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/Resources/AsyncQuickInfoDemoPackage.ico b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/Resources/AsyncQuickInfoDemoPackage.ico
new file mode 100644
index 0000000..d323b07
--- /dev/null
+++ b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/Resources/AsyncQuickInfoDemoPackage.ico
Binary files differ
diff --git a/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/VSPackage.resx b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/VSPackage.resx
new file mode 100644
index 0000000..cb1495c
--- /dev/null
+++ b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/VSPackage.resx
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="110" xml:space="preserve">
+ <value>Async Quick Info Demo Extension</value>
+ </data>
+ <data name="112" xml:space="preserve">
+ <value>Demonstrates xPlat Async Quick Info in Visual Studio</value>
+ </data>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="400" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>Resources\AsyncQuickInfoDemoPackage.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/packages.config b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/packages.config
new file mode 100644
index 0000000..b5f0418
--- /dev/null
+++ b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/packages.config
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="Microsoft.VSSDK.BuildTools" version="15.6.152" targetFramework="net46" developmentDependency="true" />
+</packages> \ No newline at end of file
diff --git a/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/source.extension.vsixmanifest b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/source.extension.vsixmanifest
new file mode 100644
index 0000000..25eab83
--- /dev/null
+++ b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.VSWindows/source.extension.vsixmanifest
@@ -0,0 +1,21 @@
+<?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="5f021ffd-c754-4f23-bdec-7eb7fc43ffdc" Version="1.0" Language="en-US" Publisher="Christian Gunderman" />
+ <DisplayName>Async Quick Info Demo</DisplayName>
+ <Description xml:space="preserve">Demonstrates xPlat Async Quick Info in Visual Studio</Description>
+ </Metadata>
+ <Installation>
+ <InstallationTarget Version="[15.0,)" Id="Microsoft.VisualStudio.Community" />
+ </Installation>
+ <Dependencies>
+ <Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" d:Source="Manual" Version="[4.5,)" />
+ </Dependencies>
+ <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="AsyncQuickInfoDemo" Path="|AsyncQuickInfoDemo|" />
+ </Assets>
+ <Prerequisites>
+ <Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[15.6.27309.0,16.0)" DisplayName="Visual Studio core editor" />
+ </Prerequisites>
+</PackageManifest>
diff --git a/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.sln b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.sln
new file mode 100644
index 0000000..4423a55
--- /dev/null
+++ b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo.sln
@@ -0,0 +1,48 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.27425.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AsyncQuickInfoDemo", "AsyncQuickInfoDemo\AsyncQuickInfoDemo.csproj", "{A8C6A9ED-4C62-420E-B7AC-1A6936A8A523}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AsyncQuickInfoDemo.VSWindows", "AsyncQuickInfoDemo.VSWindows\AsyncQuickInfoDemo.VSWindows.csproj", "{102F4DF7-E5FA-41C8-B7B8-52E04AE97CF2}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AsyncQuickInfoDemo.VSMac", "AsyncQuickInfoDemo.VSMac\AsyncQuickInfoDemo.VSMac.csproj", "{399A03DA-FB4D-4E82-B65E-21E647C94A4D}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU - Mac = Debug|Any CPU - Mac
+ Debug|Any CPU - Windows = Debug|Any CPU - Windows
+ Release|Any CPU - Mac = Release|Any CPU - Mac
+ Release|Any CPU - Windows = Release|Any CPU - Windows
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {A8C6A9ED-4C62-420E-B7AC-1A6936A8A523}.Debug|Any CPU - Mac.ActiveCfg = Debug|Any CPU
+ {A8C6A9ED-4C62-420E-B7AC-1A6936A8A523}.Debug|Any CPU - Mac.Build.0 = Debug|Any CPU
+ {A8C6A9ED-4C62-420E-B7AC-1A6936A8A523}.Debug|Any CPU - Windows.ActiveCfg = Debug|Any CPU
+ {A8C6A9ED-4C62-420E-B7AC-1A6936A8A523}.Debug|Any CPU - Windows.Build.0 = Debug|Any CPU
+ {A8C6A9ED-4C62-420E-B7AC-1A6936A8A523}.Release|Any CPU - Mac.ActiveCfg = Release|Any CPU
+ {A8C6A9ED-4C62-420E-B7AC-1A6936A8A523}.Release|Any CPU - Mac.Build.0 = Release|Any CPU
+ {A8C6A9ED-4C62-420E-B7AC-1A6936A8A523}.Release|Any CPU - Windows.ActiveCfg = Release|Any CPU
+ {A8C6A9ED-4C62-420E-B7AC-1A6936A8A523}.Release|Any CPU - Windows.Build.0 = Release|Any CPU
+ {102F4DF7-E5FA-41C8-B7B8-52E04AE97CF2}.Debug|Any CPU - Mac.ActiveCfg = Debug|Any CPU
+ {102F4DF7-E5FA-41C8-B7B8-52E04AE97CF2}.Debug|Any CPU - Windows.ActiveCfg = Debug|Any CPU
+ {102F4DF7-E5FA-41C8-B7B8-52E04AE97CF2}.Debug|Any CPU - Windows.Build.0 = Debug|Any CPU
+ {102F4DF7-E5FA-41C8-B7B8-52E04AE97CF2}.Release|Any CPU - Mac.ActiveCfg = Release|Any CPU
+ {102F4DF7-E5FA-41C8-B7B8-52E04AE97CF2}.Release|Any CPU - Windows.ActiveCfg = Release|Any CPU
+ {102F4DF7-E5FA-41C8-B7B8-52E04AE97CF2}.Release|Any CPU - Windows.Build.0 = Release|Any CPU
+ {399A03DA-FB4D-4E82-B65E-21E647C94A4D}.Debug|Any CPU - Mac.ActiveCfg = Debug|Any CPU
+ {399A03DA-FB4D-4E82-B65E-21E647C94A4D}.Debug|Any CPU - Mac.Build.0 = Debug|Any CPU
+ {399A03DA-FB4D-4E82-B65E-21E647C94A4D}.Debug|Any CPU - Windows.ActiveCfg = Debug|Any CPU
+ {399A03DA-FB4D-4E82-B65E-21E647C94A4D}.Release|Any CPU - Mac.ActiveCfg = Release|Any CPU
+ {399A03DA-FB4D-4E82-B65E-21E647C94A4D}.Release|Any CPU - Mac.Build.0 = Release|Any CPU
+ {399A03DA-FB4D-4E82-B65E-21E647C94A4D}.Release|Any CPU - Windows.ActiveCfg = Release|Any CPU
+ {399A03DA-FB4D-4E82-B65E-21E647C94A4D}.Release|Any CPU - Windows.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {4A9C904F-63F2-4ADB-8E6A-7DEDD29DBBF5}
+ EndGlobalSection
+EndGlobal
diff --git a/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo/AsyncQuickInfoDemo.csproj b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo/AsyncQuickInfoDemo.csproj
new file mode 100644
index 0000000..8d0d45a
--- /dev/null
+++ b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo/AsyncQuickInfoDemo.csproj
@@ -0,0 +1,17 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+ <PropertyGroup>
+ <TargetFramework>net46</TargetFramework>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <PackageReference Include="Microsoft.VisualStudio.Language" Version="15.6.391-preview-g3c4ef6e5fc" />
+ <PackageReference Include="Microsoft.VisualStudio.Language.StandardClassification" Version="15.6.391-preview-g3c4ef6e5fc" />
+ <PackageReference Include="Microsoft.VisualStudio.Text.UI" Version="15.6.391-preview-g3c4ef6e5fc" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <Reference Include="System.ComponentModel.Composition" />
+ </ItemGroup>
+
+</Project>
diff --git a/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo/EvenLineAsyncQuickInfoSource.cs b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo/EvenLineAsyncQuickInfoSource.cs
new file mode 100644
index 0000000..3ed4943
--- /dev/null
+++ b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo/EvenLineAsyncQuickInfoSource.cs
@@ -0,0 +1,83 @@
+namespace AsyncQuickInfoDemo
+{
+ using System;
+ using System.Threading;
+ using System.Threading.Tasks;
+ using Microsoft.VisualStudio.Core.Imaging;
+ using Microsoft.VisualStudio.Language.Intellisense;
+ using Microsoft.VisualStudio.Language.StandardClassification;
+ using Microsoft.VisualStudio.Text;
+ using Microsoft.VisualStudio.Text.Adornments;
+
+ internal sealed class EvenLineAsyncQuickInfoSource : IAsyncQuickInfoSource
+ {
+ // Copied from KnownMonikers, because Mono doesn't support ImageMoniker type.
+ private static readonly ImageId AssemblyWarningImageId = new ImageId(
+ new Guid("{ae27a6b0-e345-4288-96df-5eaf394ee369}"),
+ 200);
+
+ private ITextBuffer textBuffer;
+
+ public EvenLineAsyncQuickInfoSource(ITextBuffer textBuffer)
+ {
+ this.textBuffer = textBuffer;
+ }
+
+ public void Dispose()
+ {
+ // This provider does not perform any cleanup.
+ }
+
+ public Task<QuickInfoItem> GetQuickInfoItemAsync(
+ IAsyncQuickInfoSession session,
+ CancellationToken cancellationToken)
+ {
+ var triggerPoint = session.GetTriggerPoint(this.textBuffer.CurrentSnapshot);
+ if (triggerPoint != null)
+ {
+ var line = triggerPoint.Value.GetContainingLine();
+ var lineNumber = triggerPoint.Value.GetContainingLine().LineNumber;
+ var lineSpan = this.textBuffer.CurrentSnapshot.CreateTrackingSpan(
+ line.Extent,
+ SpanTrackingMode.EdgeInclusive);
+
+ object content = null;
+
+ // Check if this is an even line.
+ if ((lineNumber % 2) == 1)
+ {
+ content = new ContainerElement(
+ ContainerElementStyle.Wrapped,
+ new ImageElement(AssemblyWarningImageId),
+ new ClassifiedTextElement(
+ new ClassifiedTextRun(PredefinedClassificationTypeNames.Keyword, "Even Or Odd: "),
+ new ClassifiedTextRun(PredefinedClassificationTypeNames.Identifier, "Even")));
+ }
+ else
+ {
+ content = new ContainerElement(
+ ContainerElementStyle.Wrapped,
+ new ImageElement(AssemblyWarningImageId),
+ new ClassifiedTextElement(
+ new ClassifiedTextRun(PredefinedClassificationTypeNames.Keyword, "Even Or Odd: "),
+ new ClassifiedTextRun(PredefinedClassificationTypeNames.Identifier, "Odd")));
+ }
+
+ var contentContainer = new ContainerElement(
+ ContainerElementStyle.Stacked,
+ content,
+ new ClassifiedTextElement(
+ new ClassifiedTextRun(
+ PredefinedClassificationTypeNames.Identifier,
+ "The current date and time is: " + DateTime.Now.ToString())));
+
+ return Task.FromResult(
+ new QuickInfoItem(
+ lineSpan,
+ contentContainer));
+ }
+
+ return Task.FromResult<QuickInfoItem>(null);
+ }
+ }
+} \ No newline at end of file
diff --git a/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo/EvenLineAsyncQuickInfoSourceProvider.cs b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo/EvenLineAsyncQuickInfoSourceProvider.cs
new file mode 100644
index 0000000..7339adb
--- /dev/null
+++ b/samples/AsyncQuickInfoDemo/AsyncQuickInfoDemo/EvenLineAsyncQuickInfoSourceProvider.cs
@@ -0,0 +1,19 @@
+namespace AsyncQuickInfoDemo
+{
+ using System.ComponentModel.Composition;
+ using Microsoft.VisualStudio.Text;
+ using Microsoft.VisualStudio.Language.Intellisense;
+ using Microsoft.VisualStudio.Utilities;
+
+ [Export(typeof(IAsyncQuickInfoSourceProvider))]
+ [Name("Even Line Async Quick Info Provider")]
+ [ContentType("any")]
+ [Order]
+ internal sealed class EvenLineAsyncQuickInfoSourceProvider : IAsyncQuickInfoSourceProvider
+ {
+ public IAsyncQuickInfoSource TryCreateQuickInfoSource(ITextBuffer textBuffer)
+ {
+ return new EvenLineAsyncQuickInfoSource(textBuffer);
+ }
+ }
+} \ No newline at end of file
diff --git a/samples/AsyncQuickInfoDemo/nuget.config b/samples/AsyncQuickInfoDemo/nuget.config
new file mode 100644
index 0000000..3320090
--- /dev/null
+++ b/samples/AsyncQuickInfoDemo/nuget.config
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <packageSources>
+ <clear />
+ <add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
+ <add key="vside.myget.org" value="https://vside.myget.org/F/vssdk/api/v3/index.json" protocolVersion="3" />
+ </packageSources>
+</configuration>
diff --git a/samples/Images/Completion.Mac.png b/samples/Images/Completion.Mac.png
new file mode 100644
index 0000000..e1a033b
--- /dev/null
+++ b/samples/Images/Completion.Mac.png
Binary files differ
diff --git a/samples/Images/Completion.Windows.png b/samples/Images/Completion.Windows.png
new file mode 100644
index 0000000..c2b29ca
--- /dev/null
+++ b/samples/Images/Completion.Windows.png
Binary files differ
diff --git a/samples/Images/QuickInfo.Mac.png b/samples/Images/QuickInfo.Mac.png
new file mode 100644
index 0000000..c3b42fb
--- /dev/null
+++ b/samples/Images/QuickInfo.Mac.png
Binary files differ
diff --git a/samples/Images/QuickInfo.Windows.png b/samples/Images/QuickInfo.Windows.png
new file mode 100644
index 0000000..d630250
--- /dev/null
+++ b/samples/Images/QuickInfo.Windows.png
Binary files differ
diff --git a/samples/README.md b/samples/README.md
new file mode 100644
index 0000000..b7b36a1
--- /dev/null
+++ b/samples/README.md
@@ -0,0 +1,69 @@
+# vs-xplat-extensibility-samples
+Unified extensibility samples that work on Visual Studio for Windows and Visual Studio for Mac
+
+## Async Quick Info
+
+Displays a quick info entry on hover indicating the current time and whether the line
+is at an even or odd numbered offset.
+
+This project demonstrates code reuse when dual targeting VS for Windows and VS for Mac.
+
+- AsyncQuickInfoDemo: Common binaries built and run on both VS for Windows and VS for Mac.
+- AsyncQuickInfoDemo.VSWindows: VS VSIX project that packages AsyncQuickInfoDemo for VS for Windows.
+- AsyncQuickInfoDemo.VSMac: VS VSIX project that packages AsyncQuickInfoDemo for VS for Mac.
+
+**Visual Studio for Windows:**
+
+![](Images/QuickInfo.Windows.png)
+
+- Requires Visual Studio 2017 15.6 Preview 4 or later
+- Requires VS extensibility workload
+- Open solution file, select 'Any CPU - Windows' Platform
+- Build
+- Set 'AsyncQuickInfoDemo.VSWindows' as the startup project.
+- Launch VS
+
+**Visual Studio for Mac:**
+
+![](Images/QuickInfo.Mac.png)
+
+- Requires Visual Studio for Mac 15.6
+- Requires Addin Maker
+- From the OS X terminal in the solution directory:
+ - run msbuild /t:restore
+ - run msbuild /t:build
+ - cd AsyncQuickInfoDemo.VSMac
+ - run msbuild /t:InstallAddin
+ - Launch VS for Mac
+
+## Async Completion
+
+Adds completion items to all C# completion sessions.
+Added items are "Hello", "World" and either "even" or "odd", depending on whether the line is at an even or odd numbered offset.
+
+This project demonstrates code reuse when dual targeting VS for Windows and VS for Mac.
+
+- HelloWorldCompletion: Common binaries built and run on both VS for Windows and VS for Mac.
+- HelloWorldCompletion.VSIX: VS extensibility project that packages HelloWorldCompletion for VS for Windows.
+- HelloWorldCompletion.Mac: AddIn project that packages HelloWorldCompletion for VS for Mac.
+
+**Visual Studio for Windows:**
+
+![](Images/Completion.Windows.png)
+
+- Requires Visual Studio 2019
+- Requires VS extensibility workload
+- Open solution file, select 'Any CPU - Windows' Platform
+- Build
+- Set 'HelloWorldCompletion.VSIX' as the startup project.
+- Launch VS and open C# file
+
+**Visual Studio for Mac:**
+
+![](Images/Completion.Mac.png)
+
+- Requires Visual Studio for Mac 15.7
+- Requires Addin Maker
+- Open solution file, build
+- Run 'HelloWorldCompletion.Mac'
+- Open C# file