Enable Quick Info hover tooltips (#65)

Pushing to include in tomorrow's partner release build.  Please send me any feedback and I'll address in the next Intellisense PR.
This commit is contained in:
Karl Burtram
2016-09-26 20:11:26 -07:00
committed by GitHub
parent 8b6e15a43b
commit 3777cceb57
14 changed files with 241 additions and 182 deletions

View File

@@ -13,6 +13,7 @@ using Microsoft.SqlServer.Management.SqlParser.Common;
using Microsoft.SqlServer.Management.SqlParser.Intellisense;
using Microsoft.SqlServer.Management.SqlParser.MetadataProvider;
using Microsoft.SqlServer.Management.SqlParser.Parser;
using Microsoft.SqlTools.ServiceLayer.SqlContext;
namespace Microsoft.SqlTools.ServiceLayer.LanguageServices
{
@@ -27,6 +28,12 @@ namespace Microsoft.SqlTools.ServiceLayer.LanguageServices
private ServerConnection serverConnection;
private Lazy<MetadataDisplayInfoProvider> metadataDisplayInfoProvider = new Lazy<MetadataDisplayInfoProvider>(() =>
{
var infoProvider = new MetadataDisplayInfoProvider();
return infoProvider;
});
/// <summary>
/// Event which tells if MetadataProvider is built fully or not
/// </summary>
@@ -141,13 +148,31 @@ namespace Microsoft.SqlTools.ServiceLayer.LanguageServices
/// <summary>
/// Gets or sets the SMO metadata display info provider
/// </summary>
public MetadataDisplayInfoProvider MetadataDisplayInfoProvider { get; set; }
public MetadataDisplayInfoProvider MetadataDisplayInfoProvider
{
get
{
return this.metadataDisplayInfoProvider.Value;
}
}
/// <summary>
/// Gets or sets the current autocomplete suggestion list
/// </summary>
public IEnumerable<Declaration> CurrentSuggestions { get; set; }
/// <summary>
/// Update parse settings if the current configuration has changed
/// </summary>
/// <param name="settings"></param>
public void OnSettingsChanged(SqlToolsSettings settings)
{
this.MetadataDisplayInfoProvider.BuiltInCasing =
settings.SqlTools.IntelliSense.LowerCaseSuggestions.Value
? CasingStyle.Lowercase
: CasingStyle.Uppercase;
}
/// <summary>
/// Gets the database compatibility level from a server version
/// </summary>