Files
sqltoolsservice/src/Microsoft.SqlTools.ServiceLayer/SqlContext/IntelliSenseSettings.cs
Kevin Cunnane 2a5ae06f12 Support "SQL" settings in addition to MSSQL (#398)
* Support "SQL" settings in addition to MSSQL
- Handles having 2 separate configuration definitions and merging / treating them as 1 throughout the app
- If a settings group such as Intellisense is defined on mssql, it will override any generic SQL properties
- Retains backwards compatibility with existing settings.
2017-06-29 17:03:11 -07:00

69 lines
2.3 KiB
C#

//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
namespace Microsoft.SqlTools.ServiceLayer.SqlContext
{
/// <summary>
/// Class for serialization and deserialization of IntelliSense settings
/// </summary>
public class IntelliSenseSettings
{
/// <summary>
/// Initialize the IntelliSense settings defaults
/// </summary>
public IntelliSenseSettings()
{
this.EnableIntellisense = true;
this.EnableSuggestions = true;
this.LowerCaseSuggestions = false;
this.EnableErrorChecking = true;
this.EnableQuickInfo = true;
}
/// <summary>
/// Gets or sets a flag determining if IntelliSense is enabled
/// </summary>
/// <returns></returns>
public bool EnableIntellisense { get; set; }
/// <summary>
/// Gets or sets a flag determining if suggestions are enabled
/// </summary>
/// <returns></returns>
public bool? EnableSuggestions { get; set; }
/// <summary>
/// Gets or sets a flag determining if built-in suggestions should be lowercase
/// </summary>
public bool? LowerCaseSuggestions { get; set; }
/// <summary>
/// Gets or sets a flag determining if diagnostics are enabled
/// </summary>
public bool? EnableErrorChecking { get; set; }
/// <summary>
/// Gets or sets a flag determining if quick info is enabled
/// </summary>
public bool? EnableQuickInfo { get; set; }
/// <summary>
/// Update the Intellisense settings
/// </summary>
/// <param name="settings"></param>
public void Update(IntelliSenseSettings settings)
{
if (settings != null)
{
this.EnableIntellisense = settings.EnableIntellisense;
this.EnableSuggestions = settings.EnableSuggestions;
this.LowerCaseSuggestions = settings.LowerCaseSuggestions;
this.EnableErrorChecking = settings.EnableErrorChecking;
this.EnableQuickInfo = settings.EnableQuickInfo;
}
}
}
}